Skip to content

qu1x/lav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lav

Lane-Associated Vector (LAV): Portable SIMD vector trait as GAT of SIMD lane trait.

Build Documentation Downloads Version Rust License

NOTE: This crate requires nightly Rust.

Features

  • SIMD lane trait Real abstracting over f32 and f64.
  • SIMD vector trait SimdReal<Real, N> abstracting over Simd<f32, N> and Simd<f64, N>.
  • Generic associated type (GAT) Real::Simd<N> as part of SIMD lane trait Real implementing SIMD vector trait SimdReal<Self, N> for itself as lane type where the GAT is generic over the number of SIMD vector lanes N.
  • Lanewise approximate equality test wrt to epsilon and ULP SIMD vectors.
  • ApproxEq trait complementing PartialEq.
  • no_std without loss of functionality by enabling the libm feature.

This example uses SIMD generically over floating-point types while hiding it from the user.

See the release history to keep track of the development.

Documentation Builds

# Build and open documentation inclusive dependencies.
cargo doc --open
# Rebuild this crate's documentation with KaTeX.
cargo tex
# Refresh opened documentation.

With cargo tex defined in .cargo/config. Note that navigating the documentation requires web access as KaTeX is embedded via remote CDN.

License

Copyright © 2021-2022 Rouven Spreckels rs@qu1x.dev

Licensed under the terms of the MPL-2.0.

The MPL allows the integration of MPL-licensed code into proprietary codebases, as long as the MPL-licensed components remain accessible under the terms of the MPL.

Contribution

Unless you explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Covered Software by You shall be licensed as above, without any additional terms or conditions.

About

Lane-Associated Vector (LAV): Portable SIMD vector trait as GAT of SIMD lane trait.

Resources

Stars

Watchers

Forks

Packages

No packages published