fynch 0.1.0

Differentiable sorting and ranking: PAVA, Fenchel-Young losses, and O(n log n) FastSoftSort
Documentation
[package]
name = "fynch"
version = "0.1.0"
authors = ["Arc <attobop@gmail.com>"]
edition = "2021"
description = "Differentiable sorting and ranking: PAVA, Fenchel-Young losses, and O(n log n) FastSoftSort"
license = "MIT OR Apache-2.0"
repository = "https://github.com/arclabs561/fynch"
homepage = "https://github.com/arclabs561/fynch"
documentation = "https://docs.rs/fynch"
keywords = ["sorting", "ranking", "differentiable", "fenchel-young", "fastsoftsort"]
categories = ["algorithms", "science", "mathematics"]

[features]
default = []
# SIMD acceleration via innr crate
simd = ["dep:innr"]
# Gumbel-Softmax for stochastic top-k
gumbel = ["dep:kuji", "dep:rand"]

[dependencies]
thiserror = "2.0"
logp = "0.1.0"
serde = { version = "1.0", features = ["derive"] }
rand = { version = "0.9", optional = true }

# Optional: SIMD primitives
innr = { version = "0.1.0", optional = true }
# Optional: Stochastic sampling
kuji = { version = "0.1.0", optional = true }

[dev-dependencies]
approx = "0.5"
criterion = { version = "0.5", features = ["html_reports"] }
proptest = "1.5"
rand = "0.9"
serde_json = "1.0"

[[bench]]
name = "fy_bench"
harness = false

[[bench]]
name = "sinkhorn_bench"
harness = false