pragma circom 2.2.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) template ToBits(n) { signal input inp; signal output out[n]; var sum = 0; for(var i=0; i> i) & 1; out[i] * (1-out[i]) === 0; sum += (1< out; } //------------------------------------------------------------------------------