ZoKrates
ZoKrates copied to clipboard
Check impact of unused parameters
In this code
def main(field[2] pt1, field[2] pt2, field[10] context) -> (field[2]):
field a = context[0]
field d = context[1]
field u1 = pt1[0]
field v1 = pt1[1]
field u2 = pt2[0]
field v2 = pt2[1]
field uOut = (u1*v2 + v1*u2) / (1 + d*u1*u2*v1*v2)
field vOut = (v1*v2 - a*u1*u2) / (1 - d*u1*u2*v1*v2)
return [uOut, vOut]
Most of context
is not being used.
Check the impact on the number of constraints, and if it exists find ways to optimize.
doesn't seem to be a problem:
def main(field[2] pt1, field[2] pt2, field[10] context) -> (field):
field a = context[0]
field u1 = pt1[0]
field v1 = pt1[1]
field u2 = pt2[0]
field v2 = pt2[1]
field out = u1
return out
compiles down to 1 constraint:
Compiled program:
def main(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13) -> (1):
(1 * ~one) * (1 * _0) == 1 * ~out_0
return ~out_0
Compiled code written to 'out'
Human readable code to 'out.code'
Number of constraints: 1