Skip to content

Commit 5621179

Browse files
committed
test: Add example for custom functions
1 parent 9c724d2 commit 5621179

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

example_progs/function.simf

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
fn checked_add_32(a: u32, b: u32) -> u32 {
2+
let (carry, sum): (bool, u32) = jet_add_32(a, b);
3+
// FIXME: Need to cast `bool` to `u1`
4+
// jet_verify(jet_complement_1(carry));
5+
sum
6+
}
7+
8+
fn first() -> u32 {
9+
1
10+
}
11+
12+
fn second() -> u32 {
13+
checked_add_32(first(), first())
14+
}
15+
16+
fn third() -> u32 {
17+
checked_add_32(first(), second())
18+
}
19+
20+
fn main() {
21+
let sum: u32 = checked_add_32(42, 1);
22+
let expected: u32 = 43;
23+
jet_verify(jet_eq_32(expected, sum));
24+
25+
let third: u32 = third();
26+
let expected: u32 = 3;
27+
jet_verify(jet_eq_32(expected, third));
28+
}

src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ mod tests {
8585
("sighash_none.simf", "sighash_none.wit"),
8686
("tuple.simf", "empty.wit"),
8787
("unwrap.simf", "empty.wit"),
88+
("function.simf", "empty.wit"),
8889
] {
8990
_test_progs(prog_file, wit_file)
9091
}

0 commit comments

Comments
 (0)