sleef
sleef copied to clipboard
Add VML-style API
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.