[package]
edition = "2021"
name = "tang"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Math library for physical reality — geometry, spatial algebra, tensor, training, GPU compute, and 3D gaussian splatting"
readme = "README.md"
license = "MIT"
repository = "https://github.com/ecto/tang"
[features]
accelerate = [
"la",
"dep:faer",
]
ad = ["la"]
bytemuck = ["dep:bytemuck"]
compute = [
"expr",
"bytemuck",
]
cuda = [
"compute",
"dep:cudarc",
]
default = ["std"]
exact = [
"dep:robust",
"std",
]
expr = ["std"]
gpu = [
"expr",
"dep:wgpu",
"dep:pollster",
"dep:safetensors-crate",
"bytemuck",
]
holo = [
"splatting",
"tensor",
"dep:image",
]
la = ["std"]
libm = ["dep:libm"]
metal = [
"compute",
"dep:metal",
"dep:objc",
]
optim = [
"la",
"ad",
]
safetensors = [
"la",
"tensor",
"dep:safetensors-crate",
]
serde = ["dep:serde"]
splatting = [
"gpu",
"expr",
"tensor",
"dep:wgpu",
"bytemuck",
"dep:pollster",
]
std = []
tensor = ["la"]
train = [
"la",
"ad",
"tensor",
"optim",
]
[lib]
name = "tang"
path = "src/lib.rs"
[dependencies.bytemuck]
version = "1.14"
features = ["derive"]
optional = true
[dependencies.cudarc]
version = "0.12"
features = [
"nvrtc",
"cublas",
"cuda-version-from-build-system",
]
optional = true
[dependencies.faer]
version = "0.20"
optional = true
[dependencies.image]
version = "0.25"
optional = true
[dependencies.libm]
version = "0.2"
optional = true
[dependencies.metal]
version = "0.31"
optional = true
[dependencies.objc]
version = "0.2"
optional = true
[dependencies.paste]
version = "1"
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.robust]
version = "1.1"
optional = true
[dependencies.safetensors-crate]
version = "0.4"
optional = true
package = "safetensors"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.wgpu]
version = "24"
optional = true
[dev-dependencies.approx]
version = "0.5"