[package]
edition = "2024"
rust-version = "1.95"
name = "thermite"
version = "0.2.1"
authors = ["novacrazy <novacrazy@gmail.com>"]
build = false
include = [
"/src",
"/README.md",
"/GUIDE.md",
"/katex-header.html",
"/LICENSE-APACHE",
"/LICENSE-MIT",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance, generic, ISA-portable SIMD library with a policy-configurable transcendental math library"
homepage = "https://github.com/raygon-renderer/thermite"
readme = "README.md"
keywords = [
"simd",
"vector",
"math",
"no-std",
"performance",
]
categories = [
"no-std",
"mathematics",
"hardware-support",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/raygon-renderer/thermite"
resolver = "1"
[package.metadata.docs.rs]
features = [
"document_registers",
"std",
"avx2-f16c",
]
rustdoc-args = [
"--cfg",
"docsrs",
"--html-in-header",
"katex-header.html",
]
[features]
algebraic-scalar = []
avx2-f16c = ["thermite-macros/avx2-f16c"]
avx2-pclmul = ["thermite-macros/avx2-pclmul"]
avx512-tier1 = []
avx512-tier2 = ["avx512-tier1"]
avx512-tier3 = ["avx512-tier2"]
avx512-tier4 = ["avx512-tier3"]
bitvec = [
"dep:bitvec",
"generic-array/bitvec",
]
default = [
"document_registers",
"bitvec",
"avx2-f16c",
"avx2-pclmul",
]
disable_dispatch = []
disable_fast_fma = []
document_registers = []
ignore_denormals = []
nightly = []
partial-ord = []
preserve_denormals = []
spirv = ["nightly"]
std = ["num-traits/std"]
strict_ieee754 = [
"preserve_denormals",
"disable_fast_fma",
]
wasm = []
[lib]
name = "thermite"
path = "src/lib.rs"
[dependencies.bitvec]
version = "1.0.1"
optional = true
default-features = false
[dependencies.cfg-if]
version = "1"
default-features = false
[dependencies.const-default]
version = "1.0.0"
default-features = false
[dependencies.crunchy]
version = "0.2"
[dependencies.fast_polynomial]
version = "0.4"
default-features = false
[dependencies.generic-array]
version = "1.4.0"
[dependencies.hexf]
version = "0.2.1"
[dependencies.libm]
version = "0.2.13"
features = ["arch"]
default-features = false
[dependencies.num-traits]
version = "0.2.19"
default-features = false
[dependencies.paste]
version = "1.0.15"
[dependencies.rand]
version = "0.10"
optional = true
default-features = false
[dependencies.rustversion]
version = "1"
[dependencies.thermite-macros]
version = "=0.2.1"
[dev-dependencies.glam]
version = "0.33"
[dev-dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dev-dependencies.num-traits]
version = "0.2.19"
default-features = true
[dev-dependencies.rand]
version = "0.10"
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dependencies.thermite-macros]
version = "=0.2.1"
features = ["x86"]
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", all(target_arch = "aarch64", target_env = "gnu")))'.dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", all(target_arch = "aarch64", target_env = "gnu")))'.dev-dependencies.nalgebra]
version = "0.35"
[target.'cfg(any(target_arch = "x86", target_arch = "x86_64", all(target_arch = "aarch64", target_env = "gnu")))'.dev-dependencies.simba]
version = "0.10"
features = ["wide"]
[target.'cfg(target_arch = "aarch64")'.dependencies.thermite-macros]
version = "=0.2.1"
features = ["neon"]
[target.'cfg(target_arch = "spirv")'.dependencies.spirv-std-macros]
version = "0.9.0"
[target.'cfg(target_arch = "spirv")'.dependencies.thermite-macros]
version = "=0.2.1"
features = ["spirv"]
[target.'cfg(target_arch = "wasm32")'.dependencies.thermite-macros]
version = "=0.2.1"
features = ["wasm"]
[target.'cfg(target_arch = "wasm64")'.dependencies.thermite-macros]
version = "=0.2.1"
features = ["wasm"]
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = [
'cfg(target_arch, values("spirv"))',
"cfg(tarpaulin_include)",
"cfg(thermite_unstable_spirv)",
"cfg(thermite_legacy_map)",
]