[Ecls-list] BUG: unexpected FLOATING-POINT-UNDERFLOW on Linux/armhf
Eric Marsden
eric.marsden at free.fr
Sat Mar 30 23:59:57 UTC 2013
>>>>> "jg" == Juan Jose Garcia-Ripoll <juanjose.garciaripoll at gmail.com> writes:
jg> ECL uses tanf() for computing the tangent with single-floats. If you have a
jg> look at the code in ecl/src/c/numbers/tan.d you will find the lines below.
jg> One possibility would be to uncomment safe_tanf() and see whether ECL now
jg> works. If this is the case then we might have to add another switch for
jg> your platform :-/
Thanks for the suggestion. With the patch below, tan seems to work
correctly.
diff --git a/src/c/numbers/tan.d b/src/c/numbers/tan.d
index 511e1e3..5700590 100644
--- a/src/c/numbers/tan.d
+++ b/src/c/numbers/tan.d
@@ -28,7 +28,7 @@
* solved. Not only that, but if we use tan() on float, GCC automatically
* and stupidly forces the use of tanf().
*/
-#if defined(__amd64__) && defined(__GLIBC__)
+#if (defined(__amd64__) || defined(__arm__)) && defined(__GLIBC__)
static double safe_tanf(double x) { return tan(x); }
#else
# define safe_tanf(x) tanf(x)
--
Eric Marsden
More information about the ecl-devel
mailing list