106 lines
2.2 KiB
Plaintext
106 lines
2.2 KiB
Plaintext
program main
|
|
fn make_i32_values(base: i32) -> (array i32 3)
|
|
array i32
|
|
var base
|
|
binary +
|
|
var base
|
|
int 1
|
|
binary +
|
|
var base
|
|
int 2
|
|
fn make_i64_values(base: i64) -> (array i64 3)
|
|
array i64
|
|
var base
|
|
binary +
|
|
var base
|
|
i64 1
|
|
binary +
|
|
var base
|
|
i64 2
|
|
fn make_f64_values(base: f64) -> (array f64 3)
|
|
array f64
|
|
var base
|
|
binary +
|
|
var base
|
|
float 1
|
|
binary +
|
|
var base
|
|
float 2
|
|
fn make_flags(first: bool) -> (array bool 3)
|
|
array bool
|
|
var first
|
|
bool false
|
|
bool true
|
|
fn i32_at(values: (array i32 3), i: i32) -> i32
|
|
index
|
|
var values
|
|
var i
|
|
fn i64_at(values: (array i64 3), i: i32) -> i64
|
|
index
|
|
var values
|
|
var i
|
|
fn f64_at(values: (array f64 3), i: i32) -> f64
|
|
index
|
|
var values
|
|
var i
|
|
fn bool_at(values: (array bool 3), i: i32) -> bool
|
|
index
|
|
var values
|
|
var i
|
|
fn i64_local_array_flow(i: i32) -> i64
|
|
local let values: (array i64 3)
|
|
call make_i64_values
|
|
i64 40
|
|
call i64_at
|
|
var values
|
|
var i
|
|
fn f64_parameter_local_copy(values: (array f64 3), i: i32) -> f64
|
|
local let copy: (array f64 3)
|
|
var values
|
|
index
|
|
var copy
|
|
var i
|
|
fn echo_flags(values: (array bool 3)) -> (array bool 3)
|
|
var values
|
|
fn bool_call_return_index(i: i32) -> bool
|
|
index
|
|
call make_flags
|
|
bool true
|
|
var i
|
|
fn main() -> i32
|
|
if
|
|
call bool_call_return_index
|
|
int 0
|
|
int 0
|
|
int 1
|
|
test "i32 array parameter value flow"
|
|
binary =
|
|
call i32_at
|
|
call make_i32_values
|
|
int 7
|
|
int 0
|
|
int 7
|
|
test "i64 array local call value flow"
|
|
binary =
|
|
call i64_local_array_flow
|
|
int 2
|
|
i64 42
|
|
test "f64 array parameter local copy"
|
|
binary =
|
|
call f64_parameter_local_copy
|
|
call make_f64_values
|
|
float 4
|
|
int 1
|
|
float 5
|
|
test "bool array dynamic index"
|
|
call bool_at
|
|
call make_flags
|
|
bool true
|
|
int 2
|
|
test "bool array return call value flow"
|
|
index
|
|
call echo_flags
|
|
call make_flags
|
|
bool false
|
|
int 2
|