diff options
author | 2008-09-07 10:20:42 -0400 | |
---|---|---|
committer | 2008-09-07 10:20:42 -0400 | |
commit | dbb9192edae68feb230b5b231fcaf10fd68103e8 (patch) | |
tree | 251b269c6625e07edaba423511cac2cdad51bbed /src | |
parent | 79c2e18d5d237d48f0803bb874d72b4354ba9b25 (diff) |
toString for float and bool
Diffstat (limited to 'src')
-rw-r--r-- | src/c/urweb.c | 18 | ||||
-rw-r--r-- | src/prim.sml | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/c/urweb.c b/src/c/urweb.c index 78a8e0f8..7ed582da 100644 --- a/src/c/urweb.c +++ b/src/c/urweb.c @@ -681,3 +681,21 @@ lw_Basis_string lw_Basis_intToString(lw_context ctx, lw_Basis_int n) { ctx->heap_front += len+1; return r; } + +lw_Basis_string lw_Basis_floatToString(lw_context ctx, lw_Basis_float n) { + int len; + char *r; + + lw_check_heap(ctx, FLOATS_MAX); + r = ctx->heap_front; + sprintf(r, "%g%n", n, &len); + ctx->heap_front += len+1; + return r; +} + +lw_Basis_string lw_Basis_boolToString(lw_context ctx, lw_Basis_bool b) { + if (b == lw_Basis_False) + return "False"; + else + return "True"; +} diff --git a/src/prim.sml b/src/prim.sml index 8c0e03f7..2c24fa0a 100644 --- a/src/prim.sml +++ b/src/prim.sml @@ -49,9 +49,9 @@ fun int2s n = fun float2s n = if Real64.compare (n, Real64.fromInt 0) = LESS then - "-" ^ Real64.toString (Real64.~ n) ^ "L" + "-" ^ Real64.toString (Real64.~ n) else - Real64.toString n ^ "L" + Real64.toString n fun p_t_GCC t = case t of |