pub trait IntermediateCalculatorProducer<'a, P, T>{
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§
sourcetype CalcIterH: ExactSizeIterator + Iterator<Item = Self::LineCalcH> + Sized
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.
sourcetype CalcIterV: ExactSizeIterator + Iterator<Item = Self::LineCalcV> + Sized
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.
sourcetype LineCalcH: IntermediateCalculator<T> + Sized
type LineCalcH: IntermediateCalculator<T> + Sized
Provide an implementation of a IntermediateCalculator for horizontal intermediate data.
sourcetype LineCalcV: IntermediateCalculator<T> + Sized
type LineCalcV: IntermediateCalculator<T> + Sized
Provide an implementation of a IntermediateCalculator for vertical intermediate data.
Required Methods§
sourcefn compose_h_iter(pa: &'a P) -> Self::CalcIterH
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.
sourcefn compose_v_iter(pa: &'a P) -> Self::CalcIterV
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.