public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] ppc ulps fixes
@ 2006-01-30 16:41 Jakub Jelinek
  2006-01-30 17:16 ` Steve Munroe
  2006-01-30 22:31 ` Roland McGrath
  0 siblings, 2 replies; 3+ messages in thread
From: Jakub Jelinek @ 2006-01-30 16:41 UTC (permalink / raw)
  To: Roland McGrath; +Cc: Glibc hackers

Hi!

I think it is better to merge ulps results rather than regenerate, that way
we don't suddenly start getting many errors when using slightly older
compilers.
Also, I think it is a bad idea to put
ldouble: 17987982955981951215498976719132
and similar into the libm-test-ulps file, only the ulps we want to tolerate
(< 10, < 12 or something like that).

2006-01-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/fpu/libm-test-ulps: Merge ulps with older libm-test-ulps
	rather than overwrite it.  Remove excessively high ulps.

--- libc/sysdeps/powerpc/fpu/libm-test-ulps.jj	2006-01-29 21:10:24.000000000 +0100
+++ libc/sysdeps/powerpc/fpu/libm-test-ulps	2006-01-30 08:35:39.000000000 +0100
@@ -37,9 +37,16 @@ ildouble: 1
 ldouble: 1
 
 # cacosh
+Test "Real part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
+double: 1
+float: 7
+idouble: 1
+ifloat: 7
 Test "Imaginary part of: cacosh (-2 - 3 i) == 1.9833870299165354323470769028940395 - 2.1414491111159960199416055713254211 i":
-float: 1
-ifloat: 1
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
 
 # casin
 Test "Real part of: casin (-2 - 3 i) == -0.57065278432109940071028387968566963 - 1.9833870299165354323470769028940395 i":
@@ -77,6 +84,8 @@ ifloat: 1
 
 # catan
 Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
+float: 3
+ifloat: 3
 ildouble: 1
 ldouble: 1
 Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
@@ -84,14 +93,23 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
+Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
+float: 4
+ifloat: 4
 
 # catanh
 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
 double: 4
 idouble: 4
+Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
+float: 4
+ifloat: 4
 Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
 double: 1
 idouble: 1
+Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
+float: 6
+ifloat: 6
 
 # cbrt
 Test "cbrt (-27.0) == -3.0":
@@ -149,6 +167,8 @@ ldouble: 1
 
 # clog
 Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
+float: 3
+ifloat: 3
 ildouble: 1
 ldouble: 1
 Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
@@ -177,7 +197,9 @@ ildouble: 1
 ldouble: 1
 Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
 double: 1
+float: 5
 idouble: 1
+ifloat: 5
 ildouble: 1
 ldouble: 1
 Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
@@ -276,12 +298,19 @@ ldouble: 1
 # cos
 Test "cos (M_PI_6l * 2.0) == 0.5":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "cos (M_PI_6l * 4.0) == -0.5":
 double: 2
 float: 1
 idouble: 2
 ifloat: 1
+Test "cos (pi/2) == 0":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 
 # cpow
 Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
@@ -352,6 +381,9 @@ float: 1
 ifloat: 1
 
 # ctan
+Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
+double: 1
+idouble: 1
 Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 ildouble: 1
 ldouble: 1
@@ -468,92 +500,68 @@ ifloat: 1
 # j0
 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-ildouble: 43515227266289159395415763648
-ldouble: 43515227266289159395415763648
+ifloat: 2
 Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
-ildouble: 17369667313819348747894233118595
-ldouble: 17369667313819348747894233118595
 Test "j0 (2.0) == 0.223890779141235668051827454649948626":
 float: 2
 ifloat: 2
 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-ildouble: 43515227266289159395415763648
-ldouble: 43515227266289159395415763648
+ifloat: 2
 Test "j0 (8.0) == 0.171650807137553906090869407851972001":
 float: 1
 ifloat: 1
-ildouble: 38324122909174090074461780712157
-ldouble: 38324122909174090074461780712157
 
 # j1
 Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
 float: 2
 ifloat: 2
-ildouble: 21475644881377747614143400473061
-ldouble: 21475644881377747614143400473061
 Test "j1 (2.0) == 0.576724807756873387202448242269137087":
 double: 1
 idouble: 1
 Test "j1 (8.0) == 0.234636346853914624381276651590454612":
 double: 1
 idouble: 1
