double precision fma function for every body

fma computation is no natively available within Matlab (only via Fixed-Point Designer toolbox). Here is a fma routine for real double.
7 Downloads
Updated 25 Nov 2023

View License

FMA is a very efficient basic arithmetic function to compute d=a*b+c. In practice a*b+c is internaly exactly computed and d receives the double precision approximation of this exact result. Our code FMA does this job using simd feature of any not too old processor. Our code is limited to double precision variable and AVX2 registers (256 bits i.e. 4 double). a, b, c and are scalars or 1D vectors of same length. Our C routine uses openmp (multithreadings) and simd (4 operations at the same time within 256 bits registers) and is faster than the built in matlab fma (less overhead because limited to 1D double).
This function can be extended to AVX3 (512 bits registers) for the most recent CPUs.

Cite As

Alain Barraud (2024). double precision fma function for every body (https://www.mathworks.com/matlabcentral/fileexchange/155607-double-precision-fma-function-for-every-body), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2023b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

FMA

Version Published Release Notes
1.0.0