Files
circomlib-ml/circuits/circomlib-matrix/matElemSum.circom
2022-12-03 21:13:47 +08:00

22 lines
423 B
Plaintext

pragma circom 2.0.0;
// sum of all elements in a matrix
template matElemSum (m,n) {
signal input a[m][n];
signal output out;
signal sum[m*n];
sum[0] <== a[0][0];
var idx = 0;
for (var i=0; i < m; i++) {
for (var j=0; j < n; j++) {
if (idx > 0) {
sum[idx] <== sum[idx-1] + a[i][j];
}
idx++;
}
}
out <== sum[m*n-1];
}