[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r17295 - in /fsf/trunk/ports: ./ sysdeps/m68k/m680x0/fpu/ sysdeps/m68k/m680x0/fpu/bits/



Author: eglibc
Date: Sun Feb 26 00:01:51 2012
New Revision: 17295

Log:
Import glibc-ports-mainline for 2012-02-26

Modified:
    fsf/trunk/ports/ChangeLog.m68k
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cos.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sin.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tan.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c

Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Sun Feb 26 00:01:51 2012
@@ -1,3 +1,33 @@
+2012-02-25  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/m680x0/fpu/s_ccosh.c: Avoid raising invalid
+	exception for NaN+iNaN.
+
+2012-02-24  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update ULPs.
+
+	* sysdeps/m68k/m680x0/fpu/s_expm1.c: Set errno to ERANGE if
+	argument causes overflow.
+	* sysdeps/m68k/m680x0/fpu/s_expm1f.c: Include <s_expm1.c>.
+	(float_type, o_threshold): Define.
+	* sysdeps/m68k/m680x0/fpu/s_expm1l.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__OPTIMIZE__]: Don't
+	define expm1 as inline.
+
+	* sysdeps/m68k/m680x0/fpu/s_sin.c: Set errno to EDOM if argument
+	is infinite.
+	* sysdeps/m68k/m680x0/fpu/s_cos.c: Include <s_sin.c>.
+	* sysdeps/m68k/m680x0/fpu/s_tan.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/s_cosf.c: Include <s_sinf.c>.
+	* sysdeps/m68k/m680x0/fpu/s_cosl.c: Include <s_sinl.c>.
+	* sysdeps/m68k/m680x0/fpu/s_sinf.c: Include <s_sin.c>.
+	(FUNC): Don't define if already defined.
+	(float_type): Define.
+	* sysdeps/m68k/m680x0/fpu/s_sinl.c: Likewise.
+	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__OPTIMIZE__]: Don't
+	define sin, cos, tan as inlines.
+
 2012-02-08  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/m68k/crti.S: New file.

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/bits/mathinline.h Sun Feb 26 00:01:51 2012
@@ -1,5 +1,5 @@
 /* Definitions of inline math functions implemented by the m68881/2.
-   Copyright (C) 1991,92,93,94,96,97,98,99,2000,2002, 2003, 2004, 2008, 2010
+   Copyright (C) 1991,92,93,94,96,97,98,99,2000,2002, 2003, 2004, 2008, 2010, 2012
      Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -175,14 +175,10 @@
 #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
 
 __inline_mathop(atan, atan)
-__inline_mathop(cos, cos)
-__inline_mathop(sin, sin)
-__inline_mathop(tan, tan)
 __inline_mathop(tanh, tanh)
 
 # if defined __USE_MISC || defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
 __inline_mathop(rint, int)
-__inline_mathop(expm1, etoxm1)
 __inline_mathop(log1p, lognp1)
 # endif
 

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/libm-test-ulps Sun Feb 26 00:01:51 2012
@@ -79,14 +79,16 @@
 ldouble: 5
 Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
 double: 13
-float: 1
+float: 6
 idouble: 13
-ifloat: 1
+ifloat: 6
 ildouble: 6
 ldouble: 6
 Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
 double: 1
 float: 1
@@ -107,6 +109,8 @@
 
 # catanh
 Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -272,9 +276,11 @@
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
-float: 1
-ifloat: 1
+float: 3
+ifloat: 3
 ildouble: 9
 ldouble: 9
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
@@ -294,9 +300,9 @@
 ldouble: 1
 Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
 double: 1
-float: 2
-idouble: 1
-ifloat: 2
+float: 3
+idouble: 1
+ifloat: 3
 ildouble: 15
 ldouble: 15
 Test "Imaginary part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
@@ -366,6 +372,9 @@
 Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 double: 1
 idouble: 1
+ildouble: 2
+ldouble: 2
+Test "Imaginary part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
 ildouble: 1
 ldouble: 1
 Test "Real part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
@@ -376,6 +385,9 @@
 ldouble: 2
 
 # ctanh
+Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
+ildouble: 1
+ldouble: 1
 Test "Imaginary part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
 ildouble: 1
 ldouble: 1
@@ -397,9 +409,14 @@
 Test "erfc (1.25) == 0.0770998717435417698634765188027188596":
 ildouble: 1
 ldouble: 1
+Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
+float: 1
+ifloat: 1
 Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 # expm1
 Test "expm1 (1) == M_El - 1.0":
@@ -447,8 +464,8 @@
 Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 Test "j0 (0.75) == 0.864242275166648623555731103820923211":
 float: 1
 ifloat: 1
@@ -461,8 +478,11 @@
 Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
+Test "j0 (8.0) == 0.171650807137553906090869407851972001":
+float: 1
+ifloat: 1
 
 # j1
 Test "j1 (-1.0) == -0.440050585744933515959682203718914913":
@@ -492,8 +512,8 @@
 Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
 float: 1
 ifloat: 1
@@ -506,8 +526,11 @@
 Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
 float: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
+Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
+float: 1
+ifloat: 1
 Test "jn (1, -1.0) == -0.440050585744933515959682203718914913":
 float: 1
 ifloat: 1
@@ -539,7 +562,9 @@
 float: 1
 ifloat: 1
 Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
-float: 2
+double: 1
+float: 2
+idouble: 1
 ifloat: 2
 ildouble: 2
 ldouble: 2
@@ -560,6 +585,11 @@
 ifloat: 2
 ildouble: 1
 ldouble: 1
+Test "jn (2, 2.4048255576957729) == 0.43175480701968038399746111312430703":
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
 Test "jn (3, -1.0) == -0.0195633539826684059189053216217515083":
 float: 1
 ifloat: 1
@@ -578,8 +608,45 @@
 ildouble: 1
 ldouble: 1
 Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-ildouble: 1
-ldouble: 1
+float: 1
+ifloat: 1
+ildouble: 1
+ldouble: 1
+Test "jn (3, 2.4048255576957729) == 0.19899990535769083404042146764530813":
+float: 2
+ifloat: 2
+ildouble: 1
+ldouble: 1
+Test "jn (4, 2.4048255576957729) == 0.647466661641779720084932282551219891E-1":
+float: 1
+ifloat: 1
+ildouble: 2
+ldouble: 2
+Test "jn (5, 2.4048255576957729) == 0.163892432048058525099230549946147698E-1":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+ildouble: 3
+ldouble: 3
+Test "jn (6, 2.4048255576957729) == 0.34048184720278336646673682895929161E-2":
+float: 4
+ifloat: 4
+ildouble: 1
+ldouble: 1
+Test "jn (7, 2.4048255576957729) == 0.60068836573295394221291569249883076E-3":
+float: 5
+ifloat: 5
+Test "jn (8, 2.4048255576957729) == 0.92165786705344923232879022467054148E-4":
+float: 4
+ifloat: 4
+ildouble: 2
+ldouble: 2
+Test "jn (9, 2.4048255576957729) == 0.12517270977961513005428966643852564E-4":
+float: 3
+ifloat: 3
+ildouble: 2
+ldouble: 2
 
 # lgamma
 Test "lgamma (-0.5) == log(2*sqrt(pi))":
@@ -622,6 +689,8 @@
 Test "log10 (e) == log10(e)":
 float: 1
 ifloat: 1
+ildouble: 1
+ldouble: 1
 
 # log1p
 Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
@@ -637,6 +706,14 @@
 Test "pow (0.75, 1.25) == 0.697953644326574699205914060237425566":
 ildouble: 1
 ldouble: 1
+Test "pow (0x1p64, 0.125) == 256":
+ildouble: 1
+ldouble: 1
+Test "pow (256, 8) == 0x1p64":
+float: 1
+ifloat: 1
+ildouble: 7
+ldouble: 7
 
 # sincos
 Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
@@ -706,16 +783,22 @@
 ldouble: 1
 Test "y0 (0.75) == -0.137172769385772397522814379396581855":
 double: 1
-idouble: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
 ildouble: 1
 ldouble: 1
 Test "y0 (1.5) == 0.382448923797758843955068554978089862":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "y0 (2.0) == 0.510375672649745119596606592727157873":
@@ -743,6 +826,8 @@
 ildouble: 1
 ldouble: 1
 Test "y1 (8.0) == -0.158060461731247494255555266187483550":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -756,16 +841,22 @@
 ldouble: 1
 Test "yn (0, 0.75) == -0.137172769385772397522814379396581855":
 double: 1
-idouble: 1
+float: 1
+idouble: 1
+ifloat: 1
 ildouble: 2
 ldouble: 2
 Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
 ildouble: 1
 ldouble: 1
 Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (0, 2.0) == 0.510375672649745119596606592727157873":
@@ -796,6 +887,8 @@
 ildouble: 1
 ldouble: 1
 Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
@@ -888,17 +981,17 @@
 
 Function: Real part of "casinh":
 double: 6
-float: 19
+float: 1
 idouble: 6
-ifloat: 19
+ifloat: 1
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "casinh":
 double: 13
-float: 1
+float: 6
 idouble: 13
-ifloat: 1
+ifloat: 6
 ildouble: 6
 ldouble: 6
 
@@ -913,6 +1006,8 @@
 ifloat: 1
 
 Function: Real part of "catanh":
+float: 1
+ifloat: 1
 ildouble: 1
 ldouble: 1
 
@@ -988,17 +1083,17 @@
 
 Function: Real part of "cpow":
 double: 1
-float: 2
-idouble: 1
-ifloat: 2
+float: 3
+idouble: 1
+ifloat: 3
 ildouble: 15
 ldouble: 15
 
 Function: Imaginary part of "cpow":
 double: 2
-float: 6
+float: 5
 idouble: 2
-ifloat: 6
+ifloat: 5
 ildouble: 2
 ldouble: 2
 
@@ -1025,12 +1120,16 @@
 Function: Real part of "ctan":
 double: 1
 idouble: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: Imaginary part of "ctan":
-ildouble: 2
-ldouble: 2
+ildouble: 1
+ldouble: 1
+
+Function: Real part of "ctanh":
+ildouble: 1
+ldouble: 1
 
 Function: Imaginary part of "ctanh":
 double: 1
@@ -1063,8 +1162,8 @@
 float: 1
 idouble: 1
 ifloat: 1
-ildouble: 1
-ldouble: 1
+ildouble: 2
+ldouble: 2
 
 Function: "j1":
 float: 2
@@ -1077,8 +1176,8 @@
 float: 5
 idouble: 1
 ifloat: 5
-ildouble: 2
-ldouble: 2
+ildouble: 3
+ldouble: 3
 
 Function: "lgamma":
 double: 1
@@ -1109,8 +1208,10 @@
 ldouble: 1
 
 Function: "pow":
-ildouble: 1
-ldouble: 1
+float: 1
+ifloat: 1
+ildouble: 7
+ldouble: 7
 
 Function: "sincos":
 double: 1

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_ccosh.c Sun Feb 26 00:01:51 2012
@@ -1,5 +1,5 @@
 /* Complex cosine hyperbole function.  m68k fpu version
-   Copyright (C) 1997, 1999, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2010, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>.
 
@@ -67,7 +67,7 @@
 	  if (rx_cond & __M81_COND_INF)
 	    __real__ retval = s(fabs) (__real__ x);
 	  else
-	    __real__ retval = 0.0/0.0;
+	    __real__ retval = s(__nan) ("");
 	  __imag__ retval = __imag__ x - __imag__ x;
 	}
     }

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cos.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cos.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cos.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
 #define	FUNC	cos
-#include <s_atan.c>
+#include <s_sin.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosf.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
-#define	FUNC	cosf
-#include <s_atanf.c>
+#define FUNC cosf
+#include <s_sinf.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_cosl.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
 #define FUNC cosl
-#include <s_atanl.c>
+#include <s_sinl.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,44 @@
-#define	FUNC	expm1
-#include <s_atan.c>
+/* Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <math.h>
+#include <errno.h>
+#include "mathimpl.h"
+
+#ifndef FUNC
+# define FUNC expm1
+#endif
+#ifndef float_type
+# define float_type double
+#endif
+#ifndef o_threshold
+# define o_threshold 7.09782712893383973096e+02
+#endif
+
+#define CONCATX(a,b) __CONCAT(a,b)
+
+float_type
+CONCATX(__,FUNC) (float_type x)
+{
+  if ((__m81_test (x) & __M81_COND_INF) == 0 && isgreater (x, o_threshold))
+    __set_errno (ERANGE);
+  return __m81_u(CONCATX(__, FUNC)) (x);
+}
+
+#define weak_aliasx(a, b) weak_alias(a, b)
+weak_aliasx (CONCATX(__, FUNC), FUNC)

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1f.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,4 @@
-#define	FUNC	expm1f
-#include <s_atanf.c>
+#define	FUNC expm1f
+#define float_type float
+#define o_threshold 8.8722831726e+01F
+#include <s_expm1.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_expm1l.c Sun Feb 26 00:01:51 2012
@@ -1,3 +1,6 @@
-#define FUNC expm1l
-#include <s_atanl.c>
+#define	FUNC expm1l
+#define float_type long double
+/* 400c0000b17217f7d1cf79ab */
+#define o_threshold 1.13565234062941439487914863093465101e+04L
+#include <s_expm1.c>
 libm_hidden_def (__expm1l)

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sin.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sin.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sin.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,41 @@
-#define	FUNC	sin
-#include <s_atan.c>
+/* Copyright (C) 2012 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <math.h>
+#include <errno.h>
+#include "mathimpl.h"
+
+#ifndef FUNC
+# define FUNC sin
+#endif
+#ifndef float_type
+# define float_type double
+#endif
+
+#define CONCATX(a,b) __CONCAT(a,b)
+
+float_type
+CONCATX(__,FUNC) (float_type x)
+{
+  if (__m81_test (x) & __M81_COND_INF)
+    __set_errno (EDOM);
+  return __m81_u(CONCATX(__, FUNC)) (x);
+}
+
+#define weak_aliasx(a, b) weak_alias(a, b)
+weak_aliasx (CONCATX(__, FUNC), FUNC)

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinf.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,5 @@
-#define	FUNC	sinf
-#include <s_atanf.c>
+#ifndef FUNC
+# define FUNC sinf
+#endif
+#define float_type float
+#include <s_sin.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_sinl.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,5 @@
-#define FUNC sinl
-#include <s_atanl.c>
+#ifndef FUNC
+# define FUNC sinl
+#endif
+#define float_type long double
+#include <s_sin.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tan.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tan.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tan.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
 #define	FUNC	tan
-#include <s_atan.c>
+#include <s_sin.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanf.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
-#define	FUNC	tanf
-#include <s_atanf.c>
+#define FUNC tanf
+#include <s_sinf.c>

Modified: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c (original)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/s_tanl.c Sun Feb 26 00:01:51 2012
@@ -1,2 +1,2 @@
 #define FUNC tanl
-#include <s_atanl.c>
+#include <s_sinl.c>

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits