Skip to main content

Crate cmpa

Crate cmpa 

Source
Expand description

Multiprecision integer arithmetic primitives.

Modules§

hexstr

Structs§

CtLDivisor
Constant-time LimbType divisor.
CtMpDivisor
LimbChoice
Condition value representation supporting branchless programming patterns.
MpBigEndianUIntByteSlice
MpLittleEndianUIntByteSlice
MpMutBigEndianUIntByteSlice
MpMutLittleEndianUIntByteSlice
MpMutNativeEndianUIntLimbsSlice
MpNativeEndianUIntLimbsSlice
MpUIntCommonTryIntoNativeError
PrimeWheelSieve

Enums§

CtAddModMpMpError
CtCompositeTestSmallPrimeGcdMpError
CtDivMpMpError
CtDivPow2MpError
CtExpModOddMpMpError
CtGcdMpMpError
CtGcdOddMpMpError
CtInvModMpMpError
CtInvModOddMpMpError
CtLDivisorError
Error type returned by CtLDivisor::new().
CtLcmMpMpError
CtModPow2MpError
CtMontgomeryExpModOddMpMpError
CtMontgomeryMulModMpMpError
CtMontgomeryNegN0InvModLMpError
CtMontgomeryRedcMpError
CtMontgomeryTransformationError
CtMpDivisorError
CtPrimeTestMillerRabinMpError
CtToMontgomeryFormMpError

Traits§

MpMutUInt
MpMutUIntSlice
MpUInt
MpUIntCommon
MpUIntSlice
MpUIntSliceCommon

Functions§

clear_bits_above_mp
clear_bits_below_mp
ct_add_cond_mp_mp
Conditionally add two multiprecision integers of specified endianess.
ct_add_mod_mp_mp
ct_add_mp_l
ct_add_mp_mp
ct_clear_bits_above_mp
ct_clear_bits_below_mp
ct_composite_test_small_prime_gcd_mp
ct_div_mp_l
ct_div_mp_mp
ct_eq_l_l
Constant-time comparison of two LimbType values for ==.
ct_eq_mp_mp
Compare two multiprecision integers of specified endianess for ==.
ct_eq_usize_usize
ct_exp_mod_odd_mp_mp
ct_find_first_set_bit_mp
ct_find_last_set_bit_mp
ct_gcd_mp_mp
ct_gcd_odd_mp_mp
ct_geq_l_l
Constant-time comparison of two LimbType values for >=.
ct_geq_mp_mp
Compare two multiprecision integers of specified_endianess for >=.
ct_geq_usize_usize
ct_gt_l_l
Constant-time comparison of two LimbType values for >.
ct_gt_mp_mp
Compare two multiprecision integers of specified endianess for >.
ct_gt_usize_usize
ct_inv_mod_mp_mp
ct_inv_mod_odd_mp_mp
ct_is_nonzero_l
Constant-time test if a LimbType value is non-zero.
ct_is_one_mp
ct_is_zero_l
Constant-time test if a LimbType value is zero.
ct_is_zero_mp
ct_lcm_mp_mp
ct_leq_l_l
Constant-time comparison of two LimbType values for <=.
ct_leq_mp_l
ct_leq_mp_mp
Compare two multiprecision integers of specified endianess for <=.
ct_leq_usize_usize
ct_lshift_mp
ct_lt_l_l
Constant-time comparison of two LimbType values for <.
ct_lt_mp_mp
Compare two multiprecision integers of specified endianess for <.
ct_lt_usize_usize
ct_mod_mp_l
ct_mod_mp_mp
ct_montgomery_mul_mod_mp_mp
ct_montgomery_neg_n0_inv_mod_l_mp
ct_montgomery_radix2_mod_n_mp
ct_montgomery_redc_mp
ct_montogmery_exp_mod_odd_mp_mp
ct_mul_trunc_mp_l
ct_mul_trunc_mp_mp
ct_negate_cond_mp
ct_negate_mod_mp
ct_negate_mp
ct_neq_l_l
Constant-time comparison of two LimbType values for !=.
ct_neq_mp_mp
Compare two multiprecision integers of specified endianess for !=.
ct_prime_test_miller_rabin_mp
ct_rshift_mp
ct_square_trunc_mp
Square a multiprecision integer of specified endianess.
ct_sub_mod_mp_mp
ct_sub_mp_l
ct_sub_mp_mp
ct_swap_cond_mp
ct_to_montgomery_form_direct_mp
ct_to_montgomery_form_mp
limb_slice_as_bytes
limb_slice_as_bytes_mut

Type Aliases§

CtDivLshiftedMpMpError
CtDivMpLError
CtModLshiftedMpMpError
CtNegateModMpError
CtSubModMpMpError
LimbType
The basic unit used by the multiprecision integer arithmetic implementation.