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_plot
has 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_scatter
has 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.