Prepared history shared by any number of stateless Lagrange read heads. More...
#include <fractional_delay.hpp>
Public Member Functions | |
| FractionalDelayHistoryT ()=default | |
| FractionalDelayHistoryT (const FractionalDelayHistoryT &)=delete | |
| FractionalDelayHistoryT & | operator= (const FractionalDelayHistoryT &)=delete |
| FractionalDelayHistoryT (FractionalDelayHistoryT &&other) noexcept | |
| FractionalDelayHistoryT & | operator= (FractionalDelayHistoryT &&other) noexcept |
| bool | prepare (std::size_t maximum_delay_samples) |
| void | reset () noexcept |
| void | discard_history () noexcept |
| Forgets all prior samples in constant time. | |
| bool | prepared () const noexcept |
| std::size_t | maximum_delay_samples () const noexcept |
| std::size_t | retained_samples () const noexcept |
| std::size_t | retained_bytes () const noexcept |
| std::size_t | required_older_lookback () const noexcept |
| FractionalDelayStatus | push (SampleType sample) noexcept |
| Advances history by one sample. | |
| FractionalDelaySampleResult< SampleType > | read_at (double delay_samples, FractionalDelayMethod method) const noexcept |
| Reads one stateless head from the current history snapshot. | |
| FractionalDelaySampleResult< SampleType > | read_lagrange3_at (double delay_samples) const noexcept |
| FractionalDelaySampleResult< SampleType > | read_lagrange5_at (double delay_samples) const noexcept |
Static Public Member Functions | |
| static constexpr std::size_t | minimum_delay_samples (FractionalDelayMethod method) noexcept |
Prepared history shared by any number of stateless Lagrange read heads.
Pushing and reading are deliberately separate operations. A caller may read the current immutable history before pushing a feedback result, or push an input first and then take any number of simultaneous reads. Delays are measured behind the next write: delay 1 is the most recently pushed sample. Failed prepare calls leave the previous history and configuration untouched.
|
default |
|
delete |
|
inlinenoexcept |
|
inlinenoexcept |
Forgets all prior samples in constant time.
Unlike reset(), this does not eagerly clear storage; invalidated slots remain unreachable until they have been overwritten by later pushes.
|
inlinenodiscardnoexcept |
|
inlinestaticnodiscardconstexprnoexcept |
|
delete |
|
inlinenoexcept |
|
inlinenodiscard |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
Advances history by one sample.
Nonfinite input advances with zero and reports the fault so invalid values can never poison later read heads.
|
inlinenodiscardnoexcept |
Reads one stateless head from the current history snapshot.
Only the two Lagrange methods are accepted; reads never advance or alter history.
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |