Rust wrapper for ArrayFire 3.4.0
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 functioneval_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:
- 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()andWindow::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().
- Add complex support for trignometry functions,
- 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 fordtype
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_plothas been to changed to handle generic plot rendering, 2D or 3D line plots. New functionsWindow::draw_plot[2|3]are added for dimension specific plot rendering. - The behaviour of
Window::draw_scatterhas been to changed to handle generic plot rendering, 2D or 3D line plots. New functionsWindow::draw_scatter[2|3]are added for dimension specific plot rendering.