summaryrefslogtreecommitdiffstats
path: root/lib/msun
Commit message (Collapse)AuthorAgeFilesLines
* Initial support for C99's (or is it POSIX.1-2001's?) MATH_ERRNO,bde2004-03-121-0/+6
| | | | | | | | | | | MATH_ERREXCEPTION and math_errhandling, so that C99 applications at least have the possibility of determining that errno is not set for math functions. Set math_errhandling to the non-standard-conforming value of 0 for now to indicate that we don't support either method of reporting errors. We intentionally don't support MATH_ERRNO because errno is a mistake, and we are missing support for MATH_ERREXCEPTION (<fenv.h>, compiler support for <fenv.h>, and actually setting the exception flags correctly).
* Fix a problem where libm compiled under 5.X would depend on featuresdas2003-10-272-2/+8
| | | | | | | | | | | | | | that are only in libc.so.5. This broke some 4.X applications linked to libm and run under 5.X. Background: In C99, isinf() and isnan() cannot be implemented as regular functions. We use macros that call libc functions in 5.X, but for libm-internal use, we need to use the old versions until the next time libm's major version number is bumped. Submitted by: bde Reported by: imp, kris
* Better safe than clever.des2003-10-251-2/+5
| | | | Submitted by: das
* Document fabsl(3).des2003-10-251-6/+19
| | | | Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
* - fabsl.c should be named s_fabsl.c for consistency with libmsun'sdes2003-10-252-3/+11
| | | | | | | | | | | | | | | documented naming scheme (unfortunately the documentation isn't in the tree as far as I can tell); no repocopy is required as there is no history to preserve. - replace simple and almost-correct implementation with slightly hackish but definitely correct implementation (tested on i386, alpha, sparc64) which requires pulling in fpmath.h and the MD _fpmath.h from libc. - try not to make a mess of the Makefile in the process. - enterprising minds are encouraged to implement more C99 long double functions.
* Connect fabsl.c to the build.des2003-10-231-0/+2
|
* Add prototypes for all long double functions in C99. Leave them alldes2003-10-231-0/+67
| | | | #if 0'd out, except for fabsl(3) which I've implemented.
* Implement fabsl(3), allowing the world to build with -fno-builtin.des2003-10-231-0/+37
|
* Stage 3 of dynamic root support. Make all the libraries needed to rungordon2003-08-171-0/+1
| | | | | | binaries in /bin and /sbin installed in /lib. Only the versioned files reside in /lib, the .so symlink continues to live /usr/lib so the toolchain doesn't need to be modified.
* Fixed some style bugs (misplacement and misformatting of some commented-outbde2003-07-231-4/+2
| | | | code).
* Only provide one copy of the math functions. If we provide a MD function,peter2003-07-2326-80/+32
| | | | | | | | do not also provide a __generic_XXX version as well. This is how we used to runtime select the generic vs i387 versions on the i386 platform. This saves a pile of #defines in the src/math_private.h file to undo the __generic_XXX renames in some of the *.c files.
* No longer need the internal __get_hw_float() function.peter2003-07-232-51/+0
|
* Now that we do not need to do runtime detection for the broken defaultpeter2003-07-233-6/+21
| | | | | | | | | fp emulator, stop doing the runtime selection of hardware or emulated floating point operations on i386. Note that I have not suppressed the duplicate compiles yet. While here, fix the alpha. It has provided specific copysign/copysignf functions since the beginning of time, but they have never been used.
* Fix two misuses of __BSD_VISIBLE.mike2003-05-221-2/+2
| | | | | Submitted by: bde Approved by: re
* AMD64 support (another IEEEFP platform)peter2003-04-301-1/+1
|
* Fix braino in definition of isfinite().das2003-04-041-1/+1
| | | | | Noticed by: marcus Pointy hat to: das
* mdoc(7) police: Nits.ru2003-03-021-7/+7
|
* - gamma_r, lgamma_r, gammaf_r, and lgammaf_r were protected by _REENTRANTimp2003-02-262-9/+38
| | | | | | | | | | in math.h; the consensus here was that __BSD_VISIBLE was correct instead. - gamma_r, lgamma_r, gammaf_r, and lgammaf_r had no documentation in the lgamma(3) manpage. Reviewed by: standards@ Submitted by: Ben Mesander
* o Implement C99 classification macros isfinite(), isinf(), isnan(),mike2003-02-123-12/+32
| | | | | | | | | isnormal(). The current isinf() and isnan() are perserved for binary compatibility with 5.0, but new programs will use the macros. o Implement C99 comparison macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), isunordered(). Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU>
* Implement C99's signbit() macro.mike2003-02-111-0/+2
|
* Implement fpclassify():mike2003-02-081-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a MD header private to libc called _fpmath.h; this header contains bitfield layouts of MD floating-point types. o Add a MI header private to libc called fpmath.h; this header contains bitfield layouts of MI floating-point types. o Add private libc variables to lib/libc/$arch/gen/infinity.c for storing NaN values. o Add __double_t and __float_t to <machine/_types.h>, and provide double_t and float_t typedefs in <math.h>. o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF, HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via <machine/float.h>. o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based on the size of its argument. __fpclassifyl() is never called on alpha because (sizeof(long double) == sizeof(double)), which is good since __fpclassifyl() can't deal with such a small `long double'. This was developed by David Schultz and myself with input from bde and fenner. PR: 23103 Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> (significant portions) Reviewed by: bde, fenner (earlier versions)
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-012-2/+2
| | | | especially in troff files.
* english(4) police.schweikh2002-12-271-1/+1
|
* Re-apply the previously backed-out commit that fixes the problem wherearchie2002-10-311-2/+5
| | | | | | | | HUGE_VAL is not properly aligned on some architectures. The previous fix now works because the two versions of 'math.h' (include/math.h and lib/msun/src/math.h) have since been merged into one. PR: bin/43544
* Remove duplicate declaration.markm2002-10-231-1/+0
|
* Fixed a last-minute editing error in previous commit. nfs and/or cvsbde2002-10-011-0/+0
| | | | | replaced a 14-byte change in the middle of the file with 14 NULs at EOF despite or because of aborting the initial commit to pick up the change.
* Merged all interesting difference between the old math.h and the currentbde2002-10-011-0/+0
| | | | | | | | | | | | | one into the latter and removed the former. This works around the bug that some broken Makefiles add -I.../src/include to CFLAGS, resulting in the old math.h being preferred and differences between the headers possibly being fatal. The merge mainly involves declaring some functions as __pure2 although they are not yet all strictly free of side effects. PR: 43544
* Revert previous commit to unbreak world until we figure out thearchie2002-09-201-5/+2
| | | | right way to do it.
* Fix a problem with the definition of HUGE_VAL causing the gcc warningarchie2002-09-191-2/+5
| | | | | | "cast increases required alignment of target type" on some platforms. Reviewed by: bde
* e_pow.c:bde2002-06-172-2/+2
| | | | | | | | | | | | | | | | Fixed pow(x, y) when x is very close to -1.0 and y is a very large odd integer. E.g., pow(-1.0 - pow(2.0, -52.0), 1.0 + pow(2.0, 52.0)) was 0.0 instead of being very close to -exp(1.0). PR: 39236 Submitted by: Stephen L Moshier <steve@moshier.net> e_powf.c: Apply the same patch although it is just cosmetic because odd integers large enough to cause the problem are too large to be precisely represented as floats. MFC after: 1 week
* Fix formatting, this is hard to explain, so I'll show one example.alfred2002-05-28129-141/+282
| | | | | | | | | | - float ynf(int n, float x) /* wrapper ynf */ +float +ynf(int n, float x) /* wrapper ynf */ This is because the __STDC__ stuff was indented. Reviewed by: md5
* Assume __STDC__, remove non-__STDC__ code.alfred2002-05-28141-1502/+5
| | | | Reviewed by: md5
* Assume __STDC__, remove non-__STDC__ code.alfred2002-05-2820-191/+38
| | | | Submitted by: keramida
* Spread the word of PowerPC.benno2002-05-211-1/+2
|
* Added new bsd.incs.mk which handles installing of header filesru2002-05-121-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | via INCS. Implemented INCSLINKS (equivalent to SYMLINKS) to handle symlinking include files. Allow for multiple groups of include files to be installed, with the powerful INCSGROUPS knob. Documentation to follow. Added standard `includes' and `incsinstall' targets, use them in Makefile.inc1. Headers from the following makefiles were not installed before (during `includes' in Makefile.inc1): kerberos5/lib/libtelnet/Makefile lib/libbz2/Makefile lib/libdevinfo/Makefile lib/libform/Makefile lib/libisc/Makefile lib/libmenu/Makefile lib/libmilter/Makefile lib/libpanel/Makefile Replaced all `beforeinstall' targets for installing includes with the INCS stuff. Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS, and for compatibility with NetBSD. Similarly for INCOWN, INCGRP, and INCMODE. Consistently use INCLUDEDIR instead of /usr/include. gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes were only lightly tested due to the missing contrib/libstdc++-v3. I fully tested the pre-WIP_GCC31 version of this patch with the contrib/libstdc++.295 stuff. These changes have been tested on i386 with the -DNO_WERROR "make world" and "make release".
* Resurrect Lite1's gamma() as C99's tgamma(). Minimal changes.bde2002-03-266-24/+42
|
* Fixed some bugs in the description of plain gamma() (and gammaf()).bde2002-03-261-19/+19
| | | | | Give a more detailed and correct history of when gamma() was actually the gamma function.
* Fixed some minor style bugs.bde2002-03-261-2/+2
|
* Remove __P() usage.obrien2002-03-215-189/+190
|
* Fix SCM ID's.obrien2002-03-213-9/+7
|
* We need an frexp() function.obrien2002-03-011-1/+1
|
* Add ifdef sparc64.jake2002-01-021-1/+1
|
* Fix style bugs (mostly remove 'extern' from function prototypes)phantom2001-12-132-202/+206
| | | | Inspired by: conversation with bde
* * remove reference to m68k-dependent sourcesphantom2001-12-131-7/+1
| | | | * fix comment
* Grammar nit.ru2001-11-211-1/+1
|
* mdoc(7) police: fixed bugs from rev. 1.15.ru2001-11-201-14/+14
|
* gamma(x) actually returns \log(|\Gamma(x)|), so correct the mandwmalone2001-11-051-16/+28
| | | | | | | | | | page and add an historical note explaining this. This patch is based on Stephen's. We still need someone to implement tgamma. PR: 28972, 31764 Submitted by: Stephen Montgomery-Smith <stephen@math.missouri.edu>
* Match parenthesis and don't give names to return values.dd2001-10-151-3/+2
| | | | PR: 31214
* Fixed missing quoting of >= (in ceil.3) and <= (in floor.3) by reverting tobde2001-10-132-7/+7
| | | | | | | describing these operators in English. This completes the fix in rev.1.3 (rev.1.2 got this wrong by describing wrong operators in English). Fixed bitrot and improved English in the DESCRIPTION section.
* Fixed missing quoting of [-1, +1].bde2001-10-132-2/+4
| | | | Submitted by: phantom
OpenPOWER on IntegriCloud