Index: fusl/src/stdlib/ecvt.c |
diff --git a/fusl/src/stdlib/ecvt.c b/fusl/src/stdlib/ecvt.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..797b664ecfebc0841a23bae84aa62a70c5359e41 |
--- /dev/null |
+++ b/fusl/src/stdlib/ecvt.c |
@@ -0,0 +1,20 @@ |
+#define _GNU_SOURCE |
+#include <stdlib.h> |
+#include <stdio.h> |
+ |
+char *ecvt(double x, int n, int *dp, int *sign) |
+{ |
+ static char buf[16]; |
+ char tmp[32]; |
+ int i, j; |
+ |
+ if (n-1U > 15) n = 15; |
+ sprintf(tmp, "%.*e", n-1, x); |
+ i = *sign = (tmp[0]=='-'); |
+ for (j=0; tmp[i]!='e'; j+=(tmp[i++]!='.')) |
+ buf[j] = tmp[i]; |
+ buf[j] = 0; |
+ *dp = atoi(tmp+i+1)+1; |
+ |
+ return buf; |
+} |