4 releases (breaking)
0.4.0 | Nov 11, 2022 |
---|---|
0.3.0 | Jun 11, 2020 |
0.2.0 | Nov 1, 2016 |
0.1.0 | Oct 21, 2016 |
#40 in #const-generics
Used in 2 crates
16KB
380 lines
array_ext
Extra functionality for Rust arrays.
Examples
The trait Array
provides fixed-size array generics:
use array_ext::Array;
fn average<T: Array<f32>>(arr: T) -> f32
{
let n = arr.len() as f32;
arr.foldl(0.0, |acc, val| acc + val) / n
}
assert!((average([8.96, 3.14, 17.9]) - 10.0).abs() < f32::EPSILON);
Some methods, like zip_with
, are provided by the sized ArrayN
trait that allows doing full
[T; N] -> [U; N]
mapping. The base Array
trait can only do [T; N] -> [T; N]
mapping.
This was originally made as workaround for the lack of const generics, but since v0.4 everything is implemented using const generics.
lib.rs
:
Extra functionality for Rust arrays.