arnaucube
arnaucube/gnark-plonky2-verifierPublic Self-hosted repository
gnark-plonky2-verifier/sha512/rotate.go
sha512/rotate.goRaw
 1package sha512
 2
 3import (
 4	"github.com/consensys/gnark/frontend"
 5)
 6
 7func RotR512(api frontend.API, in [] frontend.Variable, r int) ([] frontend.Variable) {
 8	n := len(in)
 9	out := make([] frontend.Variable, n)
10	for i := 0; i < n; i++ {
11		out[i] = in[ (i+r) % n ]
12	}
13	return out
14}
15
16
17// template RotR512(n, r) {
18//     signal input in[n];
19//     signal output out[n];
20
21//     for (var i=0; i<n; i++) {
22//         out[i] <== in[ (i+r)%n ];
23//     }
24// }