# 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"
rust-version = "1.70"
name = "half"
version = "2.4.0"
authors = ["Kathryn Long <squeeself@gmail.com>"]
exclude = [
    ".git*",
    ".editorconfig",
    ".circleci",
]
description = "Half-precision floating point f16 and bf16 types for Rust implementing the IEEE 754-2008 standard binary16 and bfloat16 types."
readme = "README.md"
keywords = [
    "f16",
    "bfloat16",
    "no_std",
]
categories = [
    "no-std",
    "data-structures",
    "encoding",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/starkat99/half-rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[[bench]]
name = "convert"
harness = false

[dependencies.bytemuck]
version = "1.4.1"
features = ["derive"]
optional = true
default-features = false

[dependencies.cfg-if]
version = "1.0.0"

[dependencies.num-traits]
version = "0.2.14"
features = ["libm"]
optional = true
default-features = false

[dependencies.rand]
version = "0.8.5"
optional = true
default-features = false

[dependencies.rand_distr]
version = "0.4.3"
optional = true
default-features = false

[dependencies.rkyv]
version = "0.7"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false

[dependencies.zerocopy]
version = "0.6.0"
optional = true
default-features = false

[dev-dependencies.criterion]
version = "0.4.0"

[dev-dependencies.crunchy]
version = "0.2.2"

[dev-dependencies.quickcheck]
version = "1.0"

[dev-dependencies.quickcheck_macros]
version = "1.0"

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

[features]
alloc = []
default = ["std"]
rand_distr = [
    "dep:rand",
    "dep:rand_distr",
]
std = ["alloc"]
use-intrinsics = []

[target."cfg(target_arch = \"spirv\")".dependencies.crunchy]
version = "0.2.2"
