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