slovo/tests/i64-numeric-primitive.surface.lower
2026-05-22 08:38:43 +02:00

60 lines
1.2 KiB
Plaintext

program main
fn base() -> i64
i64 2147483648
fn adjust(value: i64, delta: i64) -> i64
binary +
var value
var delta
fn doubled(value: i64) -> i64
binary *
var value
i64 2
fn local_total() -> i64
local let offset: i64
i64 -7
call adjust
binary -
call doubled
call base
i64 0
var offset
fn high_enough(value: i64) -> bool
if
binary >
var value
i64 4294967280
binary <
var value
i64 4294967300
bool false
fn exact_i64() -> bool
binary =
call local_total
i64 4294967289
fn main() -> i32
call std.io.print_i64
call local_total
if
call high_enough
call local_total
int 0
int 1
test "i64 arithmetic returns exact fixture value"
call exact_i64
test "i64 comparison works in predicates"
call high_enough
call local_total
test "i64 division and ordering"
if
binary >=
binary /
call local_total
i64 3
i64 1431655763
binary <=
binary /
call local_total
i64 3
i64 1431655763
bool false