Constantine: modular, high-performance, zero-dependency cryptography stack for verifiable computation, proof systems and blockchain protocols.
This clarifies the precondition for shiftRight, i.e. a non-zero, non-max to avoid all exceptional/ISA-defined path. shiftRight was initially introduced to optimized GCD/modular inversion in https://github.com/mratsim/constantine/commit/bde619155b34182552a236652842e9be12b863e5. Today it is used in a couple more places and there are no "zero" input expected in constant-time path. In fact all inputs are statically known, the proc doesn't use a static k to avoid code bloat / monomorphization. A version that can handles zero and sizes over the word bitwidth is available as `shiftRight_vartime`.
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be resolved. The issue was opened by mratsim and has received 0 comments.