diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | locale/programs/ld-ctype.c | 10 | ||||
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 63 |
3 files changed, 61 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog index 0f04a21d07..f0d25372c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 1999-11-21 Ulrich Drepper <drepper@cygnus.com> + * sysdeps/i386/fpu/libm-test-ulps: Increase error value for latest + gcc version. + * locale/programs/ld-ctype.c (ctype_read): Correctly implement 14652-style definition of new maps and classes. diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index d9a560783f..29ef15d0a5 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -1790,9 +1790,11 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result, } } else - class_bit = _ISwbit (cnt); + { + class_bit = _ISwbit (cnt); - free (now->val.str.startmb); + free (now->val.str.startmb); + } } else if (now->tok == tok_digit) goto handle_tok_digit; @@ -2070,7 +2072,9 @@ with character code range values one must use the absolute ellipsis `...'")); if (strcmp (now->val.str.startmb, ctype->mapnames[cnt]) == 0) break; - if (cnt >= ctype->map_collection_nr) + if (cnt < ctype->map_collection_nr) + free (now->val.str.startmb); + else /* OK, it's a new map. */ ctype_map_new (ldfile, ctype, now->val.str.startmb, charmap); diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 92035cb9a5..5f7551ae42 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -579,6 +579,11 @@ ifloat: 1 ildouble: 4096 ldouble: 4096 +# gamma +Test "gamma (-0.5) == log(2*sqrt(pi))": +double: 1 +idouble: 1 + # hypot Test "hypot (-0.7, -12.4) == 12.41974234837422060118": float: 1 @@ -624,6 +629,8 @@ ifloat: 1 Test "j0 (2.0) == 0.22389077914123566805": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "j0 (8.0) == 0.17165080713755390609": float: 1 ifloat: 1 @@ -632,6 +639,8 @@ ifloat: 1 Test "j1 (10.0) == 0.043472746168861436670": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "j1 (2.0) == 0.57672480775687338720": double: 1 idouble: 1 @@ -646,12 +655,16 @@ ifloat: 1 Test "jn (0, 2.0) == 0.22389077914123566805": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "jn (0, 8.0) == 0.17165080713755390609": float: 1 ifloat: 1 Test "jn (1, 10.0) == 0.043472746168861436670": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "jn (1, 2.0) == 0.57672480775687338720": double: 1 idouble: 1 @@ -668,6 +681,11 @@ double: 3 float: 1 idouble: 3 ifloat: 1 +Test "jn (10, 2.0) == 0.25153862827167367096e-6": +float: 1 +ifloat: 1 +double: 1 +idouble: 1 Test "jn (10, 10.0) == 0.20748610663335885770": float: 1 ifloat: 1 @@ -682,6 +700,9 @@ float: 1 ifloat: 1 # lgamma +Test "lgamma (-0.5) == log(2*sqrt(pi))": +double: 1 +idouble: 1 Test "lgamma (0.7) == 0.26086724653166651439": double: 1 float: 1 @@ -804,9 +825,9 @@ ldouble: 521 # tgamma Test "tgamma (-0.5) == -2 sqrt (pi)": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Test "tgamma (0.5) == sqrt (pi)": float: 1 @@ -834,12 +855,17 @@ ifloat: 1 Test "y0 (1.5) == 0.38244892379775884396": float: 1 ifloat: 1 +Test "y0 (2.0) == 0.51037567264974511960": +double: 1 +idouble: 1 Test "y0 (10.0) == 0.055671167283599391424": float: 1 ifloat: 1 Test "y0 (8.0) == 0.22352148938756622053": float: 1 ifloat: 1 +double: 1 +idouble: 1 # y1 Test "y1 (0.1) == -6.4589510947020269877": @@ -857,9 +883,9 @@ Test "y1 (1.5) == -0.41230862697391129595": float: 1 ifloat: 1 Test "y1 (10.0) == 0.24901542420695388392": -double: 2 +double: 3 float: 2 -idouble: 2 +idouble: 3 ifloat: 2 Test "y1 (2.0) == -0.10703243154093754689": double: 1 @@ -887,12 +913,17 @@ ifloat: 1 Test "yn (0, 1.5) == 0.38244892379775884396": float: 1 ifloat: 1 +Test "yn (0, 2.0) == 0.51037567264974511960": +double: 1 +idouble: 1 Test "yn (0, 10.0) == 0.055671167283599391424": float: 1 ifloat: 1 Test "yn (0, 8.0) == 0.22352148938756622053": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "yn (1, 0.1) == -6.4589510947020269877": double: 1 float: 1 @@ -908,9 +939,9 @@ Test "yn (1, 1.5) == -0.41230862697391129595": float: 1 ifloat: 1 Test "yn (1, 10.0) == 0.24901542420695388392": -double: 2 +double: 3 float: 2 -idouble: 2 +idouble: 3 ifloat: 2 Test "yn (1, 2.0) == -0.10703243154093754689": double: 1 @@ -934,13 +965,15 @@ Test "yn (10, 1.0) == -0.12161801427868918929e9": float: 1 ifloat: 1 Test "yn (10, 10.0) == -0.35981415218340272205": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Test "yn (10, 2.0) == -129184.54220803928264": float: 1 ifloat: 1 +double: 1 +idouble: 1 Test "yn (3, 0.1) == -5099.3323786129048894": double: 1 float: 1 @@ -1265,6 +1298,10 @@ ifloat: 1 ildouble: 4096 ldouble: 4096 +Function: "gamma": +double: 1 +idouble: 1 + Function: "hypot": double: 1 float: 1 @@ -1274,6 +1311,8 @@ ldouble: 560 Function: "j0": float: 1 ifloat: 1 +double: 1 +idouble: 1 Function: "j1": double: 1 @@ -1362,9 +1401,9 @@ ildouble: 521 ldouble: 521 Function: "tgamma": -double: 1 +double: 2 float: 1 -idouble: 1 +idouble: 2 ifloat: 1 Function: "y0": @@ -1374,9 +1413,9 @@ idouble: 2 ifloat: 1 Function: "y1": -double: 2 +double: 3 float: 2 -idouble: 2 +idouble: 3 ifloat: 2 Function: "yn": |