I'm working on metallic, correctly rounded C11 math functions from scratch in Rust, inspired by CORE-MATH and my previous works.
CORE-MATH is a C library correctly rounded in all rounding modes and runs in speed comparable to mainstream libm's. Since there is only the default fenv and rounding in Rust, I'm trying to exploit that to implement correctly rounded math functions faster than CORE-MATH.
Currently, I've made f32 functions as fast or faster than CORE-MATH. I'm still working hard to optimize f64 functions.
If you are interested in my interpretation of math functions, please let me ask some questions on no_std support:
I'm working on
metallic, correctly rounded C11 math functions from scratch in Rust, inspired by CORE-MATH and my previous works.CORE-MATH is a C library correctly rounded in all rounding modes and runs in speed comparable to mainstream libm's. Since there is only the default fenv and rounding in Rust, I'm trying to exploit that to implement correctly rounded math functions faster than CORE-MATH.
Currently, I've made
f32functions as fast or faster than CORE-MATH. I'm still working hard to optimizef64functions.If you are interested in my interpretation of math functions, please let me ask some questions on
no_stdsupport:stdfunctions that usually map to instructions, such asmul_add,round_ties_even,sqrt, etc. How do I translate them intono_stdcontext?