Trait feanor_math::integer::IntegerRingStore
source · pub trait IntegerRingStore: RingStorewhere
Self::Type: IntegerRing,{
Show 14 methods
// Provided methods
fn to_float_approx(&self, value: &El<Self>) -> f64 { ... }
fn from_float_approx(&self, value: f64) -> Option<El<Self>> { ... }
fn abs_is_bit_set(&self, value: &El<Self>, i: usize) -> bool { ... }
fn abs_highest_set_bit(&self, value: &El<Self>) -> Option<usize> { ... }
fn abs_lowest_set_bit(&self, value: &El<Self>) -> Option<usize> { ... }
fn euclidean_div_pow_2(&self, value: &mut El<Self>, power: usize) { ... }
fn mul_pow_2(&self, value: &mut El<Self>, power: usize) { ... }
fn power_of_two(&self, power: usize) -> El<Self> { ... }
fn rounded_div(&self, lhs: El<Self>, rhs: &El<Self>) -> El<Self> { ... }
fn get_uniformly_random<G: FnMut() -> u64>(
&self,
bound_exclusive: &El<Self>,
rng: G,
) -> El<Self> { ... }
fn abs_log2_ceil(&self, value: &El<Self>) -> Option<usize> { ... }
fn is_even(&self, value: &El<Self>) -> bool { ... }
fn is_odd(&self, value: &El<Self>) -> bool { ... }
fn half_exact(&self, value: El<Self>) -> El<Self> { ... }
}Expand description
Trait for RingStores that store IntegerRings. Mainly used
to provide a convenient interface to the IntegerRing-functions.
Provided Methods§
sourcefn to_float_approx(&self, value: &El<Self>) -> f64
fn to_float_approx(&self, value: &El<Self>) -> f64
sourcefn from_float_approx(&self, value: f64) -> Option<El<Self>>
fn from_float_approx(&self, value: f64) -> Option<El<Self>>
sourcefn abs_is_bit_set(&self, value: &El<Self>, i: usize) -> bool
fn abs_is_bit_set(&self, value: &El<Self>, i: usize) -> bool
sourcefn abs_highest_set_bit(&self, value: &El<Self>) -> Option<usize>
fn abs_highest_set_bit(&self, value: &El<Self>) -> Option<usize>
sourcefn abs_lowest_set_bit(&self, value: &El<Self>) -> Option<usize>
fn abs_lowest_set_bit(&self, value: &El<Self>) -> Option<usize>
sourcefn euclidean_div_pow_2(&self, value: &mut El<Self>, power: usize)
fn euclidean_div_pow_2(&self, value: &mut El<Self>, power: usize)
sourcefn power_of_two(&self, power: usize) -> El<Self>
fn power_of_two(&self, power: usize) -> El<Self>
sourcefn rounded_div(&self, lhs: El<Self>, rhs: &El<Self>) -> El<Self>
fn rounded_div(&self, lhs: El<Self>, rhs: &El<Self>) -> El<Self>
fn get_uniformly_random<G: FnMut() -> u64>( &self, bound_exclusive: &El<Self>, rng: G, ) -> El<Self>
fn abs_log2_ceil(&self, value: &El<Self>) -> Option<usize>
fn is_even(&self, value: &El<Self>) -> bool
fn is_odd(&self, value: &El<Self>) -> bool
fn half_exact(&self, value: El<Self>) -> El<Self>
Object Safety§
This trait is not object safe.