From 147e0f0269440fce15d6b88a8a90627f3a3b2df2 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 5 Mar 2025 18:20:54 -0500 Subject: Overhaul of constructors, making it more consistent and correct. Also changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct for unambiguity --- repl.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'repl.c') diff --git a/repl.c b/repl.c index 3b2e1af3..474532ec 100644 --- a/repl.c +++ b/repl.c @@ -177,10 +177,10 @@ static Int_t ast_to_int(env_t *env, ast_t *ast) number_t num; eval(env, ast, &num); switch (Match(t, IntType)->bits) { - case TYPE_IBITS64: return Int64_to_Int((int64_t)num.i64); - case TYPE_IBITS32: return Int32_to_Int(num.i32); - case TYPE_IBITS16: return Int16_to_Int(num.i16); - case TYPE_IBITS8: return Int8_to_Int(num.i8); + case TYPE_IBITS64: return Int$from_int64((int64_t)num.i64); + case TYPE_IBITS32: return Int$from_int32(num.i32); + case TYPE_IBITS16: return Int$from_int16(num.i16); + case TYPE_IBITS8: return Int$from_int8(num.i8); default: errx(1, "Invalid int bits"); } } @@ -196,12 +196,12 @@ static double ast_to_num(env_t *env, ast_t *ast) number_t num; eval(env, ast, &num); if (t->tag == BigIntType) - return Int_to_Num(num.integer); + return Num$from_int(num.integer, false); switch (Match(t, IntType)->bits) { - case TYPE_IBITS64: return (double)num.i64; - case TYPE_IBITS32: return (double)num.i32; - case TYPE_IBITS16: return (double)num.i16; - case TYPE_IBITS8: return (double)num.i8; + case TYPE_IBITS64: return Num$from_int64(num.i64, false); + case TYPE_IBITS32: return Num$from_int32(num.i32); + case TYPE_IBITS16: return Num$from_int16(num.i16); + case TYPE_IBITS8: return Num$from_int8(num.i8); default: errx(1, "Invalid int bits"); } } @@ -401,10 +401,10 @@ void eval(env_t *env, ast_t *ast, void *dest) return; \ } \ switch (Match(t, IntType)->bits) { \ - case 64: *(int64_t*)dest = Int_to_Int64(result, false); return; \ - case 32: *(int32_t*)dest = Int_to_Int32(result, false); return; \ - case 16: *(int16_t*)dest = Int_to_Int16(result, false); return; \ - case 8: *(int8_t*)dest = Int_to_Int8(result, false); return; \ + case 64: *(int64_t*)dest = Int64$from_int(result, false); return; \ + case 32: *(int32_t*)dest = Int32$from_int(result, false); return; \ + case 16: *(int16_t*)dest = Int16$from_int(result, false); return; \ + case 8: *(int8_t*)dest = Int8$from_int(result, false); return; \ default: errx(1, "Invalid int bits"); \ } \ break; \ @@ -467,7 +467,7 @@ void eval(env_t *env, ast_t *ast, void *dest) case ArrayType: { Array_t arr; eval(env, index->indexed, &arr); - int64_t raw_index = Int_to_Int64(ast_to_int(env, index->index), false); + int64_t raw_index = Int64$from_int(ast_to_int(env, index->index), false); int64_t index_int = raw_index; if (index_int < 1) index_int = arr.length + index_int + 1; if (index_int < 1 || index_int > arr.length) -- cgit v1.2.3