diff --git a/src/math/Makefile b/src/math/Makefile index 8c640ac..9199580 100644 --- a/src/math/Makefile +++ b/src/math/Makefile @@ -1,5 +1,5 @@ CFLAGS+=-g -pipe -std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wno-unused-function -Wno-missing-braces -CFLAGS+=-Wno-unknown-pragmas -fno-builtin -ffloat-store -frounding-math -D_GNU_SOURCE +CFLAGS+=-Wno-unknown-pragmas -fno-builtin -frounding-math -D_GNU_SOURCE LDFLAGS+=-g -lm SRC=$(sort $(wildcard *.c)) @@ -17,7 +17,7 @@ clean: $(BIN): util.o -%.o: %.c sanity/%.h ucb/%.h crlibm/%.h util.h +%.o: %.c sanity/%.h ucb/%.h crlibm/%.h special/%.h util.h $(CC) $(CFLAGS) -c -o $@ $< %: %.c %: %.o diff --git a/src/math/special/asinhl.h b/src/math/special/asinhl.h index 1054606..ab0c408 100644 --- a/src/math/special/asinhl.h +++ b/src/math/special/asinhl.h @@ -3,3 +3,4 @@ T(RN, inf, inf, 0 T(RN, -inf, -inf, 0x0p+0, 0) T(RN, 0x0p+0L, 0x0p+0L, 0x0p+0, 0) T(RN, -0x0p+0L, -0x0p+0L, 0x0p+0, 0) +T(RN, 0x1.23456789abcdefp-35L, 0x1.23456789abcdefp-35L, 0x1.f6bfb2p-10, INEXACT) diff --git a/src/math/special/exp2.h b/src/math/special/exp2.h index 95e131a..488577c 100644 --- a/src/math/special/exp2.h +++ b/src/math/special/exp2.h @@ -5,3 +5,12 @@ T(RN, -0x1p+0, 0x1p-1, 0x0p+0, 0) T(RN, inf, inf, 0x0p+0, 0) T(RN, -inf, 0x0p+0, 0x0p+0, 0) T(RN, nan, nan, 0x0p+0, 0) +T(RN, 0x1.ff8p+0, 0x1.ff4eaca4391b6p+1, 0x1.2e60c6p-3, INEXACT) +T(RN, -0x1.fef3333333333p+9, 0x1.125fbee2506bp-1022, -0x1.c612ecp-3, INEXACT) +T(RN, -0x1.ffp+9, 0x1p-1022, 0x0p+0, 0) +T(RN, -0x1.ff0cccccccccdp+9, 0x1.ddb680117aa8ep-1023, 0x1.966dfcp-3, INEXACT|UNDERFLOW) +T(RN, -0x1.ff8p+9, 0x1p-1023, 0x0p+0, 0) +T(RN, 0x1.fff3333333333p+9, 0x1.ddb680117aa8ep+1023, 0x1.966dfcp-2, INEXACT) +T(RN, 0x1p+10, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.0006666666666p+10, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.91eb851eb851fp+1, 0x1.1a167423fc31cp+3, 0x1.9287b8p-2, INEXACT) diff --git a/src/math/special/exp2f.h b/src/math/special/exp2f.h index b8d3579..6b64326 100644 --- a/src/math/special/exp2f.h +++ b/src/math/special/exp2f.h @@ -5,3 +5,10 @@ T(RN, -0x1p+0, 0x1p-1, 0x0p+0, 0) T(RN, inf, inf, 0x0p+0, 0) T(RN, -inf, 0x0p+0, 0x0p+0, 0) T(RN, nan, nan, 0x0p+0, 0) +T(RN, -0x1.2bccccp+7, 0x1p-149, 0x1.db3feap-2, INEXACT|UNDERFLOW) +T(RN, -0x1.2cp+7, 0x0p+0, -0x1p-1, INEXACT|UNDERFLOW) +T(RN, -0x1.2c3334p+7, 0x0p+0, -0x1.ddb5fcp-2, INEXACT|UNDERFLOW) +T(RN, 0x1.ff999ap+6, 0x1.ddb6a2p+127, 0x1.a36a36p-2, INEXACT) +T(RN, 0x1p+7, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.003334p+7, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.91eb86p+1, 0x1.1a1676p+3, 0x1.07c524p-2, INEXACT) diff --git a/src/math/special/exp2l.h b/src/math/special/exp2l.h index 087df12..6c387eb 100644 --- a/src/math/special/exp2l.h +++ b/src/math/special/exp2l.h @@ -5,3 +5,10 @@ T(RN, -0x1p+0L, 0x1p-1L, 0 T(RN, inf, inf, 0x0p+0, 0) T(RN, -inf, 0x0p+0L, 0x0p+0, 0) T(RN, nan, nan, 0x0p+0, 0) +T(RN, -0x1.00f799999999999ap+14L, 0x1p-16445L, 0x1.db4082p-2, INEXACT|UNDERFLOW) +T(RN, -0x1.00f8p+14L, 0x0p+0L, -0x1p-1, INEXACT|UNDERFLOW) +T(RN, -0x1.00f8666666666666p+14L, 0x0p+0L, -0x1.ddb68p-2, INEXACT|UNDERFLOW) +T(RN, 0x1.ffff333333333334p+13L, 0x1.ddb680117ab141f6p+16383L, -0x1.b531eep-2, INEXACT) +T(RN, 0x1p+14L, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.0000666666666666p+14L, inf, 0x0p+0, INEXACT|OVERFLOW) +T(RN, 0x1.91eb851eb851eb86p+1L, 0x1.1a167423fc31b2ep+3L, 0x1.6b7e14p-2, INEXACT)