-ildouble: 1790984160474480772420978558547
-ldouble: 1790984160474480772420978558547
 
 # jn
 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-ildouble: 43515227266289159395415763648
-ldouble: 43515227266289159395415763648
+ifloat: 2
 Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
-ildouble: 17369667313819348747894233118595
-ldouble: 17369667313819348747894233118595
 Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
 float: 2
 ifloat: 2
 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
-ildouble: 43515227266289159395415763648
-ldouble: 43515227266289159395415763648
+ifloat: 2
 Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
 float: 1
 ifloat: 1
-ildouble: 38324122909174090074461780712157
-ldouble: 38324122909174090074461780712157
 Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
 float: 2
 ifloat: 2
-ildouble: 21475644881377747614143400473061
-ldouble: 21475644881377747614143400473061
 Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
 double: 1
 idouble: 1
 Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
 double: 1
 idouble: 1
-ildouble: 1790984160474480772420978558547
-ldouble: 1790984160474480772420978558547
 Test "jn (10, -1.0) == 0.263061512368745320699785368779050294e-9":
 ildouble: 1
 ldouble: 1
@@ -575,8 +583,6 @@ ldouble: 1
 Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
 float: 1
 ifloat: 1
-ildouble: 24853547691922812960150086146551
-ldouble: 24853547691922812960150086146551
 Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
 float: 4
 ifloat: 4
@@ -596,11 +602,9 @@ ildouble: 1
 ldouble: 1
 Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
 double: 3
-float: 1
+float: 2
 idouble: 3
-ifloat: 1
-ildouble: 47549060992978485557887362065694
-ldouble: 47549060992978485557887362065694
+ifloat: 2
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
 double: 1
 float: 2
@@ -646,12 +650,19 @@ ldouble: 1
 # sincos
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
+Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
 Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
 float: 1
 ifloat: 1
@@ -663,6 +674,8 @@ ldouble: 1
 
 # tan
 Test "tan (pi/4) == 1":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
 
@@ -706,17 +719,18 @@ float: 1
 idouble: 2
 ifloat: 1
 Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 17987982955981951215498976719132
-ldouble: 17987982955981951215498976719132
+Test "y0 (2.0) == 0.510375672649745119596606592727157873":
+double: 1
+idouble: 1
 Test "y0 (8.0) == 0.223521489387566220527323400498620359":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 59420910818072525464695270081
-ldouble: 59420910818072525464695270081
 
 # y1
 Test "y1 (0.125) == -5.19993611253477499595928744876579921":
@@ -730,8 +744,6 @@ double: 3
 float: 1
 idouble: 3
 ifloat: 1
-ildouble: 17166751991147634677444869275635
-ldouble: 17166751991147634677444869275635
 Test "y1 (2.0) == -0.107032431540937546888370772277476637":
 double: 1
 float: 1
@@ -742,8 +754,6 @@ double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 3843427930176871148105186605483
-ldouble: 3843427930176871148105186605483
 
 # yn
 Test "yn (0, 0.75) == -0.137172769385772397522814379396581855":
@@ -762,30 +772,29 @@ float: 1
 idouble: 2
 ifloat: 1
 Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
-ildouble: 17987982955981951215498976719132
-ldouble: 17987982955981951215498976719132
+Test "yn (0, 2.0) == 0.510375672649745119596606592727157873":
+double: 1
+idouble: 1
 Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 59420910818072525464695270081
-ldouble: 59420910818072525464695270081
 Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
 double: 1
 idouble: 1
 Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
-float: 1
-ifloat: 1
+float: 2
+ifloat: 2
 Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
 double: 3
 float: 1
 idouble: 3
 ifloat: 1
-ildouble: 17166751991147634677444869275635
-ldouble: 17166751991147634677444869275635
 Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
 double: 1
 float: 1
@@ -796,8 +805,9 @@ double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 3843427930176871148105186605483
-ldouble: 3843427930176871148105186605483
+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
+double: 1
+idouble: 1
 Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
 double: 1
 idouble: 1
@@ -811,13 +821,13 @@ float: 2
 ifloat: 2
 Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
 double: 2
+float: 2
 idouble: 2
-ildouble: 799631964554876895122912847384
-ldouble: 799631964554876895122912847384
+ifloat: 2
 Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-double: 2
+double: 3
 float: 1
-idouble: 2
+idouble: 3
 ifloat: 1
 ildouble: 1
 ldouble: 1
@@ -832,8 +842,6 @@ double: 1
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 6997306768128814818664001056622
-ldouble: 6997306768128814818664001056622
 Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
 double: 1
 idouble: 1
