Functions

Function that is not part of the language but is offered as a helper for tests, etc. Add two numerics if condition c is set (all bits 1). Returns x if condition c is 0. Note: Addition is always wrapping.

Function that is not part of the language but is offered as a helper for tests, etc. Multiply two numerics if condition c is set (all bits 1). Returns x if condition c is 0. Note: Multiplication is always wrapping.

Function that is not part of the language but is offered as a helper for tests, etc. Set bit at position i in x to b if c is all 1 and return the restult. Returns x if c is 0.

Function that is not part of the language but is offered as a helper for tests, etc. Subtract two numerics if condition c is set (all bits 1). Returns x if condition c is 0. Note: Addition is always wrapping.

Function that is not part of the language but is offered as a helper for tests, etc. Conditional, constant-time swapping. Returns (x, y) if c == 0 and (y, x) if c == T::max. The return value is undefined if c has any other value.

Function that is not part of the language but is offered as a helper for tests, etc. Conditional, constant-time swapping. Returns (x, y) if c == 0 and (y, x) if c == 1.

Function that is not part of the language but is offered as a helper for tests, etc. Constant time division for Numerics. Note that this function is only constant time if T is a secret integer and hence provides constant time implementations for the used functions.