## 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`

.`ArrayExt`

`min`

and `max`

.`pow`

.`product`

.`round`

.`sum`

.`Stream`

] of `ArrayExt`

s.`Stream`

] of `ArrayExt`

s.`Stream`

] of `ArrayExt`

s.`Stream`

] of `ArrayExt`

s.`ArrayExt`

.## Functions

## Type Definitions

`num_complex::Complex`

.`Array`

operation which may fail recoverably.