All Versions
12
Latest Version
Avg Release Cycle
127 days
Latest Release
80 days ago

Changelog History
Page 1

  • v3.7.0

    March 14, 2020

    🆕 New Features & Improvements

    🆕 New Features/Functions

    🛠 Fixes and Improvements

    • 🔗 Linked to md-book on gh-pages so that docs.rs works
    • 🛠 Fixed product functions output Array type. For boolean/char inputs, the output of product operation
      is char and everywhere else same as AggregateType alias.

    👌 Improvements in Upstream

    • ➕ Added 16-bit floating point support for the following features/functions.
      • JIT
      • Printing of Array
      • Random Number Generation
      • Unary operators/functions
      • clamp
      • flat
      • matmul
      • reorder
      • select_scalar
      • transpose
    • 📜 Sparse array - Sparse array arithmetic support added in upstream.
    • 🖹 Print stack trace on errors.

    🚀 For more information about the performance and bug fixes made in the upstream, ArrayFire, please refer to the following two release notes.

  • v3.6.3

    January 28, 2020

    v3.6.3

    âšĄïž Updates

    • 🛠 Fixed second argument of reorder API to be more clear - #203
    • 🛠 Fixed unchecked string creation from ffi return value - #212
    • Implemented operator traits for Scalar and Array combinations - #208
    • 👌 Improved some tutorials - #204
    • 🚚 Moved all tutorials into a mdbook - #204
    • 🗄 Replaced deprecated uint8_t type with u8 - #209

    Community Contributors

    Thank you.

  • v3.6.2

    July 25, 2019

    v3.6.2

    âšĄïž Updates

    • ➕ Added missing docs for FloatingPoint trait members (6fe0371)
    • âšĄïž Update num crate to 0.2 (d0ad33d)

    Community Contributors

    Thank you @maxtnuk and @acm0055 for reporting the issue with num crate version 0.2.

  • v3.6.1

    June 18, 2019

    👌 Improvements, Fixes and New Examples

    👌 Improvements

    • Code changes to Rust 2018 Edition - #186
    • Reformatted code base using rustfmt tool - #186
    • 👉 Use self keyword where applicable instead of type names - #193 #194
    • 🖹 Updated macros af_print, join_many and eval to work with expressions instead of identifiers - #195

    🐛 Bug Fixes

    • ➕ Added additional search path suffix (lib64) for dl-loading libs - #186
    • 🛠 Fix comparison functions output type - #187
    • Internal traits are made public now to enable users write generic functions using arrayfire-rust's Array object - #188
    • ✂ Removed core from features - #190
    • Fixed documentation for nearest_neighbour & hamming_matcher - 8444609
    • Corrected OSX DYLD path instruction in README - 5d2ae2d

    🆕 New Examples

    • Conway's Game of Life - #179
    • Simple & Basic Example of fft Usage - #196

    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.

  • v3.6.0

    September 27, 2018

    🆕 New Features & Improvements

    Functions

    đŸ’„ Breaking Changes

    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.

    👌 Improvements

    • Array is a generic and hence comes with all the checks rust carries out. Hopefully, this helps the users in avoiding type related issues.
    • All sub-modules are organized into domain based categories so that they can be compiled individually into a crate with only the required functionality. Core is the only mandatory module needed by any other module.

    🐛 Bug Fixes

    • 🛠 Fix Rust enum representations to match FFI ABI.
    • 🛠 Fix a couple of typos in the documentation.

    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.

  • v3.5.0

    June 28, 2017

    🆕 New Features & Improvements

    🐛 Bug Fixes

    đŸ’„ Breaking Changes

    🆕 New Features & Major Updates from ArrayFire Upstream

    • 👍 ArrayFire now supports threaded applications.
    • 📜 Sparse-Dense Arithmetic Operations.
    • Tuned OpenCL BLAS Backend.
    • ✂ Removed CUDA 6.5 Support
    • CUDA JIT now uses NVRTC instead of NVVM.
    • 🚀 ArrayFire Graphics now use Forge v1.0 stable release.

    🚀 For a detailed information on improvements, bug-fixes, new-examples and known-issues, please go through the ArrayFire v3.5.0 release notes.

  • v3.4.3

    April 10, 2017

    v3.4.3

    🛠 Fixes

    • 🔄 Changed shift parameter type from unsigned type to signed type to enable usage of negative offsets. Shift was incorrectly using unsigned offset parameter earlier.
    • 🛠 Fixed Rust String to CString conversion in image loading/saving functions.
    • 🛠 Fixes/Changes in the documentation for following functions:
      • Array::copy and Clone trait implementation for Array
      • Add note to std::ops traits implementation explicitly stating they carry out element wise operations.
      • Corrected documentation dot that it accepts only vector/scalar arrays.
    • ➕ Added more search locations for build.rs script to look for ArrayFire libraries.
  • v3.4.2

    February 26, 2017

    v3.4.2

    🔋 Features

    • info_string - Returns the library meta-information as std::string::String.
    • ➕ Added arithmetic(+, -, *, /, %, &, |, , <<, >>) traits implementations for all input combinations of Array and &Array types.
    • ➕ Added a batch(boolean) parameter for logical operation functions - this breaks the API and please change your code where you call these functions accordingly. We are sorry for the inconvenience caused.
    • get_revision - Returns ArrayFire Revision (commit) information of the library as a string.
    • đŸ’» device_info - Returns a quadruple of Strings indicating the name, platform, toolkit name and computer version of the currently active device.

    🛠 Fixes

    🚀 Community contributors for this release

    Thank you.

  • v3.4.1

    January 11, 2017

    v3.4.1

    🔋 Features

    • Neg trait implementation for object type Array
    • 🆕 New set of following functions that lets the user create an array based on dimensions and a particular DType. Earlier to this addition, data generation functions deduced the target array type using generic type.
      • constant_t
      • range_t
      • iota_t
      • identity_t

    Examples

    • A new graphics example that illustrates acoustic wave propagation.

    🛠 Fixes

    🚀 Community contributors for this release

    Thank you.

  • v3.4.0

    September 15, 2016

    🔋 Features

    • 📜 Sparse Matrix and BLAS
      • Support for CSR and COO storage types.
      • Sparse-Dense Matrix Multiplication and Matrix-Vector Multiplication as a
        📜 part of af::matmul() using CSR format for sparse.
      • Conversion to and from dense matrix to CSR and COO storage types.
    • Faster JIT
      • Performance improvements for CUDA and OpenCL JIT functions.
      • Support for evaluating multiple outputs in a single kernel. See eval!() macro or function eval_multiple().
    • Random Number Generation
      • A random engine object to handle setting the random engine type and seed for random number generator engines.
      • Supported engine types are:
      • Philox
      • Threefry
      • Mersenne Twister
    • Graphics
      • Using Forge v0.9.0
      • New Functions to render Vector Fields
      • Window::draw_vector_field2()
      • Window::draw_vector_field3()
      • Window::draw_vector_field()
      • Multiple overlays on the same window are now possible.
      • Overlays support for same type of object (2D/3D)
      • Supported by Window::draw_plot[2|3](), Window::draw_hist(), Window::draw_surface(),
        Window::draw_vector_field[2|3]().
      • New API to set axes limits for graphs.
      • Draw calls do not automatically compute the limits. This is now under user control.
      • Window::set_axes_limits_[2d|3d|compute]() can be used to set axes limits automatically or manually.
      • Window::set_axes_titles() can be used to set axes titles.
      • New API for plot and scatter:
      • Window::draw_plot() and Window::draw_scatter() now can handle 2D and 3D and determine appropriate order.
      • draw_plot()
      • draw_plot2()
      • draw_plot3()
      • draw_scatter()
      • draw_scatter2()
      • draw_scatter3()
    • 🆕 New interpolation types to enum InteropType that apply to following functions
      • resize()
      • transform()
      • approx1()
      • approx2()
    • 👌 Support for complex mathematical functions
      • Add complex support for trignometry functions, sqrt(), log().
    • 🚩 medfilt1(): Median filter for 1-d signals
    • Generalized scan functions: scan_func_scan and scan_func_scanbykey
      • Now supports inclusive or exclusive scans
      • Supports binary operations defined by BinaryOp.
    • Image Moments functions
    • Add get_size_of() function for dtype

    🛠 For other information regarding bug fixes, compile time improvements and known issues in ArrayFire upstream, please visit the
    🚀 ArrayFire v3.4.0 Release Notes URL.

    Broken/Replaced API

    • The behaviour of Window::draw_plot has been to changed to handle generic plot rendering, 2D or 3D line plots. New functions Window::draw_plot[2|3] are added for dimension specific plot rendering.
    • The behaviour of Window::draw_scatter has been to changed to handle generic plot rendering, 2D or 3D line plots. New functions Window::draw_scatter[2|3] are added for dimension specific plot rendering.