#
1.124 |
|
29-Mar-2024 |
miod |
Simplify the conditionals for architectures which do not need any particular md files lists. ok guenther@ deraadt@
|
Revision tags: OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE OPENBSD_7_5_BASE
|
#
1.123 |
|
21-Jan-2022 |
gnezdo |
Unplug assembly implementations of trig functions on x86 platforms
The same change was done by NetBSD some time back as:
Disable x87 implementations of sin, cos, tan.
The x87 hardware uses a bad approximation to pi for argument reduction, and consequently yields bad answers for inputs near pi or pi/2.
OK mbuhl@, tested by mbuhl@ and phessler@
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.122 |
|
27-Apr-2021 |
drahn |
riscv64 additions for libm ok kettenis@
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.121 |
|
07-Nov-2020 |
kettenis |
Fix ilogb(3) implementation. The results have to match FP_ILOGB0 and FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions. Drop these in favour of C implementations. Als reimplement ilogbl(3) by providing separate ld80 and ld128 implementations that replace the existing implementation which may hit an infinite loop when built for quad-precision long double.
ok patrick@, gkoehler@
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.120 |
|
28-Jun-2020 |
kettenis |
Add powerpc64 support.
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.123 |
|
21-Jan-2022 |
gnezdo |
Unplug assembly implementations of trig functions on x86 platforms
The same change was done by NetBSD some time back as:
Disable x87 implementations of sin, cos, tan.
The x87 hardware uses a bad approximation to pi for argument reduction, and consequently yields bad answers for inputs near pi or pi/2.
OK mbuhl@, tested by mbuhl@ and phessler@
|
Revision tags: OPENBSD_7_0_BASE
|
#
1.122 |
|
27-Apr-2021 |
drahn |
riscv64 additions for libm ok kettenis@
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.121 |
|
07-Nov-2020 |
kettenis |
Fix ilogb(3) implementation. The results have to match FP_ILOGB0 and FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions. Drop these in favour of C implementations. Als reimplement ilogbl(3) by providing separate ld80 and ld128 implementations that replace the existing implementation which may hit an infinite loop when built for quad-precision long double.
ok patrick@, gkoehler@
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.120 |
|
28-Jun-2020 |
kettenis |
Add powerpc64 support.
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.122 |
|
27-Apr-2021 |
drahn |
riscv64 additions for libm ok kettenis@
|
Revision tags: OPENBSD_6_9_BASE
|
#
1.121 |
|
07-Nov-2020 |
kettenis |
Fix ilogb(3) implementation. The results have to match FP_ILOGB0 and FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions. Drop these in favour of C implementations. Als reimplement ilogbl(3) by providing separate ld80 and ld128 implementations that replace the existing implementation which may hit an infinite loop when built for quad-precision long double.
ok patrick@, gkoehler@
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.120 |
|
28-Jun-2020 |
kettenis |
Add powerpc64 support.
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.121 |
|
07-Nov-2020 |
kettenis |
Fix ilogb(3) implementation. The results have to match FP_ILOGB0 and FP_ILOGBNAN which isn't the case for the amd64 and i386 assembly versions. Drop these in favour of C implementations. Als reimplement ilogbl(3) by providing separate ld80 and ld128 implementations that replace the existing implementation which may hit an infinite loop when built for quad-precision long double.
ok patrick@, gkoehler@
|
Revision tags: OPENBSD_6_8_BASE
|
#
1.120 |
|
28-Jun-2020 |
kettenis |
Add powerpc64 support.
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.120 |
|
28-Jun-2020 |
kettenis |
Add powerpc64 support.
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.119 |
|
18-Jul-2018 |
naddy |
Remove the unused leftovers of the 4.4BSD libm, which was only used on non-IEEE platforms. Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. ok millert@ tb@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.118 |
|
10-Mar-2018 |
kettenis |
Implement sicos(3), sincosf(3) and sincosl(3). These functions are common extensions and modern compilers (such as clang) will use them to optimize separate calculations of sine and cosine.
ok tom@, patrick@, deraadt@, jmc@
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.117 |
|
28-Feb-2018 |
kettenis |
Remove CFLAGS+=-mfloat-abi=softfp that I accidentally committed.
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.116 |
|
28-Feb-2018 |
kettenis |
Change floating-point mode/environment control functions to operate on both the hardfloat (FPU registers) and softfloat (software) state. This makes these functions work correctly when mixing hardfloat and softfloat code. Disable trapping for softfloat since most (if not all) ARMv7 and ARMv8 hardware that is on the market doesn't support trapping of floating-point exceptions.
ok patrick@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.115 |
|
11-Jan-2017 |
patrick |
Add support for AArch64. Based on FreeBSD's msun header, modified to look and feel like our code.
|
#
1.114 |
|
12-Sep-2016 |
guenther |
Reduce libm's exports and make internal calls go direct. All dependencies on libc are now via reserved/standardized names.
ok kettenis@ millert@ deraadt@
|
#
1.113 |
|
01-Sep-2016 |
tedu |
remove references to sparc
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.112 |
|
11-May-2016 |
deraadt |
remove hppa64 port, which we never got going beyond broken single users. hppa reverse-stack gives us a valuable test case, but most developers don't have a 2nd one to proceed further with this. ok kettenis
|
#
1.111 |
|
30-Mar-2016 |
jmc |
for some time now mandoc has not required MLINKS to function correctly - logically complete that now by removing MLINKS from base;
authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades;
ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
|
#
1.110 |
|
10-Mar-2016 |
jmc |
no need for SUBDIR now that vax is gone; ok deraadt
|
#
1.109 |
|
09-Mar-2016 |
deraadt |
We are done providing support for the vax. lots of agreement.
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.108 |
|
18-Sep-2015 |
miod |
Move s_signgam.c to PURE_SRCS, so that it also gets built on vax.
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
|
#
1.107 |
|
12-Sep-2014 |
kettenis |
Provide a sparc64 version of sqrtl(3) that simply calls _Qp_sqrt. The generic sqrtl(3) is not nearly accurate enough for quad-precision floating point.
|
Revision tags: OPENBSD_5_6_BASE
|
#
1.106 |
|
18-Mar-2014 |
miod |
Retire hp300, mvme68k and mvme88k ports. These ports have no users, keeping 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.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.105 |
|
07-Aug-2013 |
espie |
simple inaccurate implementation of lrint* functions on vax, just so we have them. Compiles on vax. okay martynas@
|
Revision tags: OPENBSD_5_4_BASE
|
#
1.104 |
|
15-Jul-2013 |
espie |
use some generic code on vax, to do round/roundf/scalbln... suggested by martynas@
okay miod@
(just rearranges the !vax makefile, no compile change there)
|
#
1.103 |
|
03-Jul-2013 |
espie |
reorganize NOIEEE_SRCS so that files not compiled on vax because of assembly version are obvious. Move cproj/cprojf to the PURE club, as the asm support code provides copysignf
okay martynas@
|
#
1.102 |
|
03-Jul-2013 |
espie |
with DBL vs LDBL fixed, tedu some source in noieee which is actually the same as code in generic src. introduce PURE_SRCS for completely MI math code. okau martynas@
|
Revision tags: OPENBSD_5_3_BASE
|
#
1.101 |
|
15-Sep-2012 |
miod |
m88k does not have the m68k long double type actually (long double == double on this platform), so don't pretend it does, and don't build long double libm routines.
|
#
1.100 |
|
04-Sep-2012 |
okan |
remove lint leftovers; ok guenther@
|
#
1.99 |
|
02-Aug-2012 |
okan |
remove leftover NOLINT, WANTLINT, LINTFLAGS, LOBJ vars and lint targets.
ok guenther@
|
Revision tags: OPENBSD_5_1_BASE OPENBSD_5_2_BASE
|
#
1.98 |
|
22-Sep-2011 |
schwarze |
install infnan(3/VAX) into man3/vax/ on all archs; clean make build tested on i386; ok deraadt@, no objections from martynas@
|
#
1.97 |
|
19-Aug-2011 |
kettenis |
Bring libc and libm in line with the compiler now that we no longer have a 128-bit long double. Diff committed on behalf of martynas@
|
Revision tags: OPENBSD_5_0_BASE
|
#
1.96 |
|
24-Jul-2011 |
martynas |
Document fma, fmaf, fmal, nexttoward, nexttowardf, nexttowardl.
|
#
1.95 |
|
20-Jul-2011 |
martynas |
Document complex math library.
|
#
1.94 |
|
11-Jul-2011 |
martynas |
Remove the GCC2 optimizer workaround for sparc. After switching to GCC4 it doesn't generate broken code anymore. From Brad. Tested and verified by myself.
|
#
1.93 |
|
09-Jul-2011 |
martynas |
- Fix the cabs, and cabsf prototypes in the manual pages; it's been C99 complex (not struct complex) for couple of years. - Remove BUGS section; cabs is finally prototyped in complex.h. - Also document cabsl.
|
#
1.92 |
|
09-Jul-2011 |
martynas |
Don't reimplement the same thing twice. OK matthew@.
|
#
1.91 |
|
08-Jul-2011 |
martynas |
Move fabs(3) manual page from libm to libc, for consistency. The modf(3), frexp(3), ldexp(3), fpclassify(3) pages are in libc, too.
|
#
1.90 |
|
08-Jul-2011 |
martynas |
Remove the stupid commented out fabs(3), frexp(3), and modf(3) entries and unused implementations. It is clear that this situation won't change.
|
#
1.89 |
|
08-Jul-2011 |
martynas |
Revert (leaving the complex math part alone). Some stuff is depending on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
|
#
1.88 |
|
08-Jul-2011 |
martynas |
Finalize work on complex math routines, now that we have the extended-precision support. Mostly from Cephes.
|
#
1.87 |
|
08-Jul-2011 |
martynas |
Move fabs(3), frexp(3), and modf(3) to libm--nothing has been using them in libc for a very long time. OK guenther@.
|
#
1.86 |
|
07-Jul-2011 |
martynas |
Remove math(3). OK theo.
|
#
1.85 |
|
07-Jul-2011 |
martynas |
Document extended-precision routines.
|
#
1.84 |
|
06-Jul-2011 |
martynas |
Don't pull bsd.own.mk for NOPROFILE & NOPIC -- the libm_i387 thing is gone since 1999.
|
#
1.83 |
|
06-Jul-2011 |
martynas |
Finalize work on the math library. It's time to do this monster commit, and deal with problems (if any) in tree.
Note that this adds the following functions. Ports with hacks might need adjustments.
nexttoward(3), fma(3), nexttowardf(3), fmaf(3), acoshl(3), asinhl(3), atanhl(3), coshl(3), sinhl(3), tanhl(3), expl(3), expm1l(3), logl(3), log10l(3), log1pl(3), log2l(3), modfl(3), cbrtl(3), hypotl(3), powl(3), erfl(3), erfcl(3), lgammal(3), tgammal(3), ceill(3), floorl(3), lrintl(3), llrintl(3), roundl(3), lroundl(3), llroundl(3), truncl(3), fmodl(3), remainderl(3), remquol(3), nextafterl(3), nexttowardl(3), fmal(3).
With this commit, our library implements all functionality required by C99. Documentation bits will follow.
|
#
1.82 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to extended-precision. Go for it miod@.
|
#
1.81 |
|
28-May-2011 |
martynas |
Adapt m68k MD functions to single-precision. Looked over by miod@.
|
#
1.80 |
|
25-May-2011 |
martynas |
Document nearbyint, nearbyintf, nearbyintl.
|
#
1.79 |
|
25-May-2011 |
martynas |
Document C99 floating-point environment.
|
#
1.78 |
|
28-Apr-2011 |
todd |
fix build ok martynas@
|
#
1.77 |
|
28-Apr-2011 |
martynas |
- enable fenv - add nearbyint, nearbyintf and nearbyintl implemented using fenv
|
Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE
|
#
1.76 |
|
19-Jul-2010 |
millert |
Add barebones manual pages for cimag(3), conj(3) and cproj(3) OK kettenis@ jmc@
|
Revision tags: OPENBSD_4_7_BASE
|
#
1.75 |
|
03-Feb-2010 |
miod |
Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@
|
#
1.74 |
|
06-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok pirofti@
|
#
1.73 |
|
05-Nov-2009 |
kettenis |
Provide assembly version of sqrtl(3).
ok otto@
|
#
1.72 |
|
26-Oct-2009 |
kettenis |
Add man pages for the fdim/fmin/fmax family of functions and make sure fdiml is defined on all architectures.
ok jmc@ (man pages) and martynas@
|
#
1.71 |
|
24-Oct-2009 |
jmc |
document log2() and log2f(); from thomas pfaff ok otto millert martynas
|
#
1.70 |
|
29-Jul-2009 |
martynas |
ieee, and ieeef aren't real, and the amount of functions it documents is getting ridiculous. split them into groups of copysign, ilogb, nextafter, scalbn. discussed long ago with millert@
|
#
1.69 |
|
28-Jul-2009 |
martynas |
document scalbln, scalblnf, scalblnl
|
#
1.68 |
|
25-Jul-2009 |
martynas |
int is big enough to fully represent exponents of all supported fp formats. which even for 80-bit & 128-bit long doubles is only 15 bits. therefore, scalbln, scalblnf, scalblnl are essentially the same as scalbn, scalbnf, scalbnl with bounds checking so that LONG_MIN..INT_MIN, and INT_MAX..LONG_MAX ranges properly raise exceptions & yield correct values. looks good to millert@
|
#
1.67 |
|
15-Jul-2009 |
martynas |
round, roundf, trunc, truncf for hppa; ok kettenis@
|
Revision tags: OPENBSD_4_6_BASE
|
#
1.66 |
|
19-Apr-2009 |
martynas |
make ldexpf behavior consistent with the double and extended-precision versions; spotted by kettenis@ while here also remove unused ldexp; it lives in libc ok kettenis@, "looks good" millert@
|
#
1.65 |
|
10-Apr-2009 |
martynas |
lrint, llrint, lrintf, llrintf for amd64. ok kettenis@, oga@
|
#
1.64 |
|
05-Apr-2009 |
martynas |
implement and use sqrt, sqrtf & fabsf in hardware; since it's faster that way. tested by myself. discussed w/ & ok miod@, millert@
|
#
1.63 |
|
28-Mar-2009 |
martynas |
add C99-conformant nan, nanf, nanl for vax. always return zero, since its fp does not have distinguished values for qnans. tested by naddy@; fixes libnova. ok theo
|
Revision tags: OPENBSD_4_5_BASE
|
#
1.62 |
|
12-Dec-2008 |
martynas |
space
|
#
1.61 |
|
12-Dec-2008 |
martynas |
document and mlink long double functions. ok jmc@
|
#
1.60 |
|
09-Dec-2008 |
martynas |
pass CPPFLAGS+= -D__STDC__ for vax, to get the right definitions from asm.h. discussed w/ millert@
|
#
1.59 |
|
09-Dec-2008 |
martynas |
- 80-bit and quad precision trigonometric and other most important functions: acosl, asinl, atanl, atan2l, cosl, sinl, tanl, exp2l, frexpl, ilogbl, ldexpl, logbl, scalbnl, fabsl, hypotl, powl, sqrtl, rintl, copysignl, nanl, fdiml, fmaxl, fminl. mostly taken from freebsd, needed alot of changes to adapt. note, these are all c versions; and are quite slow when architectures have, e.g. sqrt. assembly versions will be added afterwards - make them .weak/__weak_alias to the double precision versions on other archs - no need to have two finites. finite() and finitef() are non-standard 3BSD obsolete versions of isfinite. remove from libm. make them weak_alias in libc to __isfinite and __isfinitef instead. similarly make 3BSD obsolete versions of isinf, isinff, isnan, isnanf weak_aliases to C99's __isinf, __isinff, __isnan, __isnanf - remove unused infinity.c. the c library has infinities for each supported platform - use STRICT_ASSIGN cast hack for _kernel_rem_pio2, so that the double version has a chance of working on i386 with extra precision - avoid storing multiple copies of the pi/2 array, since it won't vary - bump major due to removed finite/finitef. although they will be in libc, which anything is linked to, minor bump might be enough ok millert@. tested by sthen@, jsg@, ajacoutot@, kili@, naddy@
|
#
1.58 |
|
07-Oct-2008 |
martynas |
- noieee_src: adapt complex versions of the functions it already supports (which is all, except the float ones) ok millert@
|
#
1.57 |
|
16-Sep-2008 |
martynas |
gc unused files, the functions are in libc. ok millert@
|
#
1.56 |
|
11-Sep-2008 |
martynas |
since these got no ieee-specific code anymore, add fmin, fmax, fdim, fminf, fmaxf, fdimf, fdiml for VAX. looks good to millert@
|
#
1.55 |
|
09-Sep-2008 |
martynas |
sigh, gamma got lost
|
#
1.54 |
|
07-Sep-2008 |
martynas |
- replace dtoa w/ David's gdtoa, version 2008-03-15 - provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago
discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@
this commit does not include: - man page changes
|
Revision tags: OPENBSD_4_4_BASE
|
#
1.53 |
|
30-Jul-2008 |
jmc |
various markup/grammar fixes for previous, and a missing MLINK for remquof.3;
|
#
1.52 |
|
29-Jul-2008 |
martynas |
- add man pages for nan and remainder, from freebsd - mlink drem, dremf, remainderf to remainder; nanf to nan - describe that drem and dremf are obsolete aliases - remove descriptions for remainder and remainderf from ieee looked over by jmc@, but it's easier for him to work on when they are in tree
|
#
1.51 |
|
29-Jul-2008 |
martynas |
describe exp2, exp2f and mlink them
|
#
1.50 |
|
29-Jul-2008 |
martynas |
remove finite from ieee.3, and unmlink from makefile
|
#
1.49 |
|
24-Jul-2008 |
martynas |
- remove isinff, isnanf. this has been moved to libc - remove never-enabled signbit. libc has is now - add C99 implementations, from freebsd, for nan(), nanf() (needed to write _digittoint for it), exp2(), exp2f(), remquo(), remquof(), needed STRICT_ASSIGN macro for math_private.h - bump major man pages will follow exp2{,f} has been requested by chl@ ok millert@
|
#
1.48 |
|
21-Jul-2008 |
martynas |
NetBSD's C library supplies these functions -> OpenBSD's C library supplies these functions. in comments
|
#
1.47 |
|
21-Jul-2008 |
martynas |
rename lround.c lroundf.c llround.c llroundf.c to s_lround.c s_lroundf.c s_llround.c s_llroundf.c, for naming consistency looks fine to millert@
|
#
1.46 |
|
16-Jul-2008 |
martynas |
install infnan.3 only for vax. pointed out by millert@ ok millert@
|
#
1.45 |
|
12-Jun-2008 |
jmc |
Makefile: fix MLINKS lgamma.3: fix STANDARDS and HISTORY
|
#
1.44 |
|
11-Jun-2008 |
martynas |
- on non-ieee, rename gamma to tgamma, the 'true' gamma - make gamma an alias of lgamma - on ieee, add tgamma, based on gamma from non-ieee - fixes for tgamma/lgamma/exp/log, esp. special cases (some from freebsd); properly raise invalid fp operations on vax - also some general cleanup, ansification, man page (which was ok jmc@) - bump minor this makes some ports using tgamma possible; also consistifies behavior across openbsd/ieee and openbsd/non-ieee, and other operating systems much thanks sthen@, johan@, steven@, Simon Kuhnle, Wiktor Izdebski for testing ok millert@
|
#
1.43 |
|
11-Jun-2008 |
martynas |
drem{,f} are aliases for remainder{,f}, so: - document and mlink drem{,f} - drem->remainder on noieee, and make drem an alias - finite returns integer, n_support.c - general n_support.c ansification and cleanup - drem is now an ALTENTRY for remainder, in n_support.S help with man page from jmc@ and millert@ ok millert@
|
#
1.42 |
|
11-Jun-2008 |
martynas |
add C99 round(), based on ieee_src, for noieee_src. tested on VAX ok millert@
|
Revision tags: OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.41 |
|
25-Sep-2006 |
kettenis |
Move llrint.c, llrintf.c, lrint.c and lrintf.c to s_llrint.c, s_llrintf.c, s_lrint.c and s_lrintf.c, and add i387-specific assembler versions.
ok deraadt@, otto@
|
Revision tags: OPENBSD_4_0_BASE
|
#
1.40 |
|
12-Jul-2006 |
brad |
add some more C99 functions: round(3) and roundf(3).
By Steven G. Kargl <kargl at troutmask dot apl dot washington.edu> From FreeBSD
|
#
1.39 |
|
19-Mar-2006 |
kettenis |
New amd64 exp(3). tested by steven@, ok otto@
|
#
1.38 |
|
18-Mar-2006 |
brad |
add some more C99 functions: trunc(3) and truncf(3).
From FreeBSD
ok deraadt@ millert@ otto@ jmc@
|
#
1.37 |
|
14-Mar-2006 |
otto |
amd64 asm code is not correct for exp(+/-Inf), so until somebody comes up with a correct asm version, use the C version of exp(3). ok steven@ kettenis@
|
Revision tags: OPENBSD_3_9_BASE
|
#
1.36 |
|
24-Nov-2005 |
deraadt |
use WANTLINT= (on all architectures)
|
#
1.35 |
|
17-Nov-2005 |
otto |
Introduce a few c99 functions: {l,ll}{rint,round}{,f}. From NetBSD via jason@. Man page fixes by jmc@, prodding by jsg@. ok mickey@
|
Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.34 |
|
06-Apr-2004 |
brad |
remove optimization workaround for sparc64 now that we're using gcc3.
ok deraadt@
|
Revision tags: OPENBSD_3_5_BASE
|
#
1.33 |
|
28-Feb-2004 |
deraadt |
reach into new amd64 directory
|
#
1.32 |
|
27-Feb-2004 |
deraadt |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many reasons for this, quite a few of them technical, and not all of them in response to Intel's broken ia32e crud. The gcc toolchain stays at x86_64 for now.
|
#
1.31 |
|
08-Feb-2004 |
deraadt |
add libm parts for amd64; much from netbsd, integration by mickey. Instead of mixing the i387 & xmm register components, we decide to explicitly seperate them. libm is already confusing enough as it is, thank you very much
|
Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE
|
#
1.30 |
|
27-Feb-2003 |
jason |
ieee_test isn't real, rename it to logb.3 and make everything link to that instead.
|
#
1.29 |
|
03-Jan-2003 |
miod |
Get the m88k libm to say no to drugs.
|
Revision tags: OPENBSD_3_2_BASE
|
#
1.28 |
|
22-May-2002 |
mickey |
add reminder and roundings
|
#
1.27 |
|
22-May-2002 |
mickey |
md sqrt() implementation
|
Revision tags: OPENBSD_3_1_BASE
|
#
1.26 |
|
30-Jan-2002 |
naddy |
Add native implementations of copysign() and copysignf() on alpha. From NetBSD; ok millert@
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.25 |
|
28-Aug-2001 |
art |
The sparc workaround is needed for sparc64 too.
|
#
1.24 |
|
26-Jun-2001 |
miod |
Correctly handle mvme88k settings here.
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.23 |
|
08-Nov-2000 |
deraadt |
put infnan in there, even though it is depricated
|
Revision tags: OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE
|
#
1.22 |
|
18-Jul-1999 |
deraadt |
I think that libm_i387 has lived too long
|
#
1.21 |
|
01-Jul-1999 |
deraadt |
provide MLINKS for "f" versions, and make sure they show up in whatis.db
|
#
1.20 |
|
28-Jun-1999 |
espie |
Bye, bye work-around.
|
#
1.19 |
|
03-Jun-1999 |
deraadt |
egcs generates broken code for -O2 on sparc
|
#
1.18 |
|
26-May-1999 |
espie |
Work-around: a few files trigger Internal Compiler Errors if compiled with -O2 on m68k.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.17 |
|
08-Mar-1999 |
millert |
pull in bsd.own.mk for NOPROFILE and NOPIC
|
#
1.16 |
|
07-Mar-1999 |
deraadt |
Never break the source tree builds if a _non-default compilation option_ has an issue. Fix it right, without breaking the source tree.
|
#
1.15 |
|
07-Mar-1999 |
deraadt |
previous commit broke MLINKS install
|
#
1.14 |
|
04-Mar-1999 |
millert |
move .include <bsd.lib.mk> up before NOPROFILE and NOPIC defines are used; evanc@concer.to
|
#
1.13 |
|
16-Nov-1998 |
deraadt |
use _USE_WRITE
|
Revision tags: OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.12 |
|
02-Mar-1998 |
millert |
protect internal "struct excpption" from conflicting one in gcc.
|
Revision tags: OPENBSD_2_2_BASE
|
#
1.11 |
|
01-Sep-1997 |
mickey |
missing VAX manual for infnan(3), from 4.4 BSD
|
Revision tags: OPENBSD_2_1_BASE
|
#
1.10 |
|
25-Mar-1997 |
rahnds |
Ok here is the mvme88k userland, minus a few important pieces. as, ld change need to be merged. It is known that shared libraries and C++ do not work. If anyone wants to step forward and take over the mvme88k port please do. It was dumped on me when the original developer, Nivas, left his previous job and started a new one.
I am trying to get the port in a shape that someone could take over.
|
#
1.9 |
|
14-Nov-1996 |
mickey |
correct LINKS usage
|
#
1.8 |
|
27-Oct-1996 |
downsj |
nopic
|
#
1.7 |
|
27-Oct-1996 |
deraadt |
NOPROFILE; from Mathieu.Herrb@mipnet.fr
|
#
1.6 |
|
25-Oct-1996 |
downsj |
We do i387 by default now.
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.5 |
|
30-Sep-1996 |
maja |
Add OpenBSD tag. -moj
|
#
1.4 |
|
30-Sep-1996 |
maja |
Allow the Makefile to work on strange machines like VAX :-) -moj
|
#
1.3 |
|
25-Mar-1996 |
tholo |
Somewhat better support for building lint library
|
#
1.2 |
|
14-Dec-1995 |
deraadt |
from netbsd: 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.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|