1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
|
* These test numbers can be generated without rounding if we have IEEE
* floating point numbers, thus we can use == on them.
*/
TEST(@"-[floatValue]",
C(@"\t-0.25 ").floatValue == -0.25 &&
C(@"\r\n\tINF\t\n").floatValue == INFINITY &&
C(@"\r -INFINITY\n").floatValue == -INFINITY &&
isnan(C(@" NAN\t\t").floatValue))
#if !defined(OF_ANDROID) && !defined(OF_SOLARIS) && !defined(OF_DJGPP) && \
!defined(OF_AMIGAOS_M68K)
# define INPUT @"\t-0x1.FFFFFFFFFFFFFP-1020 "
# define EXPECTED -0x1.FFFFFFFFFFFFFP-1020
#else
/* Android, Solaris, DJGPP and AmigaOS3 do not accept 0x for strtod() */
# if (!defined(OF_SOLARIS) || !defined(OF_X86)) && !defined(OF_AMIGAOS_M68K)
# define INPUT @"\t-0.123456789 "
# define EXPECTED -0.123456789
# else
/*
* Solaris' strtod() has weird rounding on x86, but not on x86_64.
* AmigaOS 3 with libnix has weird rounding as well.
|
|
>
|
|
|
|
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
|
* These test numbers can be generated without rounding if we have IEEE
* floating point numbers, thus we can use == on them.
*/
TEST(@"-[floatValue]",
C(@"\t-0.25 ").floatValue == -0.25 &&
C(@"\r\n\tINF\t\n").floatValue == INFINITY &&
C(@"\r -INFINITY\n").floatValue == -INFINITY &&
isnan(C(@" NAN\t\t").floatValue) &&
isnan(C(@" -NaN\t\t").floatValue))
#if !defined(OF_ANDROID) && !defined(OF_SOLARIS) && !defined(OF_HPUX) && \
!defined(OF_DJGPP) && !defined(OF_AMIGAOS_M68K)
# define INPUT @"\t-0x1.FFFFFFFFFFFFFP-1020 "
# define EXPECTED -0x1.FFFFFFFFFFFFFP-1020
#else
/* Android, Solaris, HP-UX, DJGPP and AmigaOS 3 do not accept 0x for strtod() */
# if (!defined(OF_SOLARIS) || !defined(OF_X86)) && !defined(OF_AMIGAOS_M68K)
# define INPUT @"\t-0.123456789 "
# define EXPECTED -0.123456789
# else
/*
* Solaris' strtod() has weird rounding on x86, but not on x86_64.
* AmigaOS 3 with libnix has weird rounding as well.
|