Trait feanor_math::integer::IntegerRingStore

source ·
pub trait IntegerRingStore: RingStore
where 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§

source

fn to_float_approx(&self, value: &El<Self>) -> f64

source

fn from_float_approx(&self, value: f64) -> Option<El<Self>>

source

fn abs_is_bit_set(&self, value: &El<Self>, i: usize) -> bool

source

fn abs_highest_set_bit(&self, value: &El<Self>) -> Option<usize>

source

fn abs_lowest_set_bit(&self, value: &El<Self>) -> Option<usize>

source

fn euclidean_div_pow_2(&self, value: &mut El<Self>, power: usize)

source

fn mul_pow_2(&self, value: &mut El<Self>, power: usize)

source

fn power_of_two(&self, power: usize) -> El<Self>

source

fn rounded_div(&self, lhs: El<Self>, rhs: &El<Self>) -> El<Self>

source

fn get_uniformly_random<G: FnMut() -> u64>( &self, bound_exclusive: &El<Self>, rng: G, ) -> El<Self>

source

fn abs_log2_ceil(&self, value: &El<Self>) -> Option<usize>

source

fn is_even(&self, value: &El<Self>) -> bool

source

fn is_odd(&self, value: &El<Self>) -> bool

source

fn half_exact(&self, value: El<Self>) -> El<Self>

Object Safety§

This trait is not object safe.

Implementors§