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))
$(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
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)
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)
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)
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)