PackageTrack
Sign in Get early access

argminmax

ArgMinMax (argmin & argmax in 1 function) with SIMD for floats and integers

0.6.3 14M downloads/mo #2627 most downloaded on crates.io jvdd/argminmax

What this package is like to depend on

Last release 1 years ago

07 May 2025

Ships unpredictably

gaps range from 8 days to 1.2 years

Some releases are documented

notes for 7 of 12 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

12 releases · first in 2022

0 releases in the last 12 months

see the full history below

Release timeline

12 releases · Oct 2022 to May 2025
2023 2024 2025 2026
Release Pre-release

Releases

latest 12
  1. 0.6.3 07 May 2025
    Release notes

    What's Changed

    • chore: update dependencies by @jvdd in #66
    • ci: update codspeed-criterion dependency by @jvdd in #67
    • fix: add full copy of half to dev dep with rand_distr feature by @jvdd in #68
    • chore: update dependencies by @jvdd in #69
    • chore: update codspeed-criterion by @jvdd in #70
    • fix build error on nightly-2025-04-25 by @JosiahWhite in #73
    • chore: update dependencies by @jvdd in #72

    New Contributors

    Full Changelog: v0.6.2...v0.6.3

    Open source →
  2. 0.6.2 04 Mar 2024
    Release notes

    What's Changed

    • ci: test target build on stable by @jvdd in #53
    • feat: add 64-bit aarch64 SIMD implementation by @jvdd in #52
    • perf: use uint MAX_INDEX on arm / aarch64 for uint SIMD by @jvdd in #54
    • refactor: remove unnecessary repetition operator from macros by @jvdd in #57
    • test: include argmin and argmax in integration tests by @jvdd in #58
    • test: use full range for floats uniform by @jvdd in #60
    • fix: remove stdsimd feature; add stdarch_x86_avx512 by @lazyky in #62
    • chore: remove unused get_lane_size function from SIMDInstructionSet by @jvdd in #64
    • enh: remove simd_nightly feature flag for aarch64 by @jvdd in #63

    New Contributors

    Full Changelog: v0.6.1...v0.6.2

    Open source →
  3. 0.6.1 14 Apr 2023
    Release notes

    What's Changed

    • feat: add "nightly_simd" feature to allow stable build by @jvdd in #50

    Full Changelog: v0.6.0...v0.6.1

    Open source →
  4. 0.6.0 10 Apr 2023
    Release notes

    What's Changed

    • 🚀 add argmin & argmax by @jvdd in #42
    • perf: tune scalar argmin & argmax by @jvdd in #43
    • feat: optimize + add f16 scalar implementations by @jvdd in #44
    • 🔥 impl argmin & argmax in public traits by @jvdd in #45
    • chore: comply with breaking api change in arrow v36 by @jvdd in #47
    • 🎉 add f16 simd support for ignore nan by @jvdd in #46
    • 🎉 add optional arrow2 support by @jvdd in #48

    Full Changelog: v0.5.0...v0.6.0

    Open source →
  5. 0.5.0 23 Mar 2023
    Release notes

    This release adds nan-handling to the argminmax project 🚀

    • ArgMinMax its argminmax ignores nans (= backwards compatible)
    • NanArgMinMax (only implemented for floats) its nanargminmax propagates nans (return idx of first nan)

    Other changes in this release:

    • feature-gate floats with the (default) "float" feature
    • add proper docs 📚
    • refactoring of tests, benchmarks & internal traits (making code more flexible, limiting duplicate code)

    P.S.: Since CodSpeedHQ/codspeed-rust#1 is resolved, we removed "half" from the default-features.

    What's Changed

    • ♻️ major refactoring by @jvdd in #23
    • 🥧 update NEON SIMD by @jvdd in #25
    • ♻️ change nan default handling behavior to SkipNa by @jvdd in #28
    • Add MacOS stuff to .gitignore by @varon in #29
    • 🚀 float NaN handling by @jvdd & @varon in #21
    • ♻️ parameterize tests by @jvdd in #31
    • fix(test): clip shift size to 31 bits on arm by @jvdd in #32
    • docs: describe transformation for uints by @jvdd in #33
    • chore(bench): rename benches by @jvdd in #34
    • refactor: architecture - use type-state pattern by @jvdd in #35
    • refactor(test): pass struct to tests instead of method by @jvdd in #36
    • ci: upgrade codspeed & make half non-default feature by @jvdd in #37
    • feat: add new default float feature by @jvdd in #38
    • refactor: add nanargminmax to NanArgMinMax trait by @jvdd in #39
    • fix: allow double update in scalar ignore nan implementation by @jvdd in #40
    • docs: add proper documentation 🎉 by @jvdd in #41

    Full Changelog: v0.4.0...v0.5.0

    Open source →
  6. 0.4.0 13 Feb 2023
    Release notes

    This release improves the underlying implementation by replacing ndarray::ArrayView1 with the more flexible (and zero-dependency) &[T] slice. This new implementation enhances the library's interoperability with other array-like data types and crates.

    As of now importing the ArgMinMax trait adds the .argminmax function to:

    • slice (&[T])
    • Vec

    Using optional features, the .argminmax function can be added to:

    P.S.: To include the amazing @CodSpeedHQ continuous performance monitoring in our CI we had to add the "half" feature as default-feature (see CodSpeedHQ/codspeed-rust#1). As soon as this issue is resolved we plan to remove again "half" from the default-features.

    What's Changed

    • 🐰 add codspeed benchmarking to ci/cd by @jvdd in #15
    • 🍵 use slice internally + implement for various types by @jvdd in #13
    • QOL improvements by @varon in #17

    New Contributors

    • @varon made their first contribution in #17

    Full Changelog: v0.3.1...v0.4.0

    Open source →
  7. 0.3.1 04 Jan 2023
    Release notes

    This is the latest release that uses ndarray::ArrayView1 as underlying and mandatory interface. In future releases, we will switch to using slices internally and offer optional compatibility with other data types, including ndarray::ArrayView1

    P.S.: This release and tag were created after we had already implemented slices as the internal interface. The tag references the latest commit that includes the ndarray::ArrayView1 implementation, which corresponds to v0.3.1 of the Rust crate.

    Open source →
  8. 0.3.0 13 Dec 2022

    Nothing published for this version

  9. 0.2.1 28 Nov 2022

    Nothing published for this version

  10. 0.2.0 20 Nov 2022

    Nothing published for this version

  11. 0.1.1 02 Oct 2022

    Nothing published for this version

  12. 0.1.0 01 Oct 2022

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive