58 lines
1.1 KiB
Plaintext
58 lines
1.1 KiB
Plaintext
program main
|
|
fn base() -> u32
|
|
u32 1073741824
|
|
fn adjust(value: u32, delta: u32) -> u32
|
|
binary +
|
|
var value
|
|
var delta
|
|
fn doubled(value: u32) -> u32
|
|
binary *
|
|
var value
|
|
u32 2
|
|
fn local_total() -> u32
|
|
local let offset: u32
|
|
u32 15
|
|
call adjust
|
|
call doubled
|
|
call base
|
|
var offset
|
|
fn high_enough(value: u32) -> bool
|
|
if
|
|
binary >
|
|
var value
|
|
u32 2147483660
|
|
binary <
|
|
var value
|
|
u32 2147483670
|
|
bool false
|
|
fn exact_u32() -> bool
|
|
binary =
|
|
call local_total
|
|
u32 2147483663
|
|
fn main() -> i32
|
|
call std.io.print_u32
|
|
call local_total
|
|
if
|
|
call high_enough
|
|
call local_total
|
|
int 0
|
|
int 1
|
|
test "u32 arithmetic returns exact fixture value"
|
|
call exact_u32
|
|
test "u32 comparison works in predicates"
|
|
call high_enough
|
|
call local_total
|
|
test "u32 division and ordering"
|
|
if
|
|
binary >=
|
|
binary /
|
|
call local_total
|
|
u32 3
|
|
u32 715827887
|
|
binary <=
|
|
binary /
|
|
call local_total
|
|
u32 3
|
|
u32 715827887
|
|
bool false
|