oxifft 0.1.3

Pure Rust implementation of FFTW - the Fastest Fourier Transform in the West
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 = "2021"
name = "oxifft"
version = "0.1.3"
authors = ["COOLJAPAN OU (Team KitaSan)"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust implementation of FFTW - the Fastest Fourier Transform in the West"
homepage = "https://github.com/cool-japan/oxifft"
documentation = "https://docs.rs/oxifft"
readme = "README.md"
keywords = [
    "fft",
    "fftw",
    "dft",
    "signal-processing",
    "simd",
]
categories = [
    "algorithms",
    "science",
    "mathematics",
]
license = "Apache-2.0"
repository = "https://github.com/cool-japan/oxifft"

[features]
const-fft = []
cuda = []
default = [
    "std",
    "threading",
]
f128-support = []
f16-support = []
gpu = []
metal = []
mpi = ["dep:mpi"]
portable_simd = []
pruned = []
simd = []
sparse = []
std = [
    "dep:serde_json",
    "num-complex/std",
    "num-traits/std",
    "serde/std",
]
streaming = []
sve = ["dep:libc"]
threading = [
    "std",
    "dep:rayon",
]
wasm = [
    "dep:wasm-bindgen",
    "dep:js-sys",
]

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

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

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

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

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

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

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

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

[[example]]
name = "sparse_fft"
path = "examples/sparse_fft.rs"
required-features = ["sparse"]

[[example]]
name = "streaming_fft"
path = "examples/streaming_fft.rs"
required-features = ["streaming"]

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

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

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

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

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

[[bench]]
name = "beyond_fftw"
path = "benches/beyond_fftw.rs"
harness = false
required-features = [
    "sparse",
    "pruned",
    "streaming",
    "const-fft",
]

[[bench]]
name = "dft_1d"
path = "benches/dft_1d.rs"
harness = false

[dependencies.hashbrown]
version = "0.16"

[dependencies.js-sys]
version = "0.3"
optional = true

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.libm]
version = "0.2"

[dependencies.mpi]
version = "0.8"
optional = true

[dependencies.num-complex]
version = "0.4"
default-features = false

[dependencies.num-traits]
version = "0.2"
features = ["libm"]
default-features = false

[dependencies.oxifft-codegen]
version = "0.1.3"

[dependencies.rayon]
version = "1.11"
optional = true

[dependencies.seahash]
version = "4.1"

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "alloc",
]
default-features = false

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.spin]
version = "0.10"
features = [
    "spin_mutex",
    "rwlock",
    "once",
    "lazy",
]
default-features = false

[dependencies.wasm-bindgen]
version = "0.2"
optional = true

[dev-dependencies.approx]
version = "0.5"

[dev-dependencies.criterion]
version = "0.7"
features = ["html_reports"]

[dev-dependencies.proptest]
version = "1.10"

[dev-dependencies.rustfft]
version = "6.4"

[lints.clippy]
all = "warn"
nursery = "warn"
pedantic = "warn"

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"