Commit Graph

52 Commits

Author SHA1 Message Date
simonb 2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
thorpej 5d3e829423 Add internal names for fp{get,set}{mask,round,sticky}(), and
externally-visible weak aliases for the internal names.
2002-01-13 21:45:39 +00:00
tron b1d32d0e07 Rename a parameter to fix build problem with new toolchain. 2001-11-08 11:24:07 +00:00
msaitoh f9b799b651 check LIBC_SCCS 2000-09-13 22:32:25 +00:00
mycroft c26054b799 Delint. 2000-01-22 22:40:58 +00:00
kleink 11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
mycroft b3b07a4c6e Another microoptimization. Take advantage of the addition already having set
the flags for the <=0 comparison.
1999-08-30 18:28:24 +00:00
mycroft 0560606383 Reuse the trick of loading 0.0 (rather than 1.0) and then modifying the
exponent.  It's a bit faster on some machines.
1999-08-30 18:01:40 +00:00
augustss 75d2dfe657 Remove more unused mulexp variables. 1999-08-30 15:11:32 +00:00
mycroft 5f34ffabca ldexp(denormal, exp>1023) would generate the wrong result in all non-overflow
cases.  Totally rework this code to fix this bug *and* make it faster.
1999-08-29 22:45:32 +00:00
mycroft 02a48bde49 Don't ever return -0.0. 1999-08-29 19:04:02 +00:00
mycroft 0d708431b7 Minor style change. 1999-08-29 18:40:50 +00:00
mycroft ea4b733810 Trivial KNF. 1999-08-29 18:39:35 +00:00
mycroft 17030e8106 Separate isnan() into a separate module, and make isinf()/isnan() use ieee.h. 1999-08-29 18:08:27 +00:00
pk 0ffda58ae9 A new implementation of _setjmp/_longjmp that uses the T_FLUSHWIN trap.
This means the stack frame and program counter can restored directly
from the jmp_buf, eliminating the need to backtrack through frames
which does not work in all cases.
1999-06-27 11:10:18 +00:00
mycroft 2b504929fa Just some minor cleanup. 1999-03-10 08:15:43 +00:00
bouyer dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
christos 7c990e0c7b delint 1998-11-14 19:31:01 +00:00
christos f2e15d15fa Fix the non pic version too. 1998-10-16 14:11:53 +00:00
christos 3d8121f3df PR/6285: Tom Ivar Helbekkmo: sigsetjmp/siglongjmp broken after current signal
changes.
1998-10-16 13:28:39 +00:00
kleink d541ca6d80 Need internal names for isinf() and isnan(). 1998-10-13 14:43:36 +00:00
christos 4d4de54f5f Make the sparc work again; some work from jason, some from me. 1998-09-29 05:55:48 +00:00
mycroft 982e920022 const poisoning. 1998-07-26 14:13:00 +00:00
tv 131c70b10d Change immediate label references to _C_LABEL(). 1998-07-01 02:16:27 +00:00
perry 4e067afcb1 RCS Id Police. 1998-01-09 03:15:09 +00:00
tv eb96023de7 Quick fix to repair runtime link problem with libc - "SYS_sigaltstack
undefined".  The sigaltstack structure layout didn't actually change on
the sparc, so just change the syscall name.  A better fix would probably
be to replace the direct system call with a function call to the libc
sigaltstack().
1997-12-04 21:00:18 +00:00
lukem 2a55b0f192 rcsid police 1997-10-09 10:07:40 +00:00
thorpej 697496a1e7 Pull in __flt_rounds() prototype. 1997-07-18 05:10:02 +00:00
christos 1394f01b4a RCSID fixes: Always use the NetBSD rcsid and the macro RCSID() defined in
<machine/asm.h>; Also syscalls should be protected using the SYSLIBC_SCCS
define not LIBC_SCCS
1997-07-16 14:37:13 +00:00
christos 91c9c62e44 Fix RCSID's 1997-07-13 18:45:15 +00:00
christos 43d6f49e0a Add missing math.h include
Fix RCSID's
1997-07-13 18:43:18 +00:00
christos faa85c1edf Add missing math.h include.
Fix RCSID's
1997-07-13 18:42:55 +00:00
christos 24329bd304 Add missing math.h include
Fix RCSID's
1997-07-13 18:42:29 +00:00
mrg 368d2cb79c update for removed DEFS.h. 1996-11-18 16:08:30 +00:00
pk 76dfffe335 Remove DEFS.h, which has been just a placeholder for a long time. 1996-11-16 20:53:13 +00:00
pk 7e18fd4e93 Avoid load/store doubles; jmp_buf is long aligned (Michael Eriksson; PR#2180) 1996-03-06 21:50:20 +00:00
jtc daa40d9a50 Add explicit return type 1996-02-05 04:30:51 +00:00
pk c060b81fb7 Make PIC-safe. 1995-08-14 15:47:32 +00:00
pk a3fa60161e Preserve the equality "x == y*(x/y)+(x%y)" for negative y; from Lon Willett. 1995-04-22 09:33:49 +00:00
jtc a0c1305064 Added __flt_rounds, fp{get,set}{mask,round,sticky}. 1995-04-10 21:09:06 +00:00
pk 7aa7897748 Simplify. 1995-03-11 20:28:59 +00:00
mycroft 4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
cgd 572e3f3188 don't forget inifinity.c 1995-02-25 16:24:22 +00:00
cgd ea1ca14ecb need these for new gen/Makefile 1995-02-25 16:20:12 +00:00
pk 7530512a37 Machine dependent sig{set,long}jmp(). 1995-01-11 20:22:28 +00:00
deraadt 4438ac29e5 sigaltstack 1994-05-17 23:56:24 +00:00
pk e0bf9676e9 Insert some Position Independent Code. 1994-02-10 20:15:28 +00:00
pk 230b816542 Use %hi operator when fiddling a bit high... 1993-12-08 18:33:43 +00:00
pk d1639c316e Use sigstack() in stead of sigaltstack() until we have a sigaltstack()
in the kernel.
1993-12-08 11:25:12 +00:00
mycroft 448e711c78 Clean up deleted files. 1993-12-04 01:28:42 +00:00