Expand description
Exact min-plus convolution algorithms for structured integer sequences.
T::maximum() represents positive infinity. Callers must choose a signed
integer type that can represent every finite result and every intermediate
arithmetic expression used by the selected algorithm.
Re-exportsยง
pub use self::concave::min_plus_convolution_concave_both;pub use self::concave::min_plus_convolution_concave_envelope;pub use self::convex::min_plus_convolution_convex_divide_and_conquer;pub use self::convex::min_plus_convolution_convex_merge;pub use self::convex::min_plus_convolution_convex_smawk;pub use self::monotone::min_plus_convolution_monotone_runs;pub use self::near_convex::min_plus_convolution_near_convex_scan;pub use self::piecewise_linear::min_plus_convolution_linear;pub use self::piecewise_linear::min_plus_convolution_piecewise_linear;pub use self::selector::min_plus_convolution;pub use self::squared_distance::min_plus_convolution_with_squared_distance;
Modulesยง
- concave ๐
- convex ๐
- monotone ๐
- near_
convex ๐ - piecewise_
linear ๐ - selector ๐
- squared_
distance ๐
Structsยง
- Bounded
Requirements ๐
Constantsยง
- MAX_
NTT_ ๐SIZE
Functionsยง
- assert_
finite ๐ - bounded_
requirements_ ๐from_ extrema - bounded_
transform_ ๐len - finite_
extrema ๐ - min_
plus_ convolution_ bounded_ ntt - Computes exact min-plus convolution for small integer value spans using NTT.
- min_
plus_ convolution_ naive - Computes min-plus convolution by enumerating all input pairs.
- min_
plus_ convolution_ sparse - Computes min-plus convolution by enumerating finite input pairs only.
- output_
len ๐ - sparse ๐