mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2025-01-16 20:32:57 +00:00
Update release notes and tests to reflect recent SysFloat changes.
This commit is contained in:
parent
5b294721f2
commit
966da239ee
@ -155,15 +155,13 @@ int main(void) {
|
||||
expect_exact(cosh(+INFINITY), +INFINITY);
|
||||
expect_exact(coshf(-INFINITY), +INFINITY);
|
||||
expect_overflow(coshl(LDBL_MAX), +INFINITY);
|
||||
feclearexcept(FE_ALL_EXCEPT); // ORCA/C cosh bug workaround
|
||||
expect_approx(coshl(1.0), 1.543080634815243778546L);
|
||||
feclearexcept(FE_ALL_EXCEPT); // ORCA/C cosh bug workaround
|
||||
expect_approx(coshl(-10.0), 11013.23292010332313939L);
|
||||
|
||||
expect_exact(sinh(+0.0), +0.0);
|
||||
expect_exact(sinhf(-0.0), -0.0);
|
||||
//expect_exact(sinh(+INFINITY), +INFINITY); // ORCA/C gives a NAN
|
||||
//expect_exact(sinhf(-INFINITY), -INFINITY); // ORCA/C gives a NAN
|
||||
expect_exact(sinh(+INFINITY), +INFINITY);
|
||||
expect_exact(sinhf(-INFINITY), -INFINITY);
|
||||
expect_approx(sinhl(1.25), 1.601919080300825637951L);
|
||||
expect_approx(sinhl(-20.0), -242582597.704895138042L);
|
||||
|
||||
@ -535,14 +533,14 @@ int main(void) {
|
||||
|
||||
expect_exact(fmod(+0.0, 10.0), +0.0);
|
||||
expect_exact(fmodf(-0.0, 10.0), -0.0);
|
||||
//expect_domain_error(fmodl(INFINITY, 10.0)); // no "invalid" in ORCA/C
|
||||
expect_domain_error(fmodl(INFINITY, 10.0));
|
||||
expect_nan(fmodl(INFINITY, 10.0));
|
||||
//expect_domain_error(fmod(1.0, 0.0)); // gives 1 in ORCA/C
|
||||
expect_domain_error(fmod(1.0, 0.0));
|
||||
//expect_exact(fmodl(1.25, +INFINITY), 1.25); //gives NAN in ORCA/C
|
||||
expect_exact(fmodl(11.5, 3.0), 2.5);
|
||||
expect_exact(fmodl(-11.5, 3.0), -2.5);
|
||||
//expect_exact(fmodl(11.5, -3.0), 2.5); // gives -0.5 in ORCA/C
|
||||
//expect_exact(fmodl(-11.5, -3.0), -2.5); // gives -0.5 in ORCA/C
|
||||
expect_exact(fmodl(11.5, -3.0), 2.5);
|
||||
expect_exact(fmodl(-11.5, -3.0), -2.5);
|
||||
|
||||
expect_exact(remainder(+0.0, 10.0), +0.0);
|
||||
expect_exact(remainderf(-0.0, 10.0), -0.0);
|
||||
@ -634,10 +632,10 @@ int main(void) {
|
||||
|
||||
expect_exact(strtod("-1.25e+3x", &p), -1250.0); expect_exact(*p, 'x');
|
||||
expect_exact(strtold("-InFin", &p), -INFINITY); expect_exact(*p, 'i');
|
||||
expect_exact(strtof("INFiniTy", &p), INFINITY); //expect_exact(*p, 0);
|
||||
expect_exact(strtof("INFiniTy", &p), INFINITY); expect_exact(*p, 0);
|
||||
expect_nan(strtod("nAN", NULL));
|
||||
expect_nan(strtof("-naN(50)", NULL));
|
||||
//expect_exact(strtold("0xa.8p+2", NULL), 42.0);
|
||||
expect_exact(strtold("0xa.8p+2", NULL), 42.0);
|
||||
|
||||
printf ("Passed Conformance Test c99math\n");
|
||||
return 0;
|
||||
|
14
cc.notes
14
cc.notes
@ -2223,6 +2223,20 @@ int foo(int[42]);
|
||||
|
||||
259. If an error was encountered when processing a floating-point conversion directive with assignment suppressed, the scanf() family of functions might not return the correct value.
|
||||
|
||||
260. When using the g or G conversion specifiers in the fprintf() family of functions, the number zero could sometimes be printed in an exponential format like "0e+00". It should be printed in a non-exponential format like "0".
|
||||
|
||||
261. Several <math.h> functions could set errno inappropriately, based on a previous floating-point math operation rather than the current operation.
|
||||
|
||||
262. If a domain or range error had occurred in any previous floating-point operation, sinh() and cosh() calls might return the wrong values.
|
||||
|
||||
(William K. Watts, Jr.)
|
||||
|
||||
263. The sqrt() function would set errno to ERANGE if its argument was negative. This is a domain error, so it should set errno to EDOM in this case.
|
||||
|
||||
(William K. Watts, Jr.)
|
||||
|
||||
264. The fmod() function could return the wrong value when the second argument was negative.
|
||||
|
||||
-- Bugs from C 2.1.0 that have been fixed -----------------------------------
|
||||
|
||||
1. In some situations, fread() reread the first 1K or so of the file.
|
||||
|
Loading…
x
Reference in New Issue
Block a user