diff options
| -rw-r--r-- | builtins/nums.h | 2 | ||||
| -rw-r--r-- | compile.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/builtins/nums.h b/builtins/nums.h index ec1663a2..b426f6ef 100644 --- a/builtins/nums.h +++ b/builtins/nums.h @@ -11,6 +11,8 @@ #define Num_t double #define Num32_t float +#define N32(n) ((float)n) +#define N64(n) ((double)n) CORD Num$as_text(const double *f, bool colorize, const TypeInfo *type); int32_t Num$compare(const double *x, const double *y, const TypeInfo *type); @@ -1307,7 +1307,7 @@ CORD compile(env_t *env, ast_t *ast) } case Int: return CORD_asprintf("I%ld(%ld)", Match(ast, Int)->bits, Match(ast, Int)->i); case Num: { - return CORD_asprintf(Match(ast, Num)->bits == 64 ? "%.9g" : "(float)%.9g", Match(ast, Num)->n); + return CORD_asprintf(Match(ast, Num)->bits == 64 ? "N64(%.9g)" : "N32(%.9g)", Match(ast, Num)->n); } case Length: { ast_t *expr = Match(ast, Length)->value; |
