-
-
Notifications
You must be signed in to change notification settings - Fork 267
Open
Labels
Description
Sometimes it can be slower to do SIMD on simple vector arithmetic than to do regular operations, whereas operations such as matrix multiplies usually benefit from SIMD. It looks like you can only have SIMD on all the time, or never, based on whether the instructions are supported via a check during the preprocessing stage.
I would recommend adding versions of the functions that always do non-simd.
On a related note, some functions like the matrix inverse function do not guard against division by 0.0. I would also recommend a “safe divide” version of functions like these, and maybe they’d report an error by filling-in a pointer to status parameter or a return error code.