sleef icon indicating copy to clipboard operation
sleef copied to clipboard

Add VML-style API

Open shibatch opened this issue 6 years ago • 0 comments

I am planning to add a VML-style API to SLEEF.

https://software.intel.com/en-us/mkl-developer-reference-c-vm-mathematical-functions

The function names will have Sleef_ prefix. For example, the function corresponding to vmdPow will be Sleef_vmdPow. The macros will also have SLEEF_ prefix. SLEEF_VML_HA will be the macro in SLEEF corresponding to VML_HA.

Usage of multithreading is specified by SLEEF_VML_MT macro, instead of linking to a different library.

Not all the functions will be covered. It will not cover complex functions. Functions with m prefix will only be covered. This means that the users have to specify the accuracy each time. It will not support flush-to-zero mode or VM Error status. Only functions that have no side effects will be implemented.

At this time, I have not come up with a good way of testing the newly implemented functions. Those functions will be positioned work-in-progress, until testing functionality will be added.

The source code for this API will be placed in a directory different from libm. The dll will be separated from the existing ones.

shibatch avatar May 20 '18 08:05 shibatch