UnstableAlgebra

Trait UnstableAlgebra 

Source
pub trait UnstableAlgebra: Algebra {
    // Required methods
    fn dimension_unstable(&self, degree: i32, excess: i32) -> usize;
    fn multiply_basis_elements_unstable(
        &self,
        result: FpSliceMut<'_>,
        coeff: u32,
        r_degree: i32,
        r_index: usize,
        s_degree: i32,
        s_index: usize,
        excess: i32,
    );

    // Provided methods
    fn multiply_basis_element_by_element_unstable(
        &self,
        result: FpSliceMut<'_>,
        coeff: u32,
        r_degree: i32,
        r_idx: usize,
        s_degree: i32,
        s: FpSlice<'_>,
        excess: i32,
    ) { ... }
    fn multiply_element_by_basis_element_unstable(
        &self,
        result: FpSliceMut<'_>,
        coeff: u32,
        r_degree: i32,
        r: FpSlice<'_>,
        s_degree: i32,
        s_idx: usize,
        excess: i32,
    ) { ... }
    fn multiply_element_by_element_unstable(
        &self,
        result: FpSliceMut<'_>,
        coeff: u32,
        r_degree: i32,
        r: FpSlice<'_>,
        s_degree: i32,
        s: FpSlice<'_>,
        excess: i32,
    ) { ... }
}

Required Methods§

Source

fn dimension_unstable(&self, degree: i32, excess: i32) -> usize

Source

fn multiply_basis_elements_unstable( &self, result: FpSliceMut<'_>, coeff: u32, r_degree: i32, r_index: usize, s_degree: i32, s_index: usize, excess: i32, )

Provided Methods§

Source

fn multiply_basis_element_by_element_unstable( &self, result: FpSliceMut<'_>, coeff: u32, r_degree: i32, r_idx: usize, s_degree: i32, s: FpSlice<'_>, excess: i32, )

Computes the product r * s of a basis element r and a general element s, and adds the result to result.

Neither result nor s must be aligned.

Source

fn multiply_element_by_basis_element_unstable( &self, result: FpSliceMut<'_>, coeff: u32, r_degree: i32, r: FpSlice<'_>, s_degree: i32, s_idx: usize, excess: i32, )

Computes the product r * s of a general element r and a basis element s, and adds the result to result.

Neither result nor r must be aligned.

Source

fn multiply_element_by_element_unstable( &self, result: FpSliceMut<'_>, coeff: u32, r_degree: i32, r: FpSlice<'_>, s_degree: i32, s: FpSlice<'_>, excess: i32, )

Computes the product r * s of two general elements, and adds the result to result.

Neither result, s, nor r must be aligned.

Implementors§