[workspace]
members = [".", "archmage-macros", "magetypes", "xtask"]
[package]
name = "archmage"
version = "0.4.0"
edition = "2024"
rust-version = "1.89"
license = "MIT OR Apache-2.0"
description = "Safely invoke your intrinsic power, using the tokens granted to you by the CPU. Cast primitive magics faster than any mage alive."
repository = "https://github.com/imazen/archmage"
documentation = "https://docs.rs/archmage"
keywords = ["simd", "avx", "neon", "wasm", "safe"]
categories = ["development-tools", "hardware-support", "no-std"]
[features]
default = ["std", "macros", "bytemuck"]
std = []
macros = ["dep:archmage-macros"]
bytemuck = ["dep:bytemuck"]
avx512 = []
[dependencies]
archmage-macros = { version = "0.4.0", path = "archmage-macros", optional = true }
bytemuck = { version = "1.24", optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
trybuild = "1.0"
safe_unaligned_simd = { version = "0.2.3", features = ["avx512"] }
magetypes = { path = "magetypes", features = ["avx512"] }
[[bench]]
name = "tokens"
harness = false
[package.metadata.docs.rs]
features = ["std", "macros", "bytemuck", "avx512"]
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu", "wasm32-unknown-unknown"]