summaryrefslogtreecommitdiffstats
path: root/lib/libm (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* We are done providing support for the vax.deraadt2016-03-092-32/+2
| | | | lots of agreement.
* Fix wrong answer if the imaginary part is zero.shadchin2015-12-183-3/+9
| | | | | | NetBSD also turn off this piece of code. ok tb@
* Fix behavior csqrt, should beshadchin2015-12-183-6/+6
| | | | | | | | | | | csqrt(conj(z)) == conj(csqrt(z)) Before csqrt(-4.0 + -0.0i) = 0.0 + 2.0j but should be csqrt(-4.0 + -0.0i) = 0.0 - 2.0j ok tb@, also discussed with daniel@
* update NAME section to include all documented functions,jmc2015-11-102-6/+10
| | | | | | or otherwise change Dt to reflect the name of an existing function; feedback/ok schwarze
* From FreeBSD 23397:shadchin2015-11-061-7/+7
| | | | | | | | | | | | | 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 ok miod@
* Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.miod2015-09-181-3/+3
|
* use .Va for global variables, and .Vt where the type is includedschwarze2015-09-141-9/+9
|
* Avoid left-shifting a negative integer, which is undefined. Replacenaddy2015-08-201-3/+3
| | | | | it with the intended value, in a defined way. From FreeBSD (Dimitry Andric). ok miod@ deraadt@ kettenis@
* fix a case where ceill() returns 1.0L: in the x86 extended precision formatnaddy2015-08-121-1/+1
| | | | | the fraction part has no implicit bit ok deraadt@
* Make exponents of x and y signed and fix esx and esymartynas2015-07-191-4/+5
| | | | | | | comparisons. The offending input in gfortran's round_4.f90 was nextafterl(0.10000000000000000000135525271560688L, -INFINITY) which caused an ulp addition rather than subtraction. Reported by John Marino @ DragonFlyBSD.
* Adapt previous to extended-precision, and fix single-precision constants.martynas2015-07-161-2/+2
|
* Signs of cacosh/cacoshf were not always correct (e.g., -1.1 -1.1i),martynas2015-07-162-4/+4
| | | | | | as found by fortran regression tests. Also added some complex regression tests for cacosh, casinh, catanh. Reported by John Marino @ DragonFlyBSD.
* Fix logic botch causing warnings with Clang. Reported by dhill, matchesmiod2015-01-222-12/+12
| | | | similar changes in FreeBSD a few years ago.
* Possibly uninitialized variable. From Clang via dhill.miod2015-01-221-1/+1
|
* Missing $OpenBSD$'s.krw2015-01-2013-0/+13
| | | | ok deraadt@
* remove .Tn; from Jan Stary <hans at stare dot cz>schwarze2015-01-155-107/+47
|
* Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt.kettenis2014-09-122-1/+31
| | | | | The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
* Switch from <sys/endian.h> or <machine/endian.h> to the new,guenther2014-07-213-8/+6
| | | | | | being-standardized <endian.h> ok deraadt@ millert@ beck@
* Extended precision floating-point numbers have an explicit integer part bit.kettenis2014-06-051-11/+10
| | | | | | | Correctly account for this bit, otherwise we'll get the wrong result for some inputs. ok martynas@, daniel@
* Make sure STRICT_ASSIGN handles double as well. From FreeBSD, where thekettenis2014-06-021-2/+2
| | | | | | | | | | commit messages that fixes this says: "it was intentionally left broken as an optimization". right! ok martynas@, daniel@
* It's been a quarter century: we can assume volatile is present with that name.guenther2014-04-1828-322/+322
|
* Retire hp300, mvme68k and mvme88k ports. These ports have no users, keepingmiod2014-03-1860-2702/+2
| | | | | | | this hardware alive is becoming increasingly difficult, and I should heed the message sent by the three disks which have died on me over the last few days. Noone sane will mourn these ports anyway. So long, and thanks for the fish.
* Make floor round to integral value less than x, when x is tiny.martynas2014-02-112-6/+8
| | | | Reported by dcoppa@, thanks! OK kettenis@, dcoppa@.
* unsigned char casts for ctype macrosderaadt2013-11-221-3/+3
| | | | ok martynas
* Trick the compiler that volatile temporary is used while raisingmartynas2013-11-123-0/+12
| | | | the underflow.
* Declare __p1evll and __polevll protos in math_private.h instead ofmartynas2013-11-1210-27/+30
| | | | redeclaring each time in ld{80,128}. Pointed out by theo.
* Add parentheses around comparison in operand of ^. Pointed out by theo.martynas2013-11-122-10/+10
|
* Add explicit braces to avoid ambiguous else. Pointed out by theo.martynas2013-11-1210-18/+27
|
* NaN -> \*(Namartynas2013-11-037-23/+23
| | | | | {infinity, inf} -> \*(If OK jmc@
* no longer any need to quote macro lines with >9 args;jmc2013-08-143-9/+9
| | | | From: Jan Stary
* Switch time_t, ino_t, clock_t, and struct kevent's ident and dataguenther2013-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | members to 64bit types. Assign new syscall numbers for (almost all) the syscalls that involve the affected types, including anything with time_t, timeval, itimerval, timespec, rusage, dirent, stat, or kevent arguments. Add a d_off member to struct dirent and replace getdirentries() with getdents(), thus immensely simplifying and accelerating telldir/seekdir. Build perl with -DBIG_TIME. Bump the major on every single base library: the compat bits included here are only good enough to make the transition; the T32 compat option will be burned as soon as we've reached the new world are are happy with the snapshots for all architectures. DANGER: ABI incompatibility. Updating to this kernel requires extra work or you won't be able to login: install a snapshot instead. Much assistance in fixing userland issues from deraadt@ and tedu@ and build assistance from todd@ and otto@
* Document lgamma_r, lgammaf_r, and lgammal_r.millert2013-08-071-2/+35
| | | | Prodded by espie@, OK martynas@
* simple inaccurate implementation of lrint* functions on vax, just soespie2013-08-072-2/+58
| | | | | we have them. Compiles on vax. okay martynas@
* scalbnf on vax, okay miod@espie2013-08-061-1/+8
|
* tgamma(+-0) == +-Infkettenis2013-08-051-1/+3
| | | | ok martynas@
* Fix a couple of corner cases in the implementation of pow(3) to make itkettenis2013-08-023-9/+15
| | | | | | | | | | | compatible with C99. Most notably: - 1**y == 1, even if y is NaN - (-1)**+-Inf == 1 and adjust the cephes testsuite to test for the right thing here. ok martynas@
* more library historyschwarze2013-07-1711-40/+85
| | | | | facts checked by sobrado@ style tweaks and ok jmc@
* Fix atan2f() and hypotf() by actually converting both their arguments to themiod2013-07-152-4/+6
| | | | larger type and passing them both the the double routine.
* use some generic code on vax, to do round/roundf/scalbln...espie2013-07-153-83/+5
| | | | | | | | suggested by martynas@ okay miod@ (just rearranges the !vax makefile, no compile change there)
* use atan2f to add atanfespie2013-07-151-1/+8
| | | | okay martynas@
* bring reference C code that's not compiled in synch with asm codeespie2013-07-156-6/+50
| | | | okay martynas@
* add some missing asm functions to vax: long double as aliases to double,espie2013-07-156-10/+51
| | | | | | | | | and float functions by cvtfd/cvtdf (like in netbsd) scalbnf will have to wait, as it's more complicated... brings vax in line with the rest. okay miod@/martynas@
* VAX ELF userland bits. Consists mostly of register prefix additions.miod2013-07-059-490/+490
|
* ... and gain rintf by using the same technique, along with aliases forespie2013-07-051-1/+24
| | | | | | ceill/floorl okay martynas@, checked for build by miod@ as well. (note that these don't require bumps, as vax has no shared libraries...)
* implement floorf and ceilf: same technique as floor and ceil, just withespie2013-07-051-2/+34
| | | | | | | appropriate constant to the mantissa size (and document what L is along the way). okay martynas@, tested by miod@ for results
* reorganize NOIEEE_SRCS so that files not compiled on vax becauseespie2013-07-033-78/+12
| | | | | | | | of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf okay martynas@
* with DBL vs LDBL fixed, tedu some source in noieee which is actually theespie2013-07-0330-1777/+25
| | | | | | same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
* test LDBL_MANT_DIG == DBL_MANT_DIG instead of hardcoding 53.espie2013-07-0369-171/+171
| | | | | | -> test becomes meaningful on vax No actual change, no bump okay martynas@
* use fancy .In macro for includes. from Jan Klemkow. ok jmc schwarzetedu2013-06-0555-166/+166
|
* Switch libc and libm to use strong aliases rather than weak aliasesmartynas2013-03-2895-156/+156
| | | | | | | | | | | where appropriate. Among other things makes the symbols consistent across all architectures (notably where ldbl mantissa is 53 bits). While at it, kill unused LINTLIBRARY/PROTOLIB1 cruft which was there to trick lint into recording the right prototypes for aliased functions. Most of the work done at the awesome n2k13 hackathon. Agreed by kettenis@, guenther@, matthew@.