diff --git a/circuit/misc.circom b/circuit/misc.circom index c9065bc..d249553 100644 --- a/circuit/misc.circom +++ b/circuit/misc.circom @@ -1,5 +1,15 @@ pragma circom 2.0.0; +//------------------------------------------------------------------------------ + +function FloorLog2(n) { + return (n==0) ? -1 : (1 + FloorLog2(n>>1)); +} + +function CeilLog2(n) { + return (n==0) ? 0 : (1 + FloorLog2(n-1)); +} + //------------------------------------------------------------------------------ // decompose an n-bit number into bits (least significant bit first)