math/gen: yet another little decimal formatting tool
authorSzabolcs Nagy <nsz@port70.net>
Mon, 27 Jan 2014 13:15:56 +0000 (14:15 +0100)
committerSzabolcs Nagy <nsz@port70.net>
Mon, 27 Jan 2014 13:15:56 +0000 (14:15 +0100)
src/math/gen/Makefile
src/math/gen/tog.c [new file with mode: 0644]

index 9be541d..ad1e280 100644 (file)
@@ -8,7 +8,7 @@ T=$(wildcard t*.c)
 CC=musl-gcc
 #CC=gcc
 
-all: gen check mgen tof toa toe tox next prev rnd
+all: gen check mgen tof toa toe tog tox next prev rnd
 
 %:%.o
 %:%.c
@@ -24,5 +24,5 @@ mgen: gen.c util.c mplibm.c
        $(CC) -o $@ $(CFLAGS) -lm $^
 
 clean:
-       rm -f gen check mgen tof toa toe tox next prev rnd
+       rm -f gen check mgen tof toa toe tog tox next prev rnd
 
diff --git a/src/math/gen/tog.c b/src/math/gen/tog.c
new file mode 100644 (file)
index 0000000..ec0f687
--- /dev/null
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+int main(int argc, char *argv[])
+{
+       int i;
+       float f;
+       double d;
+       long double ld;
+       char *eptr;
+
+       for (i = 1; i < argc; i++) {
+               errno = 0;
+               f = strtof(argv[i], &eptr);
+               printf("%.42g  (*eptr:%d errno:%d)\n", f, *eptr, errno);
+               errno = 0;
+               d = strtod(argv[i], &eptr);
+               printf("%.42g  (*eptr:%d errno:%d)\n", d, *eptr, errno);
+               errno = 0;
+               ld = strtold(argv[i], &eptr);
+               printf("%.42Lg  (*eptr:%d errno:%d)\n", ld, *eptr, errno);
+       }
+       return 0;
+}