Commit Graph

228 Commits

Author SHA1 Message Date
jtc
c13e010e3c Alpha versions of copysign() and copysignf() 1996-06-26 07:29:59 +00:00
jtc
5743dc5d7a Fix from Bruce Evans. Commited to FreeBSD earlier this month, but was
never forwarded to me :-(.

> Clean up the FP stack before returning.  The i387 exp() leaked an FP
> register on its first call.  Subsequent calls reused the register so
> the leak didn't accumulate.
1996-06-25 02:07:09 +00:00
jtc
84fc678011 Use setne instead of setnel, new versions of gas balk at the bad mnemonic.
Wrong mask was used in s_finitef.S.
1996-06-04 18:00:34 +00:00
mark
ce67b636ad Get the word order of doubles correct for the arm32 port.
Note: The arm32 port is little endian except for the FP word order.
1996-05-07 20:26:07 +00:00
phil
d9f99fc936 Removing a "volatile" put there for the ns32k which is no longer needed. 1996-04-08 15:43:41 +00:00
jtc
3bf9d01bf7 infnan(3) no longer exists. 1996-03-30 01:33:59 +00:00
jtc
ee341062c6 Changed 3m to 3. There is no 3m manpage section. 1996-03-30 01:28:55 +00:00
jtc
977400602b Changed w_gamma.c, w_gamma_r.c, w_gammaf.c, w_gammaf_r.c to call
__ieee754_lgamma_r or __ieee754_lgammaf_r.
Removed e_gamma.c, e_gamma_r.c, e_gammaf.c, e_gammaf_r.c, e_lgamma.c,
e_lgamma_f.c.
1995-11-20 22:06:19 +00:00
pk
26646c7969 Setup stack-frame correctly (same as s_ilogb.S). 1995-10-22 20:32:43 +00:00
jtc
e2143cf975 Fix from Jochen Pohl, i387 version of ilogb didn't set up the stack
frame correctly (PR #1590).
1995-10-12 15:53:09 +00:00
ragge
a6a78ddeb9 Got Makefile to understand to use non-IEEE files on vax systems. 1995-10-10 23:43:31 +00:00
ragge
d76e5e0af8 Machine specific math library files for vax. 1995-10-10 23:40:21 +00:00
ragge
25d43745af Machine independent math library files for non-IEEE architectures. 1995-10-10 23:36:31 +00:00
jtc
c1c8f42080 Changed core routines to call __ieee754_sqrt() instead of sqrt(). I
reported this enhancement to fdlibm-comments, and got the following
reply:

Date: Thu, 11 May 1995 14:35:25 -0700
From: Kwok.Ng@Eng.Sun.COM (KC Ng)
To: fdlibm-comments@sunpro.Eng.Sun.COM, jtc@cygnus.com
Subject: Re: fdlibm 5.2: why do core functions use sqrt?

> I noticed that core (e_*.c) fdlibm functions like __ieee754_acos()
> ensure that they call sqrt() with arguments in range (x > 0), when
> they could call __ieee754_sqrt() directly.
>
> Since sqrt() does a lot more work (verifies x is in range, etc.) is
> there any reason for this?  I'd think that calling __iee754_sqrt()
> would be more appropriate.  ....

You are right. __ieee754_sqrt should be in use with e_*.c.
1995-05-12 04:57:13 +00:00
jtc
9ae90685f2 Winning Strategies has placed this code in the public domain. 1995-05-11 23:03:44 +00:00
jtc
d042a3eb20 Id -> NetBSD 1995-05-10 20:44:22 +00:00
jtc
5abf82e236 Id -> NetBSD 1995-05-08 23:55:16 +00:00
jtc
0898887210 Id -> NetBSD 1995-05-08 23:44:37 +00:00
jtc
750e07c91c i387 float version of atan2() 1995-05-08 23:35:10 +00:00
jtc
11fa45b258 Add i387 "float" functions to the makefile 1995-05-03 20:42:23 +00:00
jtc
684161edae Added i387 remainderf and sqrtf 1995-05-03 14:47:35 +00:00
jtc
5c7208348c Winning Strategies has placed this code into the Public Domain 1995-04-28 22:43:31 +00:00
jtc
5e5fe216ab removed log2 from manpage, libm doesn't provide that function. 1995-04-27 18:21:43 +00:00
jtc
df8b005f6e First cut at adding float versions of math functions to the manpages. 1995-04-14 18:39:53 +00:00
jtc
d6c3ebedb4 Fix overlooked FIXME: unsigned int -> u_int32_t. 1995-03-25 01:48:53 +00:00
jtc
fd8d17a56d First pass at documenting "float" versions of these functions. 1995-03-04 01:36:29 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
jtc
ea66efc784 Enable mc68881 versions of remainder() and scalb(). 1995-02-18 01:46:41 +00:00
jtc
8961dd234b Special case 0, as was done in s_scalbn.S.
I'm only doing this for consistancy --- someone really needs to measure
whether this optimization is justified.
1995-02-18 01:39:51 +00:00
jtc
324e516335 68881-assisted versions of these functions. 1995-02-18 01:24:42 +00:00
jtc
6a189fc179 Remove unused static constant "one". 1995-01-25 01:07:23 +00:00
jtc
3d9c0cdc87 Integrate last of the relavant changes from fdlibm 5.2:
4. Performance issue on rem_pio2
       An attempt to speed up the argument reduction in the trig function is to
       consider pi/4 < x < 3pi/4 a special case. This was done in the file
       e_rem_pio2.c
1995-01-25 01:06:35 +00:00
jtc
10a7ebda19 Bug fix from fdlibm 5.2. 1995-01-16 20:05:43 +00:00
cgd
3a370daf86 specify man pages the new way. 1994-12-22 09:44:45 +00:00
jtc
600d3f84d5 Add volatile qualifier to huge and tiny, so that huge*huge and tiny*tiny
are performed at run-time.
1994-12-16 08:38:20 +00:00
jtc
c446bbd004 Added s_isinff.c 1994-09-25 17:31:51 +00:00
jtc
d797a5d5e9 __infinity[] and isinf() for systems whose C libraries don't supply them;
and isinff(), a "float" version of isinf().
1994-09-25 17:29:47 +00:00
jtc
43e6dd4c8e Add prototype for isinff(). 1994-09-25 17:27:56 +00:00
jtc
d1f06e0b8f LIBM_SCCS must be defined for the RCS ID to be defined.
This library will soon be used by DJGPP.  And since memory is often tight
on DOS machines, there is little benifit to be had from including RCS IDs.
1994-09-22 16:39:08 +00:00
jtc
b4f978017e Remove CYGNUS_LOCAL comment: I maintain this code for NetBSD, not Cygnus 1994-09-13 00:40:33 +00:00
mycroft
21a91228b1 Only extract lx if we need it. 1994-08-26 13:37:40 +00:00
jtc
9f19de9cde Remove lie (in a comment) about conversion between 80 bit ot 64 bit reals,
since we set up the fpu to do all calculations in 64 bit mode at this time.
1994-08-26 00:20:34 +00:00
jtc
4b2017adfe Assembly language versions of some of the "float" functions. 1994-08-19 03:56:44 +00:00
jtc
1af6796a8d The fyl2xp1 instruction has a limited range:
-(1 - (sqrt(2) / 2)) <= x <= sqrt(2) - 1
so we can't use it.

Also, I'm not sure fyl2xp1's extra precision will
matter once the result is converted from extended
real (80 bits) back to double real (64 bits).
1994-08-19 03:55:57 +00:00
jtc
fad867417f Bump minor number to account for additions of "float" versions of
the math functions.
1994-08-19 00:44:35 +00:00
jtc
b0c9d09246 Change int -> int32_t and unsigned int -> u_int32_t to improve portabilty
to machines where int != 32 bits.
1994-08-18 23:04:51 +00:00
jtc
c120d36cd8 Major Bogon: change %ebp to %esp, as I don't set up a stack frame. 1994-08-18 20:42:35 +00:00
mycroft
7fa12b9866 Clean up deleted files. 1994-08-10 20:35:54 +00:00
jtc
8346e333d0 Float versions of math functions. From Ian Taylor (ian@cygnus.com), with
minor changes by me.
1994-08-10 20:30:00 +00:00
jtc
bdde9305da Use RCSID macro for RCS ID's. 1994-03-18 23:22:10 +00:00
jtc
6d76330bec Added RCS ID's. ID's use new RCSID macro from <machine/asm.h>. 1994-03-12 01:30:22 +00:00
jtc
d72111c735 Update for mc68881 ceil(), floor(), & rint(), and s_sqrt.S -> e_sqrt.S
naming mistake.
1994-03-12 01:20:02 +00:00
mycroft
912d356b80 Clean up deleted files. 1994-03-12 01:16:39 +00:00
jtc
41dbc84e05 The hardware sqrt function is supposed to be __ieee754_sqrt(), and live in
e_sqrt.S.
1994-03-12 01:16:38 +00:00
jtc
daefb8ce62 converted ceil(), floor(), & rint() from old to new math libraries. 1994-03-12 01:10:51 +00:00
jtc
c9566fe572 Replace code that was "truncated" when it was converted from old
math library.
1994-03-12 01:09:29 +00:00
jtc
593d18fc49 Added a ieee_test(3) man page (Like SunOS) derrived from an earlier copy
of ieee(3).  This man page describes logb, scalb, and significand, which
are really only useful for verifying IEEE754 compliance.
1994-03-11 17:18:54 +00:00
mycroft
da7c295a78 Clean up deleted files. 1994-03-11 01:34:40 +00:00
jtc
cc2f880912 infnan was a vaxism. 1994-03-11 01:34:18 +00:00
jtc
d264f5578d Updated for new math library. 1994-03-11 01:32:08 +00:00
jtc
2191277bb6 Fix typo. 1994-03-10 18:15:07 +00:00
jtc
2ed7077300 Added i387 version of significand(). 1994-03-10 18:13:32 +00:00
jtc
6ee224c2ec Christos Zoulas' Makefile fixes. 1994-03-08 17:20:51 +00:00
jtc
aff2eb8384 More i387 libm support. 1994-03-04 17:39:50 +00:00
jtc
39abd30929 Don't determine byte order at run time.
This also "solves" the problem of GCC optimization leading to incorrect
results.
1994-03-03 17:04:03 +00:00
jtc
efcdc02b30 Add cabs() & drem() for BSD libm compatibility. 1994-03-01 17:14:34 +00:00
jtc
f0cf5168c0 Changes for new math library. 1994-02-25 19:43:56 +00:00
jtc
5d19bb2922 Update manpages for new math library. 1994-02-25 19:32:18 +00:00
jtc
0dff3c6f48 Optimize the common case (theta < 2^63). 1994-02-18 17:38:59 +00:00
jtc
b365a34dd9 i387 specific ilogb() 1994-02-18 02:50:11 +00:00
jtc
af4a36425d Add RCS ID's. 1994-02-18 02:27:42 +00:00
jtc
bc3f7bf6db Add RCS ID's. 1994-02-18 02:24:43 +00:00
jtc
c709120244 i387-specific math functions. 1994-02-16 19:21:10 +00:00
jtc
44adfd9d70 Compiled shared too. 1994-02-15 01:00:46 +00:00
jtc
03898350df Functions brought over from the old math library. 1994-02-14 21:55:12 +00:00
jtc
39b2c53536 Comment out all functions that are also provided by our C library: fabs(),
frexp(), isnan(), ldexp(), and modf().
1994-02-14 17:32:56 +00:00
jtc
c6776a9449 isnan() was provided by both C and Math libraries. 1994-02-14 17:07:07 +00:00
jtc
101f9521b3 More i387 math support, too bad we can't enable it 1994-02-12 01:31:52 +00:00
mycroft
899fe71cbd Clean up deleted files. 1994-02-11 18:35:37 +00:00
jtc
c283017b5f Changes for fdlibm based math library 1994-02-11 18:35:35 +00:00
jtc
1e7d35f8a1 Beginning of changes needed for fdlibm 1994-02-11 18:34:05 +00:00
mycroft
14664faf49 Clean up deleted files. 1994-02-11 18:24:40 +00:00
jtc
c632d011dd FPU specific math code. 1994-02-11 18:20:17 +00:00
mycroft
43969d1349 Clean up deleted files. 1994-02-11 18:16:42 +00:00
jtc
b0122e807d Include <math.h> instead of "fdlibm.h"
Byteorder fix for s_frexp.c.
1994-02-11 18:08:08 +00:00
mycroft
6712a2b42b Clean up deleted files. 1994-02-11 17:56:43 +00:00
jtc
13618394b2 Fdlibm 5.1 1994-02-11 17:52:17 +00:00
chopps
6e9b4b15e0 moved struct out of param lists. 1994-02-06 18:48:28 +00:00
chopps
2595681cf2 fixed warns and compile errors (under newer gcc's) 1994-02-06 18:48:00 +00:00
jtc
62345776d3 Fix spelling error in Copyright notice 1994-01-28 22:48:31 +00:00
jtc
a072679039 Fix spelling errors. 1994-01-11 00:46:50 +00:00
mycroft
4bc3889433 Clean up deleted files. 1993-12-06 12:12:05 +00:00
cgd
29c9f7be20 use .S not .s 1993-12-06 12:11:42 +00:00
cgd
65b0c9812e update for MACHINE_ARCH 1993-12-05 01:10:14 +00:00
jtc
5e7056a72c Fix formatting of SEE ALSO section. 1993-10-29 22:57:17 +00:00
jtc
3e27155a88 This type of error checking/reporting is required for many functions,
and is desirable for most of the rest.
1993-10-29 22:24:02 +00:00
jtc
4899342fb1 Holds value of ERANGE and EDOM for assembly routine's error reporting. 1993-10-29 22:22:31 +00:00
jtc
4a01193d1f exp & log functions. 1993-10-29 18:11:00 +00:00
jtc
54601ddeac Don't assume the rounding control bits are 00, make sure that both bits
are set (or reset) as appropriate.
1993-10-29 18:06:16 +00:00
jtc
6ca09b6171 Fix manual page typos. 1993-10-29 17:10:08 +00:00
jtc
ec0553e82c More work on i387 specific math library 1993-10-28 19:02:53 +00:00
jtc
1edfcdc790 Additional work on a i387 specific math library. 1993-10-28 00:14:13 +00:00
mycroft
af06d69559 Clean up deleted files. 1993-10-26 23:20:31 +00:00
jtc
5742893287 Start of i387 specific math library functions. 1993-10-26 23:19:34 +00:00
jtc
9a3e07c4c1 Use BYTE_ORDER == LITTLE_ENDIAN instead of -Dnational to select byte order
of floating point numbers.

The assumption that a processor's floats use the same order as its integers
is probably unwarranted, but it is better than requiring non-national CPUs
to #define national, as that drags in national-specific code too.
(According to a comment in the code, the national FPU does not do infinity)
1993-10-21 00:41:56 +00:00
jtc
6240619b9d Add comma between gamma and lgamma in NAME section. 1993-10-21 00:23:23 +00:00
jtc
7b51b77358 Removed duplicate names from the NAME section. 1993-10-21 00:22:10 +00:00
cgd
211d527be4 fix to pow so that pow(x,y) for x == 0 or x == infinity works. 1993-10-19 01:31:09 +00:00
jtc
a3b3dd2348 Install cbrt link to sqrt manpage. 1993-10-11 19:20:24 +00:00
pk
5258e5ce3d No PIC, you probably don't want the overhead in these functions. 1993-10-05 21:52:07 +00:00
jtc
1658725165 Fix grammar of HISTORY section. 1993-10-05 16:46:09 +00:00
jtc
acd1aa18bc Remove trailing comma from SEE ALSO list. 1993-10-05 16:33:47 +00:00
jtc
4c0b8d21f0 Removed trailing in SEE ALSO list 1993-10-04 18:07:15 +00:00
jtc
f85b59f046 Change math.3 to math(3) in SEE ALSO section. 1993-10-04 18:04:34 +00:00
jtc
6d226258e4 Change RANGE to ERANGE. 1993-10-04 18:03:41 +00:00
jtc
eab39a0ae7 In the SEE ALSO section, it's math(3), not math.3. 1993-10-04 17:58:44 +00:00
cgd
89ec54d834 put gamma.c into libm (because it's missing)... 1993-10-01 23:56:08 +00:00
mycroft
a2da492c01 Fix a bunch of thinkos. 1993-08-14 19:31:23 +00:00
mycroft
791d253a44 Split log() and log__D() into separate files. Add logtab.c for logarithm
tables and log.h for common definitions.
Split exp() and exp__D() into separate files.
1993-08-14 19:20:58 +00:00
mycroft
d441c2db7e New code from uunet. 1993-08-14 13:42:09 +00:00
jtc
bb815d8092 Remove semicolon from null macro replacement so gcc -ansi -pedantic
doesn't complain.
1993-08-03 23:05:16 +00:00
jtc
4ea49841a4 Fix formatting error. 1993-08-03 23:00:07 +00:00
mycroft
52efca41cd Nuke remaining patchkit headers. 1993-08-02 18:17:24 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
dfb9caab49 Add RCS indentifiers. 1993-08-01 07:32:48 +00:00
mycroft
cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +00:00
cgd
e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00