Remove sin/cos workaround for libhoudini
authorPyry Haulos <phaulos@google.com>
Fri, 21 Nov 2014 00:11:50 +0000 (16:11 -0800)
committerPyry Haulos <phaulos@google.com>
Fri, 21 Nov 2014 00:11:50 +0000 (16:11 -0800)
Bug: 18093947
Change-Id: I20dea41a38245ccc6318275207d7981973714cf9

modules/glshared/glsBuiltinPrecisionTests.cpp

index 7914a05c2b4dd2fc6ac5c0a4ae4379f68da11548..2a2ecc37cd48861f7e0b49fc563be08b8a13154b 100644 (file)
@@ -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: