47 |
|
|
48 |
#include <math.h> |
#include <math.h> |
49 |
#include <ctype.h> |
#include <ctype.h> |
50 |
|
#include <string.h> |
51 |
#include "libguile/_scm.h" |
#include "libguile/_scm.h" |
52 |
#include "libguile/feature.h" |
#include "libguile/feature.h" |
53 |
#include "libguile/ports.h" |
#include "libguile/ports.h" |
2794 |
} |
} |
2795 |
else |
else |
2796 |
{ |
{ |
2797 |
if (sign == -1) |
if (sign == -1 && SCM_FALSEP (scm_nan_p (ureal))) |
2798 |
ureal = scm_difference (ureal, SCM_UNDEFINED); |
ureal = scm_difference (ureal, SCM_UNDEFINED); |
2799 |
|
|
2800 |
if (idx == len) |
if (idx == len) |
2845 |
if (idx != len) |
if (idx != len) |
2846 |
return SCM_BOOL_F; |
return SCM_BOOL_F; |
2847 |
|
|
2848 |
if (sign == -1) |
if (sign == -1 && SCM_FALSEP (scm_nan_p (ureal))) |
2849 |
angle = scm_difference (angle, SCM_UNDEFINED); |
angle = scm_difference (angle, SCM_UNDEFINED); |
2850 |
|
|
2851 |
result = scm_make_polar (ureal, angle); |
result = scm_make_polar (ureal, angle); |
2865 |
|
|
2866 |
if (SCM_FALSEP (imag)) |
if (SCM_FALSEP (imag)) |
2867 |
imag = SCM_MAKINUM (sign); |
imag = SCM_MAKINUM (sign); |
2868 |
else if (sign == -1) |
else if (sign == -1 && SCM_FALSEP (scm_nan_p (ureal))) |
2869 |
imag = scm_difference (imag, SCM_UNDEFINED); |
imag = scm_difference (imag, SCM_UNDEFINED); |
2870 |
|
|
2871 |
if (idx == len) |
if (idx == len) |
3285 |
SCM_WTA_DISPATCH_2 (g_leq_p, x, y, SCM_ARG1, FUNC_NAME); |
SCM_WTA_DISPATCH_2 (g_leq_p, x, y, SCM_ARG1, FUNC_NAME); |
3286 |
else if (!SCM_NUMBERP (y)) |
else if (!SCM_NUMBERP (y)) |
3287 |
SCM_WTA_DISPATCH_2 (g_leq_p, x, y, SCM_ARG2, FUNC_NAME); |
SCM_WTA_DISPATCH_2 (g_leq_p, x, y, SCM_ARG2, FUNC_NAME); |
3288 |
|
else if (SCM_NFALSEP (scm_nan_p (x)) || SCM_NFALSEP (scm_nan_p (y))) |
3289 |
|
return SCM_BOOL_F; |
3290 |
else |
else |
3291 |
return SCM_BOOL_NOT (scm_less_p (y, x)); |
return SCM_BOOL_NOT (scm_less_p (y, x)); |
3292 |
} |
} |
3305 |
SCM_WTA_DISPATCH_2 (g_geq_p, x, y, SCM_ARG1, FUNC_NAME); |
SCM_WTA_DISPATCH_2 (g_geq_p, x, y, SCM_ARG1, FUNC_NAME); |
3306 |
else if (!SCM_NUMBERP (y)) |
else if (!SCM_NUMBERP (y)) |
3307 |
SCM_WTA_DISPATCH_2 (g_geq_p, x, y, SCM_ARG2, FUNC_NAME); |
SCM_WTA_DISPATCH_2 (g_geq_p, x, y, SCM_ARG2, FUNC_NAME); |
3308 |
|
else if (SCM_NFALSEP (scm_nan_p (x)) || SCM_NFALSEP (scm_nan_p (y))) |
3309 |
|
return SCM_BOOL_F; |
3310 |
else |
else |
3311 |
return SCM_BOOL_NOT (scm_less_p (x, y)); |
return SCM_BOOL_NOT (scm_less_p (x, y)); |
3312 |
} |
} |
3313 |
#undef FUNC_NAME |
#undef FUNC_NAME |
3314 |
|
|
4484 |
if (SCM_FIXABLE (lu)) { |
if (SCM_FIXABLE (lu)) { |
4485 |
return SCM_MAKINUM (lu); |
return SCM_MAKINUM (lu); |
4486 |
#ifdef SCM_BIGDIG |
#ifdef SCM_BIGDIG |
4487 |
} else if (isfinite (u)) { |
} else if (isfinite (u) && !xisnan (u)) { |
4488 |
return scm_i_dbl2big (u); |
return scm_i_dbl2big (u); |
4489 |
#endif |
#endif |
4490 |
} else { |
} else { |