From 4b294e47144da00ae4b9568fed39569d187ce07e Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Fri, 27 Mar 2026 17:23:26 -0400 Subject: Fix doubles --- src/runtime.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/runtime.c b/src/runtime.c index a77fbf4..6f3759f 100644 --- a/src/runtime.c +++ b/src/runtime.c @@ -212,10 +212,14 @@ double pit_as_double(pit_runtime *rt, pit_value v) { pit_error(rt, "invalid use of value as double"); return 0.0; } - return (double) v; + union { double dval; u64 ival; } x; + x.ival = v; + return x.dval; } pit_value pit_double_new(pit_runtime *rt, double d) { - return pit_value_new(rt, PIT_VALUE_SORT_DOUBLE, (u64) d); + union { double dval; u64 ival; } x; + x.dval = d; + return pit_value_new(rt, PIT_VALUE_SORT_DOUBLE, x.ival); } i64 pit_as_integer(pit_runtime *rt, pit_value v) { -- cgit v1.2.3