From c32cb20b11b15d6c72896a77735d8447f2f783d5 Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 17:53:43 +0000 Subject: [PATCH 1/6] ema: add getter for `window_len` field --- src/sliding_windows/ema.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sliding_windows/ema.rs b/src/sliding_windows/ema.rs index ba9983b..f9a0379 100644 --- a/src/sliding_windows/ema.rs +++ b/src/sliding_windows/ema.rs @@ -2,14 +2,17 @@ use std::num::NonZeroUsize; +use getset::CopyGetters; use num::Float; use crate::View; -#[derive(Clone, Debug)] +#[derive(Clone, Debug, CopyGetters)] /// EMA - Exponential Moving Average pub struct Ema { view: V, + /// The non-zero window length. + #[getset(get = "pub")] window_len: usize, alpha: T, last_ema: T, From 2b3e4851401d2a242f33885d22cdac65eea3c153 Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 17:54:23 +0000 Subject: [PATCH 2/6] sma: add getter for `window_len` field --- src/sliding_windows/sma.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/sliding_windows/sma.rs b/src/sliding_windows/sma.rs index fc70ecf..60b7544 100644 --- a/src/sliding_windows/sma.rs +++ b/src/sliding_windows/sma.rs @@ -5,14 +5,17 @@ use std::{ num::NonZeroUsize, }; +use getset::CopyGetters; use num::Float; use crate::View; -#[derive(Debug, Clone)] +#[derive(Debug, Clone, CopyGetters)] /// SMA - Simple Moving Average pub struct Sma { view: V, + /// The non-zero window length. + #[getset(get = "pub")] window_len: NonZeroUsize, q_vals: VecDeque, sum: T, From de1f7065ff766bde5187bd302e226316cbfe9cf3 Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 17:54:43 +0000 Subject: [PATCH 3/6] remove unused `.buildkite` directory --- .buildkite/pipeline.yaml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 .buildkite/pipeline.yaml diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml deleted file mode 100644 index 0b81e37..0000000 --- a/.buildkite/pipeline.yaml +++ /dev/null @@ -1,25 +0,0 @@ -steps: - - label: ":nixos: :rust: :buildkite: check" - command: RUSTFLAGS="-D warnings" nix develop --command bash -c "cargo check" - agents: - queue: nixos - - - label: ":nixos: :rust: :buildkite: clippy" - command: RUSTFLAGS="-D warnings" nix develop --command bash -c "cargo clippy" - agents: - queue: nixos - - - label: ":nixos: :rust: :buildkite: test" - command: RUSTFLAGS="-D warnings" nix develop --command bash -c "cargo test" - agents: - queue: nixos - - - label: ":nixos: :rust: :buildkite: fmt" - command: RUSTFLAGS="-D warnings" nix develop --command bash -c "cargo fmt --check" - agents: - queue: nixos - - - label: ":nixos: :rust: :buildkite: doc" - command: nix develop --command bash -c "cargo doc --no-deps --workspace" - agents: - queue: nixos From 1a32ae56d9bd390d1f1167f1c8802a55876bf2b5 Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 17:58:36 +0000 Subject: [PATCH 4/6] benches: use `std::hint::black_box` to remove deprecation warning --- Cargo.lock | 2 +- Cargo.toml | 2 +- benches/alma.rs | 6 ++++-- benches/center_of_gravity.rs | 6 ++++-- benches/correlation_trend_indicator.rs | 6 ++++-- benches/cumulative.rs | 6 ++++-- benches/cyber_cycle.rs | 6 ++++-- benches/ehlers_fisher_transform.rs | 6 ++++-- benches/ema.rs | 6 ++++-- benches/hl_normalizer.rs | 6 ++++-- benches/laguerre_filter.rs | 3 ++- benches/laguerre_rsi.rs | 6 ++++-- benches/my_rsi.rs | 6 ++++-- benches/noise_elimination_technology.rs | 6 ++++-- benches/polarized_fractal_efficiency.rs | 6 ++++-- benches/re_flex.rs | 6 ++++-- benches/roc.rs | 6 ++++-- benches/roofing_filter.rs | 6 ++++-- benches/rsi.rs | 6 ++++-- benches/sma.rs | 6 ++++-- benches/super_smoother.rs | 6 ++++-- benches/trend_flex.rs | 6 ++++-- benches/vsct.rs | 6 ++++-- benches/vst.rs | 6 ++++-- benches/welford_online.rs | 6 ++++-- 25 files changed, 92 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 52f20d5..035ed52 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1063,7 +1063,7 @@ checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "sliding_features" -version = "7.1.1" +version = "7.1.2" dependencies = [ "criterion", "getset", diff --git a/Cargo.toml b/Cargo.toml index 67a1b4e..7f41153 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ cargo-features = ["edition2024"] [package] name = "sliding_features" -version = "7.1.1" +version = "7.1.2" authors = ["MathisWellmann "] edition = "2024" license-file = "LICENSE" diff --git a/benches/alma.rs b/benches/alma.rs index 273a869..7469088 100644 --- a/benches/alma.rs +++ b/benches/alma.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/center_of_gravity.rs b/benches/center_of_gravity.rs index 14bed19..c39aafc 100644 --- a/benches/center_of_gravity.rs +++ b/benches/center_of_gravity.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/correlation_trend_indicator.rs b/benches/correlation_trend_indicator.rs index 4e3e96c..981949c 100644 --- a/benches/correlation_trend_indicator.rs +++ b/benches/correlation_trend_indicator.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/cumulative.rs b/benches/cumulative.rs index 2d1b171..f97ad42 100644 --- a/benches/cumulative.rs +++ b/benches/cumulative.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/cyber_cycle.rs b/benches/cyber_cycle.rs index 1c3a16d..9a28a29 100644 --- a/benches/cyber_cycle.rs +++ b/benches/cyber_cycle.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/ehlers_fisher_transform.rs b/benches/ehlers_fisher_transform.rs index 8218c3c..4106ca5 100644 --- a/benches/ehlers_fisher_transform.rs +++ b/benches/ehlers_fisher_transform.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/ema.rs b/benches/ema.rs index d71cfd1..1f16b85 100644 --- a/benches/ema.rs +++ b/benches/ema.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/hl_normalizer.rs b/benches/hl_normalizer.rs index e76229a..3ab1048 100644 --- a/benches/hl_normalizer.rs +++ b/benches/hl_normalizer.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/laguerre_filter.rs b/benches/laguerre_filter.rs index e5e9fdc..700b885 100644 --- a/benches/laguerre_filter.rs +++ b/benches/laguerre_filter.rs @@ -1,6 +1,7 @@ +use std::hint::black_box; + use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/laguerre_rsi.rs b/benches/laguerre_rsi.rs index 6316e31..f46fd7f 100644 --- a/benches/laguerre_rsi.rs +++ b/benches/laguerre_rsi.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/my_rsi.rs b/benches/my_rsi.rs index bb693e0..66c8c09 100644 --- a/benches/my_rsi.rs +++ b/benches/my_rsi.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/noise_elimination_technology.rs b/benches/noise_elimination_technology.rs index 7b96909..896f1e0 100644 --- a/benches/noise_elimination_technology.rs +++ b/benches/noise_elimination_technology.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/polarized_fractal_efficiency.rs b/benches/polarized_fractal_efficiency.rs index 93aaffa..abc8831 100644 --- a/benches/polarized_fractal_efficiency.rs +++ b/benches/polarized_fractal_efficiency.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/re_flex.rs b/benches/re_flex.rs index fd337a3..0a4f78c 100644 --- a/benches/re_flex.rs +++ b/benches/re_flex.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/roc.rs b/benches/roc.rs index 910cdc0..2a66d7f 100644 --- a/benches/roc.rs +++ b/benches/roc.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/roofing_filter.rs b/benches/roofing_filter.rs index df4431a..1dfde6f 100644 --- a/benches/roofing_filter.rs +++ b/benches/roofing_filter.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/rsi.rs b/benches/rsi.rs index b2eec9b..0d5d629 100644 --- a/benches/rsi.rs +++ b/benches/rsi.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/sma.rs b/benches/sma.rs index 0c48e5b..9a075f9 100644 --- a/benches/sma.rs +++ b/benches/sma.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/super_smoother.rs b/benches/super_smoother.rs index fabc38d..f236ab3 100644 --- a/benches/super_smoother.rs +++ b/benches/super_smoother.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/trend_flex.rs b/benches/trend_flex.rs index a49e2e1..22583ea 100644 --- a/benches/trend_flex.rs +++ b/benches/trend_flex.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/vsct.rs b/benches/vsct.rs index 76ca009..819f5a3 100644 --- a/benches/vsct.rs +++ b/benches/vsct.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/vst.rs b/benches/vst.rs index 3985287..8e797fb 100644 --- a/benches/vst.rs +++ b/benches/vst.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; diff --git a/benches/welford_online.rs b/benches/welford_online.rs index 6fad18f..a7dff41 100644 --- a/benches/welford_online.rs +++ b/benches/welford_online.rs @@ -1,8 +1,10 @@ -use std::num::NonZeroUsize; +use std::{ + hint::black_box, + num::NonZeroUsize, +}; use criterion::{ Criterion, - black_box, criterion_group, criterion_main, }; From b5d9fe1d5878deb54a6745407247bfedc5b84fbc Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 17:59:02 +0000 Subject: [PATCH 5/6] Update `flake.lock` --- Cargo.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 035ed52..9b70ee6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,15 +61,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bumpalo" -version = "3.19.1" +version = "3.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" +checksum = "c81d250916401487680ed13b8b675660281dcfc3ab0121fe44c94bcab9eae2fb" [[package]] name = "bytemuck" @@ -91,9 +91,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.2.55" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ "find-msvc-tools", "shlex", @@ -147,18 +147,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.57" +version = "4.5.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a" +checksum = "c5caf74d17c3aec5495110c34cc3f78644bfa89af6c8993ed4de2790e49b6499" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.5.57" +version = "4.5.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238" +checksum = "370daa45065b80218950227371916a1633217ae42b2715b2287b606dcd618e24" dependencies = [ "anstyle", "clap_lex", @@ -166,9 +166,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.7" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "color_quant" @@ -388,7 +388,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c7e611d49285d4c4b2e1727b72cf05353558885cc5252f93707b845dfcaf3d3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "byteorder", "core-foundation", "core-graphics", @@ -578,9 +578,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.180" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libloading" @@ -604,7 +604,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "libc", ] @@ -616,9 +616,9 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "miniz_oxide" @@ -1076,9 +1076,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" dependencies = [ "proc-macro2", "quote", @@ -1134,9 +1134,9 @@ checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "walkdir" @@ -1351,18 +1351,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.38" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961" +checksum = "db6d35d663eadb6c932438e763b262fe1a70987f9ae936e60158176d710cae4a" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.38" +version = "0.8.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75" +checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517" dependencies = [ "proc-macro2", "quote", @@ -1371,6 +1371,6 @@ dependencies = [ [[package]] name = "zmij" -version = "1.0.19" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" From 563244aecbe184ec6f8f24b473910005c9c0c15b Mon Sep 17 00:00:00 2001 From: MathisWellmann Date: Wed, 18 Feb 2026 18:00:13 +0000 Subject: [PATCH 6/6] GH: remove PR template --- .github/pull_request_template.md | 40 -------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 5f87263..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,40 +0,0 @@ -## Changes: - - - -* 🩹 Bug Fix -* 🦚 Feature -* 📙 Documentation -* 🪣 Misc - -## References: - - - -## Changes proposed by this PR: - - - -## Notes to reviewer: - - - -## 📜 Checklist - -* [ ] The PR scope is bounded -* [ ] Relevant issues and discussions are referenced -* [ ] Test coverage is excellent and passes -* [ ] Tests test the desired behavior -* [ ] Documentation is thorough -