Decomposer

Trait Decomposer 

Source
pub trait Decomposer {
    type Element;
    type Iter: Iterator<Item = Self::Element>;

    // Required methods
    fn new(q: Self::Element, logb: usize, d: usize) -> Self;
    fn decompose_to_vec(&self, v: &Self::Element) -> Vec<Self::Element>;
    fn decompose_iter(&self, v: &Self::Element) -> Self::Iter;
    fn decomposition_count(&self) -> DecompositionCount;
    fn decomposition_base(&self) -> DecompostionLogBase;
    fn gadget_vector(&self) -> Vec<Self::Element>;
}

Required Associated Types§

Source

type Element

Source

type Iter: Iterator<Item = Self::Element>

Required Methods§

Source

fn new(q: Self::Element, logb: usize, d: usize) -> Self

Source

fn decompose_to_vec(&self, v: &Self::Element) -> Vec<Self::Element>

Source

fn decompose_iter(&self, v: &Self::Element) -> Self::Iter

Source

fn decomposition_count(&self) -> DecompositionCount

Source

fn decomposition_base(&self) -> DecompostionLogBase

Source

fn gadget_vector(&self) -> Vec<Self::Element>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§