@@ -878,12 +886,18 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "cacosh":
+double: 1
+float: 7
+idouble: 1
+ifloat: 7
 ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "cacosh":
-float: 1
-ifloat: 1
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
 
 Function: Real part of "casin":
 double: 1
@@ -914,6 +928,8 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "catan":
+float: 4
+ifloat: 4
 ildouble: 1
 ldouble: 1
 
@@ -929,6 +945,10 @@ Function: Real part of "catanh":
 double: 4
 idouble: 4
 
+Function: Imaginary part of "catanh":
+float: 6
+ifloat: 6
+
 Function: "cbrt":
 double: 1
 idouble: 1
@@ -982,6 +1002,8 @@ ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "clog":
+float: 3
+ifloat: 3
 ildouble: 1
 ldouble: 1
 
@@ -993,9 +1015,9 @@ ldouble: 2
 
 Function: Imaginary part of "clog10":
 double: 1
-float: 1
+float: 5
 idouble: 1
-ifloat: 1
+ifloat: 5
 ildouble: 1
 ldouble: 1
 
@@ -1060,6 +1082,8 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "ctan":
+double: 1
+idouble: 1
 ildouble: 1
 ldouble: 1
 
@@ -1130,28 +1154,22 @@ ildouble: 1
 ldouble: 1
 
 Function: "j0":
-double: 2
+double: 3
 float: 2
-idouble: 2
+idouble: 3
 ifloat: 2
-ildouble: 38324122909174090074461780712157
-ldouble: 38324122909174090074461780712157
 
 Function: "j1":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
-ildouble: 21475644881377747614143400473061
-ldouble: 21475644881377747614143400473061
 
 Function: "jn":
 double: 3
 float: 4
 idouble: 3
 ifloat: 4
-ildouble: 47549060992978485557887362065694
-ldouble: 47549060992978485557887362065694
 
 Function: "lgamma":
 double: 1
@@ -1226,23 +1244,17 @@ double: 2
 float: 1
 idouble: 2
 ifloat: 1
-ildouble: 17987982955981951215498976719132
-ldouble: 17987982955981951215498976719132
 
 Function: "y1":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
-ildouble: 3843427930176871148105186605483
-ldouble: 3843427930176871148105186605483
 
 Function: "yn":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
-ildouble: 3843427930176871148105186605483
-ldouble: 3843427930176871148105186605483
 
 # end of automatic generation

	Jakub

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ppc ulps fixes
  2006-01-30 16:41 [PATCH] ppc ulps fixes Jakub Jelinek
@ 2006-01-30 17:16 ` Steve Munroe
  2006-01-30 22:31 ` Roland McGrath
  1 sibling, 0 replies; 3+ messages in thread
From: Steve Munroe @ 2006-01-30 17:16 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Glibc hackers, Roland McGrath

Jakub Jelinek <jakub@redhat.com>  wrote on 01/30/2006 10:41:09 AM:

> Hi!
> 
> I think it is better to merge ulps results rather than regenerate, that 
way
> we don't suddenly start getting many errors when using slightly older
> compilers.
> Also, I think it is a bad idea to put
> ldouble: 17987982955981951215498976719132
> and similar into the libm-test-ulps file, only the ulps we want to 
tolerate
> (< 10, < 12 or something like that).
> 

I have a patch coming that fixes the underlying problems and the ppc ulps 
file. I'll send it as soon we complete the internal review.


Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ppc ulps fixes
  2006-01-30 16:41 [PATCH] ppc ulps fixes Jakub Jelinek
  2006-01-30 17:16 ` Steve Munroe
@ 2006-01-30 22:31 ` Roland McGrath
  1 sibling, 0 replies; 3+ messages in thread
From: Roland McGrath @ 2006-01-30 22:31 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Glibc hackers

> I think it is better to merge ulps results rather than regenerate, that way
> we don't suddenly start getting many errors when using slightly older
> compilers.

I must confess I didn't really know what to do with ulps updates, and I
don't think I had ever done one before.  I just did what seemed to be the
most obvious thing from README.libm-test.


Thanks,
Roland

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-01-30 22:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-30 16:41 [PATCH] ppc ulps fixes Jakub Jelinek
2006-01-30 17:16 ` Steve Munroe
2006-01-30 22:31 ` Roland McGrath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).