Trait plasma::IntermediateCalculatorProducer

source ·
pub trait IntermediateCalculatorProducer<'a, P, T>
where P: PhaseAmpsSelect<'a> + ?Sized, T: Sized + Default + Copy,
{ type CalcIterH: ExactSizeIterator + Iterator<Item = Self::LineCalcH> + Sized; type CalcIterV: ExactSizeIterator + Iterator<Item = Self::LineCalcV> + Sized; type LineCalcH: IntermediateCalculator<T> + Sized; type LineCalcV: IntermediateCalculator<T> + Sized; // Required methods fn compose_h_iter(pa: &'a P) -> Self::CalcIterH; fn compose_v_iter(pa: &'a P) -> Self::CalcIterV; }
Expand description

Implementations of this trait should produce an iterator of an IntermediateCalculator tool.

The type T should be a f32 or a packed simd f32x8 if a “use-simd” crate feature is enabled.

Required Associated Types§

source

type CalcIterH: ExactSizeIterator + Iterator<Item = Self::LineCalcH> + Sized

Provide an iterator implementation which produce IntermediateCalculator tools. The iterator must be a ExactSizeIterator with exactly the same length as the associated Mixer::IntermediateH array’s number of elements.

source

type CalcIterV: ExactSizeIterator + Iterator<Item = Self::LineCalcV> + Sized

Provide an iterator implementation which produce IntermediateCalculator tools. The iterator must be a ExactSizeIterator with exactly the same length as the associated Mixer::IntermediateV array’s number of elements.

source

type LineCalcH: IntermediateCalculator<T> + Sized

Provide an implementation of a IntermediateCalculator for horizontal intermediate data.

source

type LineCalcV: IntermediateCalculator<T> + Sized

Provide an implementation of a IntermediateCalculator for vertical intermediate data.

Required Methods§

source

fn compose_h_iter(pa: &'a P) -> Self::CalcIterH

Should return an instance of a IntermediateCalculatorProducer::LineCalcH. The input data references an implementation of PhaseAmpsSelect tool.

source

fn compose_v_iter(pa: &'a P) -> Self::CalcIterV

Should return an instance of a IntermediateCalculatorProducer::LineCalcV. The input data references an implementation of PhaseAmpsSelect tool.

Object Safety§

This trait is not object safe.

Implementors§