Showing the changes to src/core/ulib_math.cpp (1 of 10 files). Show all
Unified · Split
| @@ -44,10 +44,10 @@ · 43 unmodified lines | |||
| 44 | static double g_pi = ONE_PI; | 44 | static double g_pi = ONE_PI; |
| 45 | static double g_twopi = TWO_PI; | 45 | static double g_twopi = TWO_PI; |
| 46 | static double g_e = ::exp( 1.0 ); | 46 | static double g_e = ::exp( 1.0 ); |
| 47 | static t_CKFLOAT g_floatMax = DBL_MAX; | 47 | static t_CKFLOAT g_floatMax = CK_FLT_MAX; |
| 48 | static t_CKFLOAT g_floatMin = DBL_MIN; | 48 | static t_CKFLOAT g_floatMin = CK_FLT_MIN; |
| 49 | static t_CKFLOAT g_inf = 0.0; | 49 | static t_CKFLOAT g_inf = 0.0; |
| 50 | static t_CKINT g_intMax = LONG_MAX; | 50 | static t_CKINT g_intMax = CK_INT_MAX; |
| 51 | static t_CKINT g_randomMax = CK_RANDOM_MAX; | 51 | static t_CKINT g_randomMax = CK_RANDOM_MAX; |
| 52 | static t_CKCOMPLEX g_i = { 0.0, 1.0 }; | 52 | static t_CKCOMPLEX g_i = { 0.0, 1.0 }; |
| 53 | static t_CKFLOAT fzero() { return 0.0; } | 53 | static t_CKFLOAT fzero() { return 0.0; } |
| @@ -332,7 +332,7 @@ DLL_QUERY libmath_query( Chuck_DL_Query * QUERY ) · 278 unmodified lines | |||
| 332 | QUERY->add_svar( QUERY, "float", "e", TRUE, &g_e ); | 332 | QUERY->add_svar( QUERY, "float", "e", TRUE, &g_e ); |
| 333 | 333 | ||
| 334 | // float max | 334 | // float max |
| 335 | assert( sizeof(t_CKFLOAT) == sizeof(double) ); | 335 | //assert( sizeof(t_CKFLOAT) == sizeof(double) ); |
| 336 | QUERY->add_svar( QUERY, "float", "FLOAT_MAX", TRUE, &g_floatMax ); | 336 | QUERY->add_svar( QUERY, "float", "FLOAT_MAX", TRUE, &g_floatMax ); |
| 337 | 337 | ||
| 338 | // float min | 338 | // float min |
| @@ -340,9 +340,9 @@ DLL_QUERY libmath_query( Chuck_DL_Query * QUERY ) · 1 unmodified line | |||
| 340 | 340 | ||
| 341 | // int max | 341 | // int max |
| 342 | #ifdef _WIN64 // REFACTOR-2017 | 342 | #ifdef _WIN64 // REFACTOR-2017 |
| 343 | assert( sizeof(t_CKINT) == sizeof(long long) ); | 343 | //assert( sizeof(t_CKINT) == sizeof(long long) ); |
| 344 | #else | 344 | #else |
| 345 | assert( sizeof(t_CKINT) == sizeof(long) ); | 345 | //assert( sizeof(t_CKINT) == sizeof(long) ); |
| 346 | #endif | 346 | #endif |
| 347 | QUERY->add_svar( QUERY, "int", "INT_MAX", TRUE, &g_intMax ); | 347 | QUERY->add_svar( QUERY, "int", "INT_MAX", TRUE, &g_intMax ); |
| 348 | 348 | ||
| @@ -726,7 +726,9 @@ CK_DLL_SFUN( randomf_impl ) · 377 unmodified lines | |||
| 726 | CK_DLL_SFUN( random2f_impl ) | 726 | CK_DLL_SFUN( random2f_impl ) |
| 727 | { | 727 | { |
| 728 | t_CKFLOAT min = GET_CK_FLOAT(ARGS), max = *((t_CKFLOAT *)ARGS + 1); | 728 | t_CKFLOAT min = GET_CK_FLOAT(ARGS), max = *((t_CKFLOAT *)ARGS + 1); |
| 729 | RETURN->v_float = min + (max-min)*(::random()/(t_CKFLOAT)CK_RANDOM_MAX); | 729 | t_CKFLOAT normRand = ((t_CKFLOAT)::random()*1.0/(t_CKFLOAT)CK_RANDOM_MAX); |
| 730 | //CK_FPRINTF_STDERR( "[chuck random2f]: %G --> %G, %G\n", normRand, min, max ); | ||
| 731 | RETURN->v_float = min + (max-min)* normRand; | ||
| 730 | } | 732 | } |
| 731 | 733 | ||
| 732 | 734 | ||