From 5d44e6a92ca6d371304c89f25add385d9777ebca Mon Sep 17 00:00:00 2001 From: mux Date: Mon, 30 Jun 2014 16:30:48 +0200 Subject: [PATCH] Add copysignf * Fix #692 --- stmhal/math.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/stmhal/math.c b/stmhal/math.c index 637f447cf1..91ffb2503f 100644 --- a/stmhal/math.c +++ b/stmhal/math.c @@ -72,6 +72,7 @@ float __attribute__((pcs("aapcs"))) __aeabi_d2f(double x) { fx.m = (dx.m>>(52-23)); // right justify return fx.f; } + double __aeabi_dmul(double x , double y) { return 0.0; @@ -85,6 +86,18 @@ float sqrtf(float x) { return x; } +#ifndef NDEBUG +float copysignf(float x, float y) { + float_s_t fx={.f = x}; + float_s_t fy={.f = y}; + + // copy sign bit; + fx.s = fy.s; + + return fx.f; +} +#endif + // some compilers define log2f in terms of logf #ifdef log2f #undef log2f