#> #if defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__cplusplus) # define C_inline inline static #else # define C_inline static #endif C_word C_double_to_number(C_word n) { double m, f = C_flonum_magnitude(n); if(f <= (double)C_MOST_POSITIVE_FIXNUM && f >= (double)C_MOST_NEGATIVE_FIXNUM && C_modf(f, &m) == 0.0) return C_fix(f); else return n; } <#