rlst 0.9.0

A Rust native linear algebra library.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "rlst"
version = "0.9.0"
authors = ["The rlst contributors"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Rust native linear algebra library."
homepage = "https://codeberg.org/linalg-rs"
readme = "README.md"
keywords = ["numerics"]
categories = [
    "mathematics",
    "science",
]
license = "MIT / Apache-2.0"
repository = "https://codeberg.org/linalg-rs/rlst"
resolver = "2"

[features]
blis_threading = []
burn = ["dep:burn"]
default = []
enable_tracing = [
    "rlst-proc-macro/enable_tracing",
    "dep:log",
]
fftw = ["dep:fftw-sys"]
fftw_mkl = ["fftw-sys/intel-mkl"]
fftw_source = ["fftw-sys/source"]
fftw_system = [
    "fftw-sys/system",
    "dep:pkg-config",
]
mkl_threading = []
mpi = [
    "dep:mpi",
    "dep:mpi-sys",
]
nightly = []
openblas_threading = []
strict = []

[lib]
name = "rlst"
path = "src/lib.rs"

[[example]]
name = "array_operations"
path = "examples/array_operations.rs"

[[example]]
name = "array_tools"
path = "examples/array_tools.rs"
required-features = ["mpi"]

[[example]]
name = "distributed_array"
path = "examples/distributed_array.rs"
required-features = ["mpi"]

[[example]]
name = "distributed_array_operations"
path = "examples/distributed_array_operations.rs"
required-features = ["mpi"]

[[example]]
name = "distributed_csr_matrix"
path = "examples/distributed_csr_matrix.rs"
required-features = ["mpi"]

[[example]]
name = "eigenvalue_decomposition"
path = "examples/eigenvalue_decomposition.rs"

[[example]]
name = "ghost_communicator"
path = "examples/ghost_communicator.rs"
required-features = ["mpi"]

[[example]]
name = "lu_decomposition"
path = "examples/lu_decomposition.rs"

[[example]]
name = "parallel_sort"
path = "examples/parallel_sort.rs"
required-features = ["mpi"]

[[test]]
name = "blas_threads"
path = "tests/blas_threads.rs"

[[test]]
name = "dot"
path = "tests/dot.rs"

[[test]]
name = "mpi_empty_ranks"
path = "tests/mpi_empty_ranks.rs"
harness = false
required-features = ["mpi"]

[[test]]
name = "static_type_macro"
path = "tests/static_type_macro.rs"

[[test]]
name = "zero_dim_array"
path = "tests/zero_dim_array.rs"

[dependencies.aligned-vec]
version = "0.6"

[dependencies.blas]
version = "0.23"

[dependencies.burn]
version = "0.21"
optional = true
default-features = false

[dependencies.bytemuck]
version = "1.25.2"

[dependencies.coe-rs]
version = "0.1.2"

[dependencies.fftw-sys]
version = "0.8"
optional = true
default-features = false

[dependencies.itertools]
version = "0.15"

[dependencies.lapack]
version = "0.20"

[dependencies.log]
version = "0.4"
optional = true

[dependencies.mpi]
version = "0.8.2"
features = [
    "derive",
    "complex",
]
optional = true

[dependencies.mpi-sys]
version = "0.2.4"
optional = true

[dependencies.num]
version = "0.4"
features = [
    "serde",
    "rand",
]

[dependencies.num_cpus]
version = "1"

[dependencies.paste]
version = "1"

[dependencies.pulp]
version = "0.22"

[dependencies.rand]
version = "0.10"

[dependencies.rand_chacha]
version = "0.10"

[dependencies.rand_distr]
version = "0.6"

[dependencies.rlst-proc-macro]
version = "0.9.0"

[dependencies.serde]
version = "1"

[dependencies.thiserror]
version = "2"

[dependencies.typenum]
version = "1"
features = ["const-generics"]

[dev-dependencies.approx]
version = "0.5"
features = ["num-complex"]

[dev-dependencies.paste]
version = "1"

[dev-dependencies.rand]
version = "0.10"

[build-dependencies.bindgen]
version = "0.73.2"
default-features = false

[build-dependencies.cc]
version = "1.5"

[build-dependencies.cmake]
version = "0.1"

[build-dependencies.git2]
version = "0.21"

[build-dependencies.pkg-config]
version = "0.3"
optional = true

[target.'cfg(target_os = "linux")'.dev-dependencies.blas-src]
version = "0.14"
features = ["openblas"]

[target.'cfg(target_os = "linux")'.dev-dependencies.lapack-src]
version = "0.13"
features = ["openblas"]

[target.'cfg(target_os = "linux")'.dev-dependencies.openblas-src]
version = "0.10"
features = ["system"]

[target.'cfg(target_os = "macos")'.dev-dependencies.blas-src]
version = "0.14"
features = ["accelerate"]

[target.'cfg(target_os = "macos")'.dev-dependencies.lapack-src]
version = "0.13"
features = ["accelerate"]

[lints.clippy]
wildcard_imports = "forbid"