Rationale: the current implementation makes use of f64 and it has bad performance on architectures that have no hardware support for double precision floats.
What needs to be done:
Move the existing MUSL port into a private math::musl module and make sure we continue compiling it.
Port the newlib version into src/math/$fun.rs
Update the test suite by uncommenting the function name in tests/newlib.rs and removing the function name from tests/musl.rs.
Source 1: https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/math/sf_cos.c;hb=HEAD
Source 2: https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/libm/mathfp/sf_sine.c;hb=HEAD
(Unsure which one we want.)
Rationale: the current implementation makes use of
f64
and it has bad performance on architectures that have no hardware support for double precision floats.What needs to be done:
math::musl
module and make sure we continue compiling it.tests/newlib.rs
and removing the function name fromtests/musl.rs
.