From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2851 invoked by alias); 30 Jan 2006 16:41:25 -0000 Received: (qmail 2833 invoked by uid 22791); 30 Jan 2006 16:41:25 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 30 Jan 2006 16:41:23 +0000 Received: from sunsite.mff.cuni.cz (sunsite.mff.cuni.cz [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.1/8.13.1) with ESMTP id k0UGfAZj013506; Mon, 30 Jan 2006 17:41:10 +0100 Received: (from jj@localhost) by sunsite.mff.cuni.cz (8.13.1/8.13.1/Submit) id k0UGfAlf013505; Mon, 30 Jan 2006 17:41:10 +0100 Date: Mon, 30 Jan 2006 16:41:00 -0000 From: Jakub Jelinek To: Roland McGrath Cc: Glibc hackers Subject: [PATCH] ppc ulps fixes Message-ID: <20060130164109.GO4625@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00096.txt.bz2 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 * 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