Skip to content

Commit 40322ea

Browse files
committed
Integral arithmetics example added. #122
1 parent 192622b commit 40322ea

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

examples/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ function(add_example example_target)
5757
endfunction()
5858

5959
add_example(arithmetics_example SOURCES arithmetics.cpp INPUT arithmetics.inp)
60+
add_example(integral_arithmetics_example SOURCES integral_arithmetics.cpp INPUT integral_arithmetics.inp)
6061
add_example(poseidon_example SOURCES poseidon.cpp INPUT poseidon.inp)
6162
add_example(merkle_tree_poseidon_example SOURCES merkle_tree_poseidon.cpp INPUT merkle_tree_poseidon.inp)
6263
add_example(merkle_tree_sha2_256_example SOURCES merkle_tree_sha2_256.cpp INPUT merkle_tree_sha2_256.inp)

examples/integral_arithmetics.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
int pow(int a, int n) {
2+
if (n == 0)
3+
return 1;
4+
5+
int res = 1;
6+
for (int i = 0; i < n; ++i) {
7+
res *= a;
8+
}
9+
return res;
10+
}
11+
12+
[[circuit]] int int_arithmetic_example(int a, int b) {
13+
int c = (a + b) * a + b * (a + b) * (a + b);
14+
const int constant = 77;
15+
return c * c * c * (b - a) + pow(a, 2) + constant;
16+
}

examples/integral_arithmetics.inp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[
2+
{"int": 5},
3+
{"int": 11}
4+
]

0 commit comments

Comments
 (0)