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.
Stream for computing the intersection of two CoordBlocks
streams.
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.
Struct for the ArrayTryStream::resize
method.
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.
Indexing operations for ArrayExt
Defines a general logarithm.
Defines the natural logarithm.
Defines an exponentiation method pow
.
Defines common reduction operations product
and sum
.
Defines a rounding method round
.
Methods to check for infinite or non-numeric array elements.
Methods for handling a [Stream
] of ArrayExt
s.
Convenience methods defining the base value of a reduce operation on an ArrayExt
.
Trait defining the product of two numbers.
Trait defining the sum of two numbers.
Functions
Convert a coordinate to a linear offset.
Compute the intersection of two Coords
blocks.
The NumberType
of the product of an Array
with the given array_dtype
.
Compute the product of each stride
of a [Stream
] of Array
s.
Compute the sum of each stride
of a [Stream
] of Array
s.
The NumberType
of the sum of an Array
with the given array_dtype
.
Type Definitions
A complex number (an alias for num_complex::Complex
.
An n-dimensional coordinate.
One-dimensional array indices corresponding to n-dimensional coordinates.
The result of an Array
operation which may fail recoverably.