Ignore:
Timestamp:
Sep 4, 2011, 2:28:52 PM (9 years ago)
Author:
sam
Message:

core: implement accelerated lol_sincos() and lol_tan().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/trig.cpp

    r897 r899  
    7171            CPPUNIT_ASSERT(fabs(a - b) <= fabs(f) * 1e-11);
    7272        }
     73
     74        for (int i = -10000; i < 10000; i++)
     75        {
     76            double f = (double)i * (1.0 / 1000.0);
     77            double a1 = __builtin_sin(f);
     78            double a2 = __builtin_cos(f);
     79            double b1, b2;
     80            lol_sincos(f, &b1, &b2);
     81            CPPUNIT_ASSERT(fabs(a1 - b1) <= fabs(f) * 1e-11);
     82            CPPUNIT_ASSERT(fabs(a2 - b2) <= fabs(f) * 1e-11);
     83        }
     84
     85        for (int i = -10000; i < 10000; i++)
     86        {
     87            double f = (double)i * (1.0 / 100000.0);
     88            double a1 = __builtin_sin(f);
     89            double a2 = __builtin_cos(f);
     90            double b1, b2;
     91            lol_sincos(f, &b1, &b2);
     92            CPPUNIT_ASSERT(fabs(a1 - b1) <= fabs(f) * 1e-11);
     93            CPPUNIT_ASSERT(fabs(a2 - b2) <= fabs(f) * 1e-11);
     94        }
     95
     96        for (int i = -10000; i < 10000; i++)
     97        {
     98            double f = (double)i * (1.0 / 1000.0);
     99            double a = __builtin_tan(f);
     100            double b = lol_tan(f);
     101            CPPUNIT_ASSERT(fabs(a - b) <= fabs(a) * 1e-11);
     102        }
     103
     104        for (int i = -10000; i < 10000; i++)
     105        {
     106            double f = (double)i * (1.0 / 100000.0);
     107            double a = __builtin_tan(f);
     108            double b = lol_tan(f);
     109            CPPUNIT_ASSERT(fabs(a - b) <= fabs(a) * 1e-11);
     110        }
    73111    }
    74112};
Note: See TracChangeset for help on using the changeset viewer.