Skip to content

Commit 368776b

Browse files
authored
📝 Add more examples
Add a simple math lib example
2 parents 4fca358 + 95332bf commit 368776b

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

examples/Math.balls

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Simple math example in BALLs
2+
3+
fn TERNARY(condition, true_value, false_value) -> (result) {
4+
result = xor(
5+
false_value,
6+
mul(condition, xor(true_value, false_value))
7+
)
8+
}
9+
10+
fn MAX(num1, num2) -> (ret) {
11+
ret = TERNARY(gt(num1, num2), num1, num2)
12+
}
13+
14+
fn MIN(num1, num2) -> (ret) {
15+
ret = TERNARY(lt(num1, num2), num1, num2)
16+
}
17+
18+
/// @notice Returns the average of two values
19+
fn AVG(num1, num2) -> (avg) {
20+
avg = add(
21+
and(num1, num2),
22+
div(xor(num2, num1), 2)
23+
)
24+
}

0 commit comments

Comments
 (0)