Expand description
§Declarative processing primitives
§Traits
The major traits are Process/SplitProcess/Inplace/SplitInplace.
§Composition
Impls can be cascaded in (homogeneous) [C; N] arrays/[C] slices, and heterogeneous
(C0, C1) tuples. They can be used as configuration-major or
configuration-minor (through Minor) or in Adds on complementary allpasses and polyphase banks.
Tuples, arrays, and Pairs, and Minor can be mixed and nested ad lib.
For a given filter configuration C and state S pair the trait is usually implemented
through Split<&'a C, &mut S> (created ad-hoc from by borrowing configuration and state)
or Split<C, S> (owned configuration and state).
Stateless filters should implement Process for &Self for composability through
Split<Unsplit<&Self>, ()>.
Configuration-less filters or filters that include their configuration should implement
Process for Self and can be used in split configurations through Split<(), Unsplit<Self>>.
Structs§
- Add
- Summation
- Buffer
- Buffer input or output, or fixed delay line
- Butterfly
- Sum and difference
- Channels
- Multiple channels to be processed with the same configuration
- Chunk
- Chunked processing
- ChunkIn
- Chunked input
- Chunk
InOut - Chunked input and output
- Chunk
Out - Chunked output
- Clamp
- Clamp between min and max using
Ord - Comb
- Comb (derivative)
- Decimator
- Adapts a decimator to input chunk mode
- Gain
- Multiply by constant
- Identity
- Identity using
Copy - Integrator
- Integrator
- Interpolator
- Adapts an interpolator to output chunk mode
- Major
- Chain of major processors with intermediate buffer supporting block() processing from individual block()s
- Map
- Map
OptionandResult - Minor
- Processor-minor, data-major
- Mul
- Product
- Neg
- Inversion using
Neg. - Nyquist
- Nyquist zero with gain 2
- Offset
- Addition of a constant
- Parallel
- Fan out parallel input to parallel processors
- Rate
- Decimate or zero stuff
- Split
- A stateful processor with split state
- Sub
- Difference
- Transpose
- Data block transposition wrapper
- Unsplit
- Stateless/stateful marker
Traits§
- Inplace
- Inplace processing
- Process
- Processing block
- Split
Inplace - Inplace processing with a split state
- Split
Process - Processing with split state
Type Aliases§
- Pair
- Parallel filter pair