mirror of
https://github.com/circify/circ.git
synced 2026-01-13 07:37:59 -05:00
13 lines
277 B
Prolog
13 lines
277 B
Prolog
hash(X: u8[5], Y: u8[5], n: u8) :-
|
|
n = 0, X = Y;
|
|
exists Z: u8[5], B: bool.
|
|
!(n = 0),
|
|
X[0] + X[1] = Z[0] + B,
|
|
X[1] - X[2] = Z[1],
|
|
X[2] | X[3] = Z[2],
|
|
X[3] ^ X[4] = Z[3],
|
|
hash(Z, Y, n-1).
|
|
|
|
main(X: private u8[5], Y: public u8[5]) :-
|
|
hash(X, Y, 5).
|