Crate afarray[−][src]
Expand description
Provides a generic one-dimensional Array which wraps arrayfire::Array and supports
all number_general::NumberType variants. Array and ArrayExt support basic math like
Add, Sub, Mul, Div, and Rem, with hardware acceleration on systems which support CUDA
or OpenCL. ArrayExt<bool> supports common logical operations and, not, or, and xor.
N-dimensional array functionality can be implemented using Coords and Offsets, which
provide methods for indexing a one-dimensional Array or ArrayExt as an n-dimensional
tensor.
Array supports (de)serialization without type hinting. ArrayExt<T> supports serialization
for T: Serialize and deserialization for T: Deserialize.
Example usage:
let a = [1, 2, 3];
let b = [5];
let product = &Array::from(&a[..]) * &Array::from(&b[..]);
assert_eq!(product, Array::from_iter(vec![5, 10, 15]));
assert_eq!(product.sum(), Number::from(30))This crate depends on ArrayFire version 3.8. You will have to install ArrayFire separately by following the instructions at https://arrayfire.org/docs/installing.htm in order to build this crate.
You can find detailed instructions for building the Rust arrayfire crate from crates.io at
https://crates.io/crates/arrayfire.
Structs
The error type used for Array which may fail recoverably.
A wrapper around af::Array which defines common operations.
Stream for merging two sorted CoordBlocks streams.
Return only the unique coordinates from a sorted stream of Coords.
A hardware-accelerated set of n-dimensional coordinates, all with the same dimension.
Enums
A generic one-dimensional array which supports all variants of NumberType.
Traits
Defines common access methods for instance of ArrayExt.
Defines an absolute value method abs.
Defines cumulative boolean operations any and all.
Defines element-wise comparison operations.
Defines an exponentiation method pow.
Defines common reduction operations product and sum.