From 233ccc95381db673521e4e95dee2d201dc018cd6 Mon Sep 17 00:00:00 2001 From: Pyry Haulos Date: Thu, 20 Nov 2014 16:11:50 -0800 Subject: [PATCH] Remove sin/cos workaround for libhoudini Bug: 18093947 Change-Id: I20dea41a38245ccc6318275207d7981973714cf9 --- modules/glshared/glsBuiltinPrecisionTests.cpp | 29 --------------------------- 1 file changed, 29 deletions(-) diff --git a/modules/glshared/glsBuiltinPrecisionTests.cpp b/modules/glshared/glsBuiltinPrecisionTests.cpp index 7914a05..2a2ecc3 100644 --- a/modules/glshared/glsBuiltinPrecisionTests.cpp +++ b/modules/glshared/glsBuiltinPrecisionTests.cpp @@ -2266,35 +2266,6 @@ protected: Interval m_hiExtremum; }; -#if (DE_CPU == DE_CPU_ARM) && (DE_OS == DE_OS_ANDROID) -// This is a workaround for Intel ARM->x86 translator (houdini) bug. -// sin() & cos() return garbage for very large inputs. The outcome is -// that when codomain is applied the result interval becomes empty. -// -// Workaround is to bring the input value to the base range via modulo if -// sin/cos returns an invalid value. - -double deSin (double v) -{ - const double r = ::deSin(v); - - if (deAbs(r) <= 1.0) - return r; - else - return ::deSin(deSign(v) * deMod(deAbs(v), DE_PI_DOUBLE * 2.0)); -} - -double deCos (double v) -{ - const double r = ::deCos(v); - - if (deAbs(r) <= 1.0) - return r; - else - return ::deCos(deMod(deAbs(v), DE_PI_DOUBLE * 2.0)); -} -#endif - class Sin : public TrigFunc { public: -- 2.7.4