Releases: jlogan03/flaw
Releases · jlogan03/flaw
0.5.0
0.5.0 - 2025-10-19
Using FMA to accelerate and reduce roundoff error in dot products.
Added
- Add
fmafeature that enables the use of fused multiply-add for dot products- Disabled by default because this causes a severe performance regression unless FMA is enabled for the target
Changed
- !Add trait bound on
MulAdd<Output = T>for numeric types in FIR and IIR filters - !Make
stda default feature to enable publishing and docs to work properly
v0.4.0
0.4.0 - 2025-10-03
Changed
- !Add bound on Num trait for generic fields
- Implement Default on all structs
- Update deps
v0.3.0
0.3.0 - 2025-08-31
Various performance-related improvements.
~20% improvement in speed based on testing on an STM32H7 microcontroller.
Changed
- !Store filter coeffs and taps in opposite order (most-recent-last) to improve vectorization
- !Const-unroll compute intensive loops
- !Limit size of FIR filters to <128 taps
- !Limit order of polynomial fractional delay filters to <=10
- Add
uvalue as initial for A*x dot product- (Potentially substantially) Improves float error for small values of latest measurement
uat the expense of slightly worse float error for largeu
- (Potentially substantially) Improves float error for small values of latest measurement
- Update flop per eval count to 4N-1
- Update rust edition to 2024
v0.2.5
0.2.5 - 2025-05-25
Changed
- Make
RingandAlignedArraypub to support read-only access to filter internals
Added
- Add FIR module with generic number field type
- Add Lagrange interpolator fractional delay filter construction
- Add functions for read-only access to IIR filter internals
v0.2.4
0.2.4 - 2025-02-06
Changed
- Change large const arrays to static to avoid inlining excessively large data
v0.2.3
0.2.3 - 2025-01-01
Changed
- Use ring buffer for IIR and median filter state storage
- Lower align of SisoIirFilter struct, since the internal storage is already aligned
Added
- Implement N-point median filter for odd N >= 3
v0.2.2
0.2.2 - 2024-12-27
Changed
- Derive Clone and Copy on
SisoIirFilterto allow faster construction of batches of identical filters - Make
generatedmodule pub to provide access to min/max cutoff ratio bounds for generated filters - Loosen version requirement on num_traits dep
0.2.1
v0.2.0
0.2.0 - 2024-07-10
Changed
- Implement rescaling of
Cvector during initialization of interpolated filters to correct gain for interpolation error - Tighten tolerance on gain of generated butterworth filters to 0.01% at minimum cutoff ratio
- Decrease range of validity for generated butterworth filters slightly to meet new tolerance
v0.1.0
chore: Release package flaw version 0.1.0