Hello, when in InverseTransform FromBit ReverseInPlace() function we use some maps.

For example m_rootOfUnityInverse PreconReverseTable ByModulus, I take that the “inverse” is for the inverse of the root of unity, the “reverse” is for the Bit Reversal operation and the “precon” I can’t understand what it means. This is where I need some help understanding and correct me If I got it wrong.

Also, why do we access m_cycloOrder InverseTableBy Modulus[modulus][msb] with the msb ? This msb is the index of the Most Significant Bit of the ShiftRight(Cyclotomic Order) - 1.

Thank you

`precon`

is a precomputed parameter when multiplying by a constant using Shoup’s method. It corresponds to the `ModMulFastConst`

method (see Math Backends — OpenFHE documentation for more details)

Lookup by `msb`

implies that different ring dimensions (half the cyclotomic order) are supported by the map.

1 Like