Rust wrapper for ArrayFire
For information on improvements and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.
Thank you!
This fix release fixes a critical bug regarding thread safety of structure wrappers of ArrayFire objects. This bug was inadvertently introduced in the v3.7.1 release. Hence, we are going to yank that version from crates.io. Existing users of v3.7.1 will still be able to use that crate version although multi-threaded code might not work as expected. We strongly recommend upgrading to v3.7.2 for all users.
Apart from fixing the critical bug we have also added a new tutorial to our book with short code examples on how to use ArrayFire in multi-threaded programs
Thank you! everyone.
view
macro to ease indexing operations - #230eval
macro to handle assignment(indexing) operations - #241Array::host
method - #220Seq
and Dim4
objects - #230For information on improvements and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.
Thank you! everyone.
product
functions output Array type. For boolean/char inputs, the output of product operation
is char and everywhere else same as AggregateType
alias.For more information about the performance and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.
Thank you.
self
keyword where applicable instead of type names - #193 #194lib64
) for dl-loading libs - #186core
from features - #190nearest_neighbour
& hamming_matcher
- https://github.com/arrayfire/arrayfire-rust/commit/84446095cdf717599fa49ae878cb543930923d58
Thank you.
For more information about the performance and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.
Prior to v3.6.0 Array
structure was a non-generic structure that didn't carry any information about the type of data being managed by the ArrayFire's memory manager. From now on, Array is generic over the type of data it is storing, thus has all the benefits of Rust checks. This may result in few code changes on the user's side. Hopefully they are minimal. Please don't hesitate to contact if you face any issue while moving to 3.6.0. We have made the necessary modifications to the examples provided in the crate to give you an idea of what the changes might look like. We will keep improving the API based on community feedback.
Array
is a generic and hence comes with all the checks rust carries out. Hopefully, this helps the users in avoiding type related issues.Core
is the only mandatory module needed by any other module.Community contributors
Thank you.
For more information about the performance and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.
rustc-serialize
development dependency with Sedre
. This modification resulted in changing minimum required Rust version to be 1.15.1
Array::new_empty
method
Seq::end
method.Array::elements
method to usize
HasAfEnum
trait bound to Array::host
method
For a detailed information on improvements, bug-fixes, new-examples and known-issues, please go through the ArrayFire v3.5.0 release notes.
Array::copy
and Clone
trait implementation for Arraystd::ops
traits implementation explicitly stating they carry out element wise operations.build.rs
script to look for ArrayFire libraries.