You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The clock in poseidon_gl_memory is defined as follows:
let CLK: col[STATE_SIZE + OUTPUT_SIZE] = array::new(STATE_SIZE + OUTPUT_SIZE, |i| |row| if row % ROWS_PER_HASH == i { 1 } else { 0 });
The way we currently evaluate it is that we do it for every column in the CLK array in isolation. The evaluator (and also the JIT), though, computes the full array for every element of CLK and then returns the element.
This means we can speed up constant generation by a considerable amount if we treat arrays of fixed columns as a whole instead of as single elements of the array.
The text was updated successfully, but these errors were encountered:
The clock in poseidon_gl_memory is defined as follows:
The way we currently evaluate it is that we do it for every column in the CLK array in isolation. The evaluator (and also the JIT), though, computes the full array for every element of
CLK
and then returns the element.This means we can speed up constant generation by a considerable amount if we treat arrays of fixed columns as a whole instead of as single elements of the array.
The text was updated successfully, but these errors were encountered: