program main fn u32_zero_text() -> string call std.num.u32_to_string u32 0 fn u32_high_text() -> string call std.num.u32_to_string u32 4294967295 fn u64_zero_text() -> string call std.num.u64_to_string u64 0 fn u64_high_text() -> string call std.num.u64_to_string u64 18446744073709551615 fn u64_beyond_u32_text() -> string call std.num.u64_to_string u64 4294967296 fn main() -> i32 call std.io.print_string call u32_zero_text call std.io.print_string call u32_high_text call std.io.print_string call u64_zero_text call std.io.print_string call u64_high_text call std.io.print_string call u64_beyond_u32_text if binary = call std.string.len call u64_beyond_u32_text int 10 int 0 int 1 test "u32 zero to string" binary = call u32_zero_text string "0" test "u32 high to string" binary = call u32_high_text string "4294967295" test "u32 high string length" binary = call std.string.len call u32_high_text int 10 test "u64 zero to string" binary = call u64_zero_text string "0" test "u64 high to string" binary = call u64_high_text string "18446744073709551615" test "u64 beyond u32 to string" binary = call u64_beyond_u32_text string "4294967296" test "u64 high string length" binary = call std.string.len call u64_high_text int 20