1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00

fix conflicts

This commit is contained in:
schaeff 2020-08-04 20:49:32 +02:00
commit 36efdddf3e
217 changed files with 522 additions and 444 deletions

View file

@ -24,7 +24,7 @@ const { initialize } = require('zokrates-js/node');
## Example
```js
initialize().then((zokratesProvider) => {
const source = "def main(private field a) -> (field): return a * a";
const source = "def main(private field a) -> field: return a * a";
// compilation
const artifacts = zokratesProvider.compile(source);

View file

@ -1,5 +1,5 @@
// only using add, no need to flatten
def main(field a) -> (field):
def main(field a) -> field:
field b = a + 5
field c = a + b + a + 4
field d = a + c + a + b

View file

@ -1,6 +1,6 @@
def sub(field a) -> (field):
def sub(field a) -> field:
a = a + 3
return a
def main() -> (field):
def main() -> field:
return sub(4)

View file

@ -1,2 +1,2 @@
def main(field[3] a) -> (field):
def main(field[3] a) -> field:
return a[0] + a[1] + a[2]

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field[3] a = [1, 2, 3]
field c = 0
for field i in 0..3 do

View file

@ -1,3 +1,3 @@
def main() -> (field):
def main() -> field:
field[4] a = [1, 2, 42, 55]
return a[2]

View file

@ -1,4 +1,4 @@
def main(field[2][2][2] cube) -> (field):
def main(field[2][2][2] cube) -> field:
field res = 0
for field i in 0..2 do

View file

@ -1,2 +1,2 @@
def main(field[2] a, field[2] b, field condition) -> (field[2]):
def main(field[2] a, field[2] b, field condition) -> field[2]:
return if condition == 1 then a else b fi

View file

@ -1,2 +1,2 @@
def main(field index, field[5] array) -> (field):
def main(field index, field[5] array) -> field:
return array[index]

View file

@ -1,5 +1,5 @@
def foo() -> (field[2]):
def foo() -> field[2]:
return [1, 2]
def main() -> (field[2]):
def main() -> field[2]:
return foo()

View file

@ -1,2 +1,2 @@
def main(field[2] a, field[2] b) -> (field[2]):
def main(field[2] a, field[2] b) -> field[2]:
return [a[0] + b[0], a[1] + b[1]]

View file

@ -1,4 +1,4 @@
def foo(field[3] a) -> (field):
def foo(field[3] a) -> field:
a[1] = 2
return a[1]

View file

@ -1,4 +1,4 @@
def foo(field a) -> (field):
def foo(field a) -> field:
return 2
def main(field a) -> (field, field):

View file

@ -1,4 +1,4 @@
def main() -> ():
def main():
field[3] a = [1, 2, 3]
bool[3] b = [true, true, false]
field[3][2] c = [[1, 2], [3, 4], [5, 6]]

View file

@ -1,7 +1,7 @@
def get(field[32] array, field index) -> (field):
def get(field[32] array, field index) -> field:
return array[index]
def main() -> (field):
def main() -> field:
field[32] array = [0, 0, 0, 0, 0, 0, 7, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
field r = get(array, 7)
return r

View file

@ -7,5 +7,5 @@ struct Foo {
Bar b
}
def main(Foo foo, bool[2] bar, field num) -> (field):
def main(Foo foo, bool[2] bar, field num) -> field:
return 42

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field[3] a = [1, 2, 3] // initialize a field array with field values
a[2] = 4 // set a member to a value
field[4] b = [42; 4] // initialize an array of 4 values all equal to 42

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a = 42 // this is an end of line comment
// this is a full line comment
return a

View file

@ -1,4 +1,4 @@
def main() -> ():
def main():
// declare and define `my_variable`
field my_variable = 2
// redefine `my_variable`

View file

@ -1,2 +1,2 @@
def main(private field a, field b) -> (bool):
def main(private field a, field b) -> bool:
return a * a == b

View file

@ -1,4 +1,4 @@
def main() -> ():
def main():
field pMinusOne = 21888242871839275222246405745257275088548364400416034343698204186575808495616
assert(0 - 1 == pMinusOne)
return

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field res = 0
for field i in 0..4 do
for field j in i..5 do

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a = 0
for field i in 0..5 do
a = a + i

View file

@ -1,5 +1,5 @@
def foo() -> (field):
def foo() -> field:
return 1
def main() -> (field):
def main() -> field:
return foo()

View file

@ -1,7 +1,7 @@
def foo() -> (field):
def foo() -> field:
// return myGlobal <- not allowed
return 42
def main() -> (field):
def main() -> field:
field myGlobal = 42
return foo()

View file

@ -1,5 +1,5 @@
import "hashes/sha256/512bitPacked" as sha256packed
def main(private field a, private field b, private field c, private field d) -> (field[2]):
def main(private field a, private field b, private field c, private field d) -> field[2]:
field[2] h = sha256packed([a, b, c, d])
return h

View file

@ -1,6 +1,6 @@
import "hashes/sha256/512bitPacked" as sha256packed
def main(private field a, private field b, private field c, private field d) -> ():
def main(private field a, private field b, private field c, private field d):
field[2] h = sha256packed([a, b, c, d])
assert(h[0] == 263561599766550617289250058199814760685)
assert(h[1] == 65303172752238645975888084098459749904)

View file

@ -1,3 +1,3 @@
def main(field x) -> (field):
def main(field x) -> field:
field y = if x + 2 == 3 then 1 else 5 fi
return y

View file

@ -1,7 +1,7 @@
def foo() -> (field, field):
return 21, 42
def main() -> (field):
def main() -> field:
// a is declared here
field a = 1
// b is declared here

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
// Array of two elements of array of 3 elements
field[2][3] a = [[1, 2, 3],[4, 5, 6]]

View file

@ -2,5 +2,5 @@
This is a multi-line comment
written in more than just one line.
*/
def main() -> (field):
def main() -> field:
return 42

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a = 2
// field a = 3 <- not allowed
for field i in 0..5 do

View file

@ -1,8 +1,8 @@
def incr(field a) -> (field):
def incr(field a) -> field:
a = a + 1
return a
def main() -> ():
def main():
field x = 1
field res = incr(x)
assert(x == 1) // x has not changed

View file

@ -4,6 +4,6 @@ def foo() -> (field, field[3]):
def foo() -> (field, field):
return 1, 2
def main() -> ():
def main():
field a, field[3] b = foo()
return

View file

@ -1,6 +1,6 @@
// example using if-then-else-fi with &&
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
field y = if a + 2 == 3 && a * 2 == 2 then 1 else 0 fi
field z = if y == 1 && 1-y == 0 then y else 1 fi
assert(b == 1)

View file

@ -1,3 +1,3 @@
def main(field a) -> (field):
def main(field a) -> field:
field x = if !(!(a < 5) && !(a > 1) || a < 4) then 3 else 4 fi
return x

View file

@ -1,5 +1,5 @@
// example using if-then-else-fi with ||
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
field y = if a + 2 == 4 || b * 2 == 2 then 1 else 0 fi
field z = if y == 1 || y == 0 then y else 1 fi
assert(z == 1)

View file

@ -1,2 +1,2 @@
def main(bool a) -> (bool):
def main(bool a) -> bool:
return (false || true) && false

View file

@ -1,4 +1,4 @@
def main(field a) -> (field):
def main(field a) -> field:
field b = (a + 5) * 6
field c = 7 * (b + a)
return b + c

View file

@ -1,5 +1,5 @@
// only using add, no need to flatten
def main(field a) -> (field): // a needs to be 1
def main(field a) -> field: // a needs to be 1
field b = a + 5 // inline comment
field c = a + b + a + 4
assert(a == 1) // another inline comment

View file

@ -1,5 +1,5 @@
// comparison operator example
def main(field x) -> (field):
def main(field x) -> field:
field y = if x >= 3 then 1 else 5 fi
field z = if y <= x then x**3 else y**3 fi
y = if x < 3 then 2 else 6 fi

View file

@ -6,10 +6,10 @@ struct Bar {
Foo[1] foo
}
def isEqual(field a, field b) -> (bool):
def isEqual(field a, field b) -> bool:
return a == b
def main(field a) -> (field):
def main(field a) -> field:
field b = (a + 5) * 6
assert(2 * b == a * 12 + 60)
field c = 7 * (b + a)

View file

@ -1,5 +1,5 @@
def assert() -> ():
def assert():
return
def main() -> ():
def main():
return

View file

@ -1,2 +1,2 @@
def main(field a) -> (field):
def main(field a) -> field:
return a*2**3

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
for field i in 0..5 do
endfor
return i

View file

@ -1,7 +1,7 @@
def foo() -> (field):
def foo() -> field:
return 1
def main() -> (field):
def main() -> field:
field a = 2
field a = foo()
return 1

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a
field b = a + 1
return b

View file

@ -1,5 +1,5 @@
// a and b are factorization of c
def main(field c, private field a, private field b) -> ():
def main(field c, private field a, private field b):
field d = a * b
assert(c == d)
return

View file

@ -1,5 +1,5 @@
// this code needs flattening
def main(field a) -> (field):
def main(field a) -> field:
field b = a + 5 + a * a
field c = b + a + a * b * b
field d = a * b + c * c

View file

@ -1,4 +1,4 @@
def main(field a) -> (field):
def main(field a) -> field:
field x = 7
for field i in 0..10 do
// x = x + a

View file

@ -1,9 +1,9 @@
def add(field a,field b) -> (field):
def add(field a,field b) -> field:
field v = a + b
return v
// Expected for inputs 1,1: c=4, d=7, e=10
def main(field a,field b) -> (field):
def main(field a,field b) -> field:
field c = add(a*2+3*b-a,b-1)
field d = add(a*b+2, a*b*c)
field e = add(add(a,d),add(a,b))

View file

@ -1,6 +1,6 @@
def add(field f,field g) -> (field):
def add(field f,field g) -> field:
return f+g
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
field c = add(a,b)
return c

View file

@ -1,17 +1,17 @@
def lt(field a,field b) -> (bool):
def lt(field a,field b) -> bool:
return a < b
def cutoff() -> (field):
def cutoff() -> field:
return 31337
def getThing(field index) -> (field):
def getThing(field index) -> field:
field[6] a = [13, 23, 43, 53, 73, 83]
return a[index]
def cubeThing(field thing) -> (field):
def cubeThing(field thing) -> field:
return thing**3
def main(field index) -> (bool):
def main(field index) -> bool:
field thing = getThing(index)
thing = cubeThing(thing)
return lt(cutoff(), thing)

View file

@ -1,8 +1,8 @@
def add(field a, field b) -> (field):
def add(field a, field b) -> field:
field v = a + b
return v + a
def main(field a, field b,field c, field d) -> (field):
def main(field a, field b,field c, field d) -> field:
field g = a + b
field x = add(a,b)
field y = add(c,d)

View file

@ -1,11 +1,11 @@
def add(field a,field b) -> (field):
def add(field a,field b) -> field:
field v = a + b
return v
def sub(field a, field b) -> (field):
def sub(field a, field b) -> field:
return a-b
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
field c = add(a,b)
field d = sub(a,b)
return 0

View file

@ -1,10 +1,10 @@
def const() -> (field):
def const() -> field:
return 123123
def add(field a,field b) -> (field):
def add(field a,field b) -> field:
a=const()
return a+b
def main(field a,field b) -> (field):
def main(field a,field b) -> field:
field c = add(a, b+const())
return const()

View file

@ -1,6 +1,6 @@
def add(field a,field b) -> (field):
def add(field a,field b) -> field:
return a+b
def main(field a,field b) -> (field):
def main(field a,field b) -> field:
field c = add(a,b)
return c

View file

@ -1,3 +1,3 @@
def main(field a,field b) -> (field):
def main(field a,field b) -> field:
field c = a + b
return c

View file

@ -1,7 +1,7 @@
// example using if-then-else-fi with ==
// x = 1 -> 1 + 1 + 1 = 3
// x = 2 -> 2 + 5 + 125 = 132
def main(field x) -> (field):
def main(field x) -> field:
field y = if x + 2 == 3 then 1 else 5 fi
field z = if y == x then x**3 else y**3 fi
return x + y + z

View file

@ -1,5 +1,5 @@
struct Bar {
}
def main() -> (field):
def main() -> field:
return 21

View file

@ -1,5 +1,5 @@
struct Baz {
}
def main() -> (field):
def main() -> field:
return 123

View file

@ -3,7 +3,7 @@ from "./baz" import Baz
import "./baz"
from "./baz" import main as my_function
def main() -> (field):
def main() -> field:
field a = my_function()
Baz b = Baz {}
return baz()

View file

@ -4,7 +4,7 @@ from "./bar" import Bar
import "./foo"
import "./bar"
def main() -> (field):
def main() -> field:
MyBar my_bar = MyBar {}
Bar bar = Bar {}
assert(my_bar == bar)

View file

@ -1,4 +1,4 @@
import "./foo" as d
def main() -> (field):
def main() -> field:
return d()

View file

@ -1,6 +1,6 @@
def foo() -> (field):
def foo() -> field:
return 1
def main() -> ():
def main():
assert(foo() + (1 + 44*3) == 1)
return

View file

@ -10,7 +10,7 @@ def multiplex(bool selector, u32[8] left, u32[8] right) -> (u32[8]):
// Merke-Tree inclusion proof for tree depth 3 using SNARK efficient pedersen hashes
// directionSelector=> true if current digest is on the rhs of the hash
def main(u32[8] rootDigest, private u32[8] leafDigest, private bool[3] directionSelector, u32[8] PathDigest0, private u32[8] PathDigest1, private u32[8] PathDigest2) -> ():
def main(u32[8] rootDigest, private u32[8] leafDigest, private bool[3] directionSelector, u32[8] PathDigest0, private u32[8] PathDigest1, private u32[8] PathDigest2):
BabyJubJubParams context = context()
//Setup

View file

@ -5,7 +5,7 @@ def multiplex(bool selector, u32[8] left, u32[8] right) -> (u32[8]):
// Merkle-Tree inclusion proof for tree depth 3
def main(field treeDepth, u32[8] rootDigest, private u32[8] leafDigest, private bool[2] directionSelector, u32[8] PathDigest0, private u32[8] PathDigest1) -> ():
def main(field treeDepth, u32[8] rootDigest, private u32[8] leafDigest, private bool[2] directionSelector, u32[8] PathDigest0, private u32[8] PathDigest1):
//Setup
u32[8] currentDigest = leafDigest

View file

@ -2,6 +2,6 @@ def foo(field a) -> (field, field, field, field):
field b = 12*a
return a, 2*a, 5*b, a*b
def main(field i) -> ():
def main(field i):
field x, field y, field z, field t = foo(i)
return

View file

@ -1,4 +1,4 @@
// this code does not need to be flattened
def main(field x, field a, field b) -> (field):
def main(field x, field a, field b) -> field:
assert(a == b * 7)
return x + a + b

View file

@ -1,5 +1,5 @@
// Binomial Coeffizient, n!/(k!*(n-k)!).
def fac(field x) -> (field):
def fac(field x) -> field:
field f = 1
field counter = 0
for field i in 1..100 do
@ -8,5 +8,5 @@ def fac(field x) -> (field):
endfor
return f
def main(field n, field k) -> (field):
def main(field n, field k) -> field:
return fac(n)/(fac(k)*fac(n-k))

View file

@ -1,5 +1,5 @@
// this code does not need to be flattened
def main(field x, field y, field z) -> (field):
def main(field x, field y, field z) -> field:
field a = x + 3*y - z *2 - x * 12
assert(3*y - z *2 - x * 12 == a - x)
assert((x + y) - ((z + 3*x) - y) == (x - y) + ((2*x - 4*y) + (4*y - 2*z)))

View file

@ -1,4 +1,4 @@
def main() -> ():
def main():
field x = 2**4
assert(x == 16)
x = x**2

View file

@ -1,4 +1,4 @@
#pragma curve bn128
def main() -> ():
def main():
return

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a = 1 + 2 + 3
field b = if 1 < a then 3 else a + 3 fi
field c = if b + a == 2 then 1 else b fi

View file

@ -2,6 +2,6 @@ def foo(field a, field b) -> (field, field):
assert(a == b + 2)
return a, b
def main() -> (field):
def main() -> field:
field a, field b = foo(1, 1)
return a + b

View file

@ -1,4 +1,4 @@
def main(field x) -> (field):
def main(field x) -> field:
field a = x + 5
field b = a + x
a = 7

View file

@ -1,3 +1,3 @@
def main() -> (field):
def main() -> field:
field a = 2
return 2**(a**2 + 2)

View file

@ -4,7 +4,7 @@
// It should not work for the maxvalue = 2^(pbits - 2) - 1 augmented by one
// /!\ should be called with a = 0
def main(field a) -> (bool):
def main(field a) -> bool:
field pbits = 254
// maxvalue = 2**252 - 1
field maxvalue = a + 7237005577332262213973186563042994240829374041602535252466099000494570602496 - 1

View file

@ -1,7 +1,7 @@
// as p - 1 is greater than p/2, comparing to it should fail
// /!\ should be called with a = 0
def main(field a) -> (bool):
def main(field a) -> bool:
field p = 21888242871839275222246405745257275088548364400416034343698204186575808495617 + a
// we added a = 0 to prevent the condition to be evaluated at compile time
return 0 < p - 1

View file

@ -1,3 +1,3 @@
// only using add, no need to flatten
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
return a + b

View file

@ -1,7 +1,7 @@
// simple ifelse example
// x = 2 -> 2 + 1 + 2**3 = 11
// x = 5 -> 5 + 5 + 5**3 = 135
def main(field x) -> (field):
def main(field x) -> field:
field y = if x < 3 then 1 else 5 fi
field z = if y < x then x**3 else y**3 fi
return x + y + z

View file

@ -1,3 +1,3 @@
def main(field a, field b, field c) -> (field):
def main(field a, field b, field c) -> field:
return a * b * c

View file

@ -2,7 +2,7 @@
// comment
def main(field x) -> (field):
def main(field x) -> field:
// comment
field y = x**3
field b = x**5

View file

@ -3,7 +3,7 @@ struct Point {
field y
}
def main(Point p, Point q) -> (Point):
def main(Point p, Point q) -> Point:
field a = 42
field d = 21

View file

@ -8,7 +8,7 @@ struct Foo {
bool b
}
def main() -> (Foo):
def main() -> Foo:
Foo[2] f = [
Foo {
a: Bar {

View file

@ -1,5 +1,5 @@
// only using sub, no need to flatten
def main(field a) -> (field):
def main(field a) -> field:
field b = a + 100
field c = b + a + b
field d = b - a - 3 - a

View file

@ -16,16 +16,16 @@
// returns true if there are no duplicates
// assumption: `a, b, c, d` are all in `{ 2, 3, 5, 7 }`
def checkNoDuplicates(field a, field b, field c, field d) -> (bool):
def checkNoDuplicates(field a, field b, field c, field d) -> bool:
// as `{ 2, 3, 5, 7 }` are primes, the set `{ a, b, c, d }` is equal to the set `{ 2, 3, 5, 7}` if and only if the products match
return a * b * c * d == 2 * 3 * 5 * 7
// returns `0` if and only if `x` in `{ 2, 3, 5, 7 }`
def validateInput(field x) -> (bool):
def validateInput(field x) -> bool:
return (x-2) * (x-3) * (x-5) * (x-7) == 0
// variables naming: box'row''column'
def main(field a21, field b11, field b22, field c11, field c22, field d21, private field a11, private field a12, private field a22, private field b12, private field b21, private field c12, private field c21, private field d11, private field d12, private field d22) -> (bool):
def main(field a21, field b11, field b22, field c11, field c22, field d21, private field a11, private field a12, private field a22, private field b12, private field b21, private field c12, private field c21, private field d11, private field d12, private field d22) -> bool:
field[4][4] a = [[a11, a12, b11, b12], [a21, a22, b21, b22], [c11, c12, d11, d12], [c21, c22, d21, d22]]

View file

@ -10,7 +10,7 @@
// We use a naive encoding of the values as `[1, 2, 3, 4]` and rely on if-else statements to detect duplicates
def countDuplicates(field e11,field e12,field e21,field e22) -> (field):
def countDuplicates(field e11,field e12,field e21,field e22) -> field:
field duplicates = if e11 == e12 then 1 else 0 fi
duplicates = duplicates + if e11 == e21 then 1 else 0 fi
duplicates = duplicates + if e11 == e22 then 1 else 0 fi
@ -20,11 +20,11 @@ def countDuplicates(field e11,field e12,field e21,field e22) -> (field):
return duplicates
// returns 0 for x in (1..4)
def validateInput(field x) -> (bool):
def validateInput(field x) -> bool:
return (x-1)*(x-2)*(x-3)*(x-4) == 0
// variables naming: box'row''column'
def main(field a21, field b11, field b22, field c11, field c22, field d21, private field a11, private field a12, private field a22, private field b12, private field b21, private field c12, private field c21, private field d11, private field d12, private field d22) -> (bool):
def main(field a21, field b11, field b22, field c11, field c22, field d21, private field a11, private field a12, private field a22, private field b12, private field b21, private field c12, private field c21, private field d11, private field d12, private field d22) -> bool:
// validate inputs
assert(validateInput(a11))

View file

@ -1,4 +1,4 @@
def main() -> (field):
def main() -> field:
field a = 1
field b = a
field c = b

View file

@ -1,7 +1,7 @@
def wtax(field debt, field wealth) -> (field):
def wtax(field debt, field wealth) -> field:
field x = if wealth < debt then 0 else (wealth-debt) fi
return x
def main(private field debt, private field wealth) -> (field):
def main(private field debt, private field wealth) -> field:
field tax = wtax(debt,wealth)
return tax

View file

@ -1,5 +1,5 @@
// only using sub, no need to flatten
def main(field x) -> (field):
def main(field x) -> field:
field a = 5
field b = 7
field c = if a == b then 4 else 3 fi

View file

@ -3,7 +3,7 @@
// we can compare numbers up to 2^(pbits - 2) - 1, ie any number which fits in (pbits - 2) bits
// lt should work for the maxvalue = 2^(pbits - 2) - 1
def main(field a) -> (bool):
def main(field a) -> bool:
field pbits = 254
// maxvalue = 2**252 - 1
field maxvalue = 7237005577332262213973186563042994240829374041602535252466099000494570602496 - 1

View file

@ -0,0 +1,15 @@
// Where's Waldo is a puzzle where the goal is to find Waldo in the picture of a crowd
// In this example, the crowd is a series of numbers, ideally* all prime but one, and Waldo is a non-prime number
// * we don't enforce only one number being non-prime, so there could be multiple Waldos
def isWaldo(field a, field p, field q) -> bool:
// make sure that p and q are both not one
assert(p != 1 && q != 1)
// we know how to factor a
return a == p * q
// define all
def main(field[3] a, private field index, private field p, private field q) -> bool:
// prover provides the index of Waldo
return isWaldo(a[index], p, q)

View file

@ -0,0 +1,19 @@
def main(field in1, field in2, field in3, field in4, field in5, field in6, field in7, field in8) -> field:
// first iteration
field a = (in1 + in2) / 2
field b = (in3 + in4) / 2
field c = (in5 + in6) / 2
field d = (in7 + in8) / 2
field e = (in1 - in2) / 2
field f = (in3 - in4) / 2
field g = (in5 - in6) / 2
field h = (in7 - in8) / 2
// second iteration
field i = (a + b) / 2
field j = (c + d) / 2
field k = (e - f) / 2
field l = (g - h) / 2
// third iteration
field out1 = (i + j) / 2
return (k - l) / 2

View file

@ -1,2 +1,2 @@
def main(field a, field b) -> (field):
def main(field a, field b) -> field:
return 3*a+(b+a)**2

View file

@ -1,2 +1,2 @@
def main(field a) -> (field):
def main(field a) -> field:
return if a == 1 then 1 else 0 fi

View file

@ -1,2 +1,2 @@
def main(field a) -> (field):
def main(field a) -> field:
return if a == 1 then 1 else 0 fi

View file

@ -1,3 +1,3 @@
def main(field[2][2] a) -> (field[2][2]):
def main(field[2][2] a) -> field[2][2]:
a[1][1] = 42
return a

View file

@ -1,5 +1,5 @@
// Binomial Coeffizient, n!/(k!*(n-k)!).
def fac(field x) -> (field):
def fac(field x) -> field:
field f = 1
field counter = 0
for field i in 1..100 do
@ -8,5 +8,5 @@ def fac(field x) -> (field):
endfor
return f
def main(field n, field k) -> (field):
def main(field n, field k) -> field:
return fac(n)/(fac(k)*fac(n-k))

View file

@ -1,3 +1,3 @@
def main(field a, field b) -> ():
def main(field a, field b):
assert(a == b)
return

Some files were not shown because too many files have changed in this diff Show more