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
CoordBlocks streams.Coords.ArrayTryStream::resize method.Enums
NumberType.Traits
ArrayExt.abs.any and all.ArrayExtmin and max.pow.product.round.sum.Stream] of ArrayExts.Stream] of ArrayExts.Stream] of ArrayExts.Stream] of ArrayExts.ArrayExt.Functions
Type Definitions
num_complex::Complex.Array operation which may fail recoverably.