summaryrefslogtreecommitdiffstats
path: root/lib/msun
Commit message (Collapse)AuthorAgeFilesLines
* Disable building with alpha software completion options until we upgradedfr1998-12-241-2/+3
| | | | compilers.
* Implement fpsetmask() and other fp*() functions. Programs should usedfr1998-12-231-1/+2
| | | | | | | | | | #include <ieeefp.h> to access these functions instead of the i386 specific #include <machine/floatingpoint.h> Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
* There is no alpha asm code like on i386, so all the functions thatjb1998-05-101-1/+28
| | | | the i386 builds with a __generic prefix need to have that stripped.
* Back out last changepst1998-04-231-2/+2
|
* Fix cabs and cabsf definitions to be prototypes.pst1998-04-221-3/+3
|
* Add alpha support. m68k crept in too. Oops. 8-)jb1998-02-201-1/+16
|
* Document the fpgetprec/fpsetprec functions in their man page.jlemon1998-02-041-1/+10
| | | | | | Add cross-references to the elusive fpsetmask() function to various other man pages. Reviewed by: bde
* PR: 5489danny1998-01-151-5/+5
| | | | | Submitted by: Steve G. Kargl <kargl@troutmask.apl.washington.edu> Repair corrupted text.
* This is the only alpha math source that NetBSD has.jb1998-01-102-0/+90
|
* Hide the declaration of `struct exception' from C++, since it conflictsbde1997-08-311-1/+5
| | | | | with the standard C++ `class exception'. This makes matherr() difficult to use in C++. Small loss.
* Fixed minor bugs related to the addition of gammaf.bde1997-07-131-3/+3
| | | | | The major bug, that gamma is documented as really being gamma, is still unfixed.
* Fixed wrong mnemonic `setnel' that gas happened to generate correct objectbde1997-04-301-2/+2
| | | | | | code for. Obtained from: a slightly different fix in NetBSD
* Added -D_ARCH_INDIRECT=i387_ to CFLAGS. _ARCH_INDIRECT will soon be usedbde1997-04-151-4/+5
| | | | | | to control generation of indirections in ENTRY(). Only msun needs it. Use ${ARCH} consistently.
* Fixed synopsis. Some float functions claimed to have the same name asbde1997-03-193-6/+6
| | | | the double version.
* Use __ieee754_sqrt() instead of sqrt() internally. Similarly for thebde1997-03-0912-33/+33
| | | | | | float versions. Using sqrt() was inefficient. Obtained from: NetBSD
* Include <machine/asm.h> instead of kernel-only <machine/asmacros.h>.bde1997-03-0924-48/+48
|
* Fixed wrong magic numbers in scaling. hypotf() was very broken for largebde1997-03-051-8/+8
| | | | | | | | | | 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
* Revert $FreeBSD$ to $Id$peter1997-02-22215-215/+215
|
* Split up the Bessel function wrapper files so that most wrapper functionsbde1997-02-2013-177/+315
| | | | are in their own file.
* Removed misplaced duplicate of comment about implementation details.bde1997-02-201-22/+0
|
* Compute (1 - x^2) as ((1 - x) * (1 + x)) instead of as (1 - x * x) tobde1997-02-202-11/+23
| | | | | | | | | | | | | | | avoid easily avoidable loss of precision when |x| is nearly 1. Extended (64-bit) precision only moves the meaning of "nearly" here. This probably could be done better by splitting up the range into |x| <= 0.5 and |x| > 0.5 like the C version. However, ucbtest does't report any errors in this version. Perhaps the C version should be used anyway. It's only 25% slower now on a P5, provided the C version of sqrt() isn't used, and the C version could be optimized better. Errors checked by: ucbtest
* Select between the generic math functions and the i387-specific onesbde1997-02-1625-56/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fixed the i87 version of exp(). It returned NaN for args +-Inf. It hadbde1997-02-161-0/+42
| | | | | | some small (one or two ULP) inaccuracies. Found by: ucbtest
* Put back .endif clobbered by the previous commit, breaking thejkh1997-02-151-0/+1
| | | | build.
* Disabled the i387 version if log1p(). It just evaluates log(1 + x).bde1997-02-151-2/+4
| | | | | | | | | This defeats the point of log1p(). ucbtest reports errors of +-5e+15 ULPs. A correct version would use the i387 fyl2xp1 instruction for small x and maybe scale to small x. The C version does the scaling reasonably efficiently, and fyl2px1 is slow (at least on P5s), so not much is lost by always using the C version (only 25% for small x even with the broken i387 version; 50% for large x).
* Sort cross references.wosch1997-01-2013-33/+33
|
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-14208-208/+208
| | | | | | | | 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.
* Delete -D_POSIX_MODE and -D_MULTI_LIBM from CFLAGS. They never had any effectwollman1997-01-081-2/+2
| | | | | | | because _IEEE_LIBM always takes priority, so the definition just served to confuse. Reviewed by: bde
* comma typoswosch1996-12-231-3/+3
|
* Removed references to nonexistent functions log2() and log2f().bde1996-12-181-3/+1
|
* Fixed fiddling with the control word. Use the stack space reserved forbde1996-12-142-12/+12
| | | | that purpose instead of space below the stack.
* Clean up the FPU stack before returning. One stack slot was leaked onbde1996-12-142-2/+4
| | | | | every call. The damage was sometimes limited by other routines using and freeing stack slots that should have been empty to being with.
* consistancy fixuppeter1996-08-301-2/+2
| | | | Submitted by: "Philippe Charnier" <charnier@xp11.frmug.org>
* cmp -s || install -c ==> install -Cpeter1996-08-301-5/+3
|
* Made rintf() actually work. It was completely broken (when s_rint.cbde1996-08-282-6/+19
| | | | | | | | | | | 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.
* Fix up the NAME lines forthe ceil and floor man pages to bempp1996-08-212-4/+4
| | | | | | | less confusing. Reviewed by: bde Partially obtained from: NetBSD-bugs
* General -Wall warning cleanup, part I.jkh1996-07-127-16/+16
| | | | Submitted-By: Kent Vander Velden <graphix@iastate.edu>
* Clean up the FP stack before returning. The i387 exp() leaked an FPbde1996-06-011-1/+2
| | | | | register on its first call. Subsequent calls reused the register so the leak didn't accumulate. Fixes PR 1275.
* Don't trash %ebp.bde1996-02-251-2/+2
| | | | Obtained from: NetBSD
* Fixed some minor formatting problems to silence manck some more.mpp1996-02-128-21/+13
| | | | | | | | | Corrected some bogus cross references to man pages that we don't/won't have and either deleted them, or found a more appropriate man page that we do have. Various other minor changes to silence manck. Manck is currently down to about 200 lines of errors, down from the 500 - 600+ when I started all this.
* Correct one small typo in previous commit.mpp1996-02-091-2/+2
|
* Added some missing MLINKS for section 3 man pages.mpp1996-02-091-12/+35
| | | | | | | Also corrected a few minor formatting errors, file location and cross references in some of the section 3 man pages. This shuts up a lot of the output from "manck" for section 3.
* Undo the the changes in the previous revision (MANSRC now works right again).bde1995-10-221-7/+8
| | | | Use ${INSTALL} instead of install.
* Fixed use of too many args for `.Em'.bde1995-10-221-10/+12
| | | | | | | | Fixed description of domain of y*(). Fixed description of error domain. (This description is still half redundant and half wrong, as in many other math man pages. fdlibm doesn't support the VAX or Tahoe.) Fixed capitalization of `Bessel'.
* Compress manual pages (if desired) in the obj directory ratherwollman1995-10-021-7/+6
| | | | | | than in the installation destination. Should make release-building substantially faster. The msun Makefile changes simple adapt to the new scheme.
* Remove trailing whitespace.rgrimes1995-05-30164-1064/+1064
|
* Submitted by: J.T. Conklin <jtc@wimsey.com>bde1995-04-076-10/+56
| | | | | | | 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").
* Submitted by: J.T. Conklin <jtc@wimsey.com>bde1995-04-072-4/+4
| | | | | 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.
* Obtained from: NetBSDbde1995-03-081-2/+7
| | | | | Remove common sources from ${SRCS} when they are replaced by arch-specific sources.
* Additions from Thomas Graichen to mention each functions' floating pointjkh1995-03-0127-159/+440
| | | | | counterpart. Submitted by: Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
OpenPOWER on IntegriCloud