float8

Crates.iofloat8
lib.rsfloat8
version0.1.1
sourcesrc
created_at2024-10-06 16:37:25.760657
updated_at2024-10-06 23:00:30.660862
description8-bit floating point types for Rust
homepagehttps://github.com/EricLBuehler/float8
repositoryhttps://github.com/EricLBuehler/float8
max_upload_size
id1399196
size130,717
Eric Buehler (EricLBuehler)

documentation

README

float8: 8-bit floating point types for Rust

This crate provides 2 types:

  • F8E4M3: Sign + 4-bit exponent + 3-bit mantissa. More precise but less dynamic range.
  • F8E5M2: Sign + 5-bit exponent + 2-bit mantissa. Less precise but more dynamic range (same exponent as f16).

Generally, this crate is modelled after the half crate, so it can be used alongside and with minimal code changes.

  • This crate provides no_std support
  • Requires Rust 1.70 or greater

Optional features

  • std - Enable features that depend on the Rust standard library.
  • serde - Add support for the serde crate with Serialize and Deserialize traits.
  • num-traits - Implement traits from num-traits such as ToPrimitive, FromPrimitive, AsPrimitive, Num, Float, FloatCore, and Bounded.
  • bytemuck - Implement traits from bytemuck including Zeroable and Pod
  • zerocopy - Implement traits from zerocopy including AsBytes and FromBytes
  • rand_distr - Implement traits from rand_distr including Distribution and others
  • rkyv - Enable zero-copy deserialization with rkyv.

Resources

Commit count: 19

cargo fmt