PackageTrack
Sign in Get early access

smawk

Functions for finding row-minima in a totally monotone matrix.

0.3.3 87M downloads/mo #883 most downloaded on crates.io mgeisler/smawk

What this package is like to depend on

Last release 2 months ago

16 Jun 2026

Release timing varies

gaps range from 5 weeks to 2.7 years

Nearly every release is documented

notes for 6 of 6 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

6 releases · first in 2018

1 release in the last 12 months

see the full history below

Release timeline

6 releases · Aug 2018 to Jun 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 6
  1. 0.3.3 16 Jun 2026
    Release notes

    Version 0.3.3 (2026-06-16)

    This release contains optimizations that make our benchmarks about 28% faster by
    eliminating heap allocations and vector bounds checks.

    • #89: Add support for no_std.
    • #90: Add GitHub Sponsors
      configuration.
    • #114: Remove heap allocations by
      pre-allocating vectors up front. This improves benchmarks by 10%.
    • #115: Eliminate bounds checks in
      smawk_inner. This improves benchmarks by another 20%.
    Open source →
  2. 0.3.2 17 Sep 2023
    Release notes

    Version 0.3.2 (2023-09-17)

    This release adds more documentation and renames the top-level SMAWK functions.
    The old names have been kept for now to ensure backwards compatibility, but they
    will be removed in a future release.

    • #65: Forbid the use of unsafe code.
    • #69: Migrate to the Rust 2021 edition.
    • #73: Add examples to all functions.
    • #74: Add “mathematics” as a crate category.
    • #75: Remove smawk_ prefix from optimized functions.
    Open source →
  3. 0.3.1 30 Jan 2021
    Release notes

    Version 0.3.1 (2021-01-30)

    This release relaxes the bounds on the smawk_row_minima,
    smawk_column_minima, and online_column_minima functions so that
    they work on matrices containing floating point numbers.

    • #55: Relax bounds to
      PartialOrd instead of Ord.
    • #56: Update
      dependencies to their latest versions.
    • #59: Give an example of
      what SMAWK does in the README.
    Open source →
  4. 0.3.0 02 Sep 2020
    Release notes

    Version 0.3.0 (2020-09-02)

    This release slims down the crate significantly by making ndarray an
    optional dependency.

    • #45: Move non-SMAWK code and unit tests out of lib and into separate modules.
    • #46: Switch smawk_row_minima and smawk_column_minima functions to a new Matrix trait.
    • #47: Make the dependency on the ndarray crate optional.
    • #48: Let is_monge take a Matrix argument instead of ndarray::Array2.
    • #50: Remove mandatory dependencies on rand and num-traits crates.
    Open source →
  5. 0.2.0 29 Jul 2020
    Release notes

    Version 0.2.0 (2020-07-29)

    This release updates the code to Rust 2018.

    • #18: Make online_column_minima generic in matrix type.
    • #23: Switch to the [Rust 2018][rust-2018] edition. We test against the latest stable and nightly version of Rust.
    • #29: Drop strict Rust 2018 compatibility by not testing with Rust 1.31.0.
    • #32: Fix crash on overflow in is_monge.
    • #33: Update rand dependency to latest version and get rid of rand_derive.
    • #34: Bump num-traits and version-sync dependencies to latest versions.
    • #35: Drop unnecessary Windows tests. The assumption is that the numeric computations we do are cross-platform.
    • #36: Update ndarray dependency to the latest version.
    • #37: Automate publishing new releases to crates.io.
    Open source →
  6. 0.1.0 07 Aug 2018
    Release notes

    Version 0.1.0 (2018-08-07)

    First release with the classical offline SMAWK algorithm as well as a newer online version where the matrix entries can depend on previously computed column minima.

    Open source →

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