From 6fddd3e39efba19c68f08adabcff81cf38787693 Mon Sep 17 00:00:00 2001 From: Mark Spanbroek Date: Mon, 13 Nov 2023 11:57:55 +0100 Subject: [PATCH] Move compress() into its own module --- poseidon2.nim | 10 ++-------- poseidon2/compress.nim | 10 ++++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 poseidon2/compress.nim diff --git a/poseidon2.nim b/poseidon2.nim index 91342fd..bdee038 100644 --- a/poseidon2.nim +++ b/poseidon2.nim @@ -5,22 +5,16 @@ import poseidon2/types import poseidon2/permutation import poseidon2/io import poseidon2/sponge +import poseidon2/compress export sponge +export compress export toBytes export elements export types #------------------------------------------------------------------------------- -# 2-to-1 compression -func compress*(a, b : F) : F = - var x = a - var y = b - var z : F ; setZero(z) - permInplace(x, y, z) - return x - func merkleRoot*(xs: openArray[F]) : F = let a = low(xs) let b = high(xs) diff --git a/poseidon2/compress.nim b/poseidon2/compress.nim new file mode 100644 index 0000000..b0ce10e --- /dev/null +++ b/poseidon2/compress.nim @@ -0,0 +1,10 @@ +import ./types +import ./permutation + +# 2-to-1 compression +func compress*(a, b : F) : F = + var x = a + var y = b + var z : F = zero + permInplace(x, y, z) + return x