| Crates.io | dsp-process |
| lib.rs | dsp-process |
| version | 0.1.0 |
| created_at | 2026-01-13 15:24:36.184952+00 |
| updated_at | 2026-01-13 15:24:36.184952+00 |
| description | Declarative processing |
| homepage | |
| repository | https://github.com/quartiq/idsp.git |
| max_upload_size | |
| id | 2040442 |
| size | 43,660 |
The major traits are [Process]/[SplitProcess]/[Inplace]/[SplitInplace].
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 [Add]s 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>>].