22 Commits

Author SHA1 Message Date
ru
0d5bbb0349 Added skeleton <complex.h> (aligned with the POSIX.1-200x), mostly
to fix the "-nostdinc WARNS=X" breakage caused by broken prototypes
for cabs() and cabsl() in <math.h>.

Reimplemented cabs() and cabsl() using new complex numbers types and
moved prototypes from <math.h> to <complex.h>.
2001-06-13 15:16:30 +00:00
brian
e25bb3a14c Fix #include order
Spotted by: imura
2000-10-15 16:42:31 +00:00
obrien
533621041a MFS: Add a "magic" comment to help fixincludes realize it doesn't need to
modify this file when building GCC 2.96 [by hand or via the port].

Submitted by:	Zack Weinberg <zack@wolery.cumb.org>
2000-03-27 02:04:45 +00:00
peter
76f0c923fe $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
jb
c0399f7b15 There is no alpha asm code like on i386, so all the functions that
the i386 builds with a __generic prefix need to have that stripped.
1998-05-10 23:46:01 +00:00
pst
b99377bfd2 Back out last change 1998-04-23 04:44:08 +00:00
pst
e2ebb6cedb Fix cabs and cabsf definitions to be prototypes. 1998-04-22 06:26:18 +00:00
bde
0d4a037f8d Hide the declaration of `struct exception' from C++, since it conflicts
with the standard C++ `class exception'.  This makes matherr() difficult
to use in C++.  Small loss.
1997-08-31 22:12:19 +00:00
bde
6dc700613a Use __ieee754_sqrt() instead of sqrt() internally. Similarly for the
float versions.  Using sqrt() was inefficient.

Obtained from:	NetBSD
1997-03-09 16:29:29 +00:00
bde
8f4ea9b776 Fixed wrong magic numbers in scaling. hypotf() was very broken for large
and small values:

    hypotf(2.3819765e+38, 2.0416943e+38) was NaN instead of 3.1372484e+38
    hypotf(-3.4028235e+38, 3.3886450e+38) was NaN instead of Inf
    hypotf(-2.8025969e-45, -2.8025969e-45) was 0 instead of 4.2038954e-45

Found by:	ucbtest
1997-03-05 11:54:00 +00:00
peter
6b08958c64 Revert $FreeBSD$ to $Id$ 1997-02-22 15:12:41 +00:00
bde
a9570d9f94 Split up the Bessel function wrapper files so that most wrapper functions
are in their own file.
1997-02-20 13:35:15 +00:00
bde
0071d9dabb Removed misplaced duplicate of comment about implementation details. 1997-02-20 13:14:06 +00:00
bde
9e8f1bd4ec Select between the generic math functions and the i387-specific ones
at runtime.

etc/make.conf:
Nuked HAVE_FPU option.

lib/msun/Makefile:
Always build the i387 objects.  Copy the i387 source files at build
time so that the i387 objects have different names.  This is simpler
than renaming the files in the cvs repository or repeating half of
bsd.lib.mk to add explicit rules.

lib/msun/src/*.c:
Renamed all functions that have an i387-specific version by adding
`__generic_' to their names.

lib/msun/src/get_hw_float.c:
New file for getting machdep.hw_float from the kernel.

sys/i386/include/asmacros.h:
Abuse the ENTRY() macro to generate jump vectors and associated code.
This works much like PIC PLT dynamic initialization.  The PIC case is
messy.  The old i387 entry points are renamed.  Renaming is easier
here because the names are given by macro expansions.
1997-02-16 18:26:31 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
bde
f68534c325 Made rintf() actually work. It was completely broken (when s_rint.c
was compiled with -O) by the precision bug in the i386 version of
gcc (assignments and casts don't clip the precision).  E.g.,
rintf(12.3456789) was 12.125.

Avoid the same bug in rint().  It was only broken for the unusual
case when the i387 precision is 64 bits.  FreeBSD defaults to 53
bit precision to avoid problems like this, but the standard math
emulator always uses 64 bit precision.
1996-08-28 16:34:36 +00:00
jkh
c4d4a99d31 General -Wall warning cleanup, part I.
Submitted-By: Kent Vander Velden <graphix@iastate.edu>
1996-07-12 18:57:58 +00:00
rgrimes
f05428e4cd Remove trailing whitespace. 1995-05-30 05:51:47 +00:00
bde
2cc0b4033d Submitted by: J.T. Conklin <jtc@wimsey.com>
Second part of update to fdlibm 5.2: speed up argument reduction for trig
functions in the case pi/4 < |x| < 3pi/4.

Remove unused static constants ("one").
1995-04-07 23:23:27 +00:00
bde
07041fdd38 Submitted by: J.T. Conklin <jtc@wimsey.com>
First part of update to fdlibm 5.2: fix jn(n, x) and jnf(n, x).
jn(-1, x) was too large by a factor of 3.
1995-04-07 23:13:43 +00:00
ljo
287e9adfce Add missing z_abs. In BSD tradition this is in libm.a. 1994-11-11 12:56:27 +00:00
jkh
2a8fd4fc31 J.T. Conklin's latest version of the Sun math library.
-- Begin comments from J.T. Conklin:
The most significant improvement is the addition of "float" versions
of the math functions that take float arguments, return floats, and do
all operations in floating point.  This doesn't help (performance)
much on the i386, but they are still nice to have.

The float versions were orginally done by Cygnus' Ian Taylor when
fdlibm was integrated into the libm we support for embedded systems.
I gave Ian a copy of my libm as a starting point since I had already
fixed a lot of bugs & problems in Sun's original code.  After he was
done, I cleaned it up a bit and integrated the changes back into my
libm.
-- End comments

Reviewed by:	jkh
Submitted by:	jtc
1994-08-19 09:40:01 +00:00