hydroplane 0.1.0

Floating but fast: float-agnostic, ISPC-style SPMD/SIMD infrastructure — write one kernel generic over the scalar element (f32/f64/f16/bf16) and run it with runtime ISA dispatch.
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"
rust-version = "1.94"
name = "hydroplane"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Floating but fast: float-agnostic, ISPC-style SPMD/SIMD infrastructure — write one kernel generic over the scalar element (f32/f64/f16/bf16) and run it with runtime ISA dispatch."
documentation = "https://docs.rs/hydroplane"
readme = "README.md"
keywords = [
    "simd",
    "spmd",
    "ispc",
    "vectorization",
    "no-std",
]
categories = [
    "hardware-support",
    "no-std",
    "mathematics",
]
license = "Apache-2.0"
repository = "https://github.com/oh-yes-0-fps/hydroplane"
resolver = "2"

[features]
alloc = []
default = ["std"]
glam = ["dep:glam"]
libm = [
    "dep:libm",
    "glam?/libm",
]
std = [
    "alloc",
    "half/std",
    "glam?/std",
]

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

[[example]]
name = "asm_mat3"
path = "examples/asm_mat3.rs"
required-features = ["glam"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "mat3_inverse_vs_wide"
path = "benches/mat3_inverse_vs_wide.rs"
harness = false
required-features = ["glam"]

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

[dependencies.glam]
version = "0.32"
optional = true
default-features = false

[dependencies.half]
version = "2"
features = ["num-traits"]
default-features = false

[dependencies.hydroplane-macros]
version = "0.1.0"

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

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

[dev-dependencies.criterion]
version = "0.8.2"
features = ["cargo_bench_support"]
default-features = false

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

[dev-dependencies.soa-rs]
version = "1.0.0"

[dev-dependencies.wide]
version = "1.5.0"

[target.'cfg(target_arch = "spirv")'.dependencies.spirv-std]
version = "=0.10.0-alpha.1"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    'cfg(target_arch, values("spirv"))',
    "cfg(hp_no_apple_accelerate)",
    "cfg(hp_no_sve)",
    "cfg(hp_no_sme)",
    "cfg(hp_no_amx)",
    "cfg(hp_no_ilp)",
    "cfg(hp_no_avx)",
    "cfg(hp_no_avx512)",
    "cfg(hp_static_dispatch)",
    "cfg(hp_neon_over_sve)",
    "cfg(hp_analyze)",
    "cfg(hp_resolved_unroll)",
]