From 6f86979dbd39271bf88e7639ef956d8e016f1ff7 Mon Sep 17 00:00:00 2001 From: dark64 Date: Tue, 13 Apr 2021 17:03:35 +0200 Subject: [PATCH] add comments --- zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok b/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok index bcb80b99..351a4bb4 100644 --- a/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok +++ b/zokrates_stdlib/stdlib/hashes/poseidon/poseidon.zok @@ -36,6 +36,12 @@ def main(field[N] inputs) -> field: u32 f = 8 u32 p = rounds_p[(t - 2)] + // Constants are padded with zeroes to the maximum value calculated by + // t * (f + p) = 497, where `t` (number of inputs + 1) is a max of 7. + // This is done to keep the function generic, as resulting array size depends on `t` + // and we do not want callers passing down constants. + // This should be revisited once compiler limitations are gone. + field[497] c = poseidon_c()[t - 2] field[7][7] m = poseidon_m()[t - 2]