Home | History | Annotate | Download | only in P_math_fp
      1 #pragma version(1)
      2 #pragma rs java_package_name(foo)
      3 
      4 int i;
      5 int2 i2;
      6 int3 i3;
      7 int4 i4;
      8 
      9 float f;
     10 float2 f2;
     11 float3 f3;
     12 float4 f4;
     13 
     14 #define TEST_FUNC_1(fnc)    \
     15     f = fnc(f);             \
     16     f2 = fnc(f2);           \
     17     f3 = fnc(f3);           \
     18     f4 = fnc(f4);
     19 
     20 #define TEST_FUNC_1_RI(fnc) \
     21     i = fnc(f);             \
     22     i2 = fnc(f2);           \
     23     i3 = fnc(f3);           \
     24     i4 = fnc(f4);
     25 
     26 #define TEST_FUNC_2(fnc)    \
     27     f = fnc(f, f);          \
     28     f2 = fnc(f2, f2);       \
     29     f3 = fnc(f3, f3);       \
     30     f4 = fnc(f4, f4);
     31 
     32 #define TEST_FUNC_2P(fnc)   \
     33     f = fnc(f, &f);         \
     34     f2 = fnc(f2, &f2);      \
     35     f3 = fnc(f3, &f3);      \
     36     f4 = fnc(f4, &f4);
     37 
     38 #define TEST_FUNC_2PI(fnc)  \
     39     f = fnc(f, &i);         \
     40     f2 = fnc(f2, &i2);      \
     41     f3 = fnc(f3, &i3);      \
     42     f4 = fnc(f4, &i4);
     43 
     44 #define TEST_FUNC_2F(fnc)   \
     45     f = fnc(f, f);          \
     46     f2 = fnc(f2, f2);       \
     47     f3 = fnc(f3, f3);       \
     48     f4 = fnc(f4, f4);
     49 
     50 #define TEST_FUNC_2I(fnc)   \
     51     f = fnc(f, i);          \
     52     f2 = fnc(f2, i);        \
     53     f3 = fnc(f3, i);        \
     54     f4 = fnc(f4, i);
     55 
     56 #define TEST_FUNC_2IN(fnc)  \
     57     f = fnc(f, i);          \
     58     f2 = fnc(f2, i2);       \
     59     f3 = fnc(f3, i3);       \
     60     f4 = fnc(f4, i4);
     61 
     62 #define TEST_FUNC_3(fnc)    \
     63     f = fnc(f, f, f);       \
     64     f2 = fnc(f2, f2, f2);   \
     65     f3 = fnc(f3, f3, f3);   \
     66     f4 = fnc(f4, f4, f4);
     67 
     68 #define TEST_FUNC_3PI(fnc)  \
     69     f = fnc(f, f, &i);      \
     70     f2 = fnc(f2, f2, &i2);  \
     71     f3 = fnc(f3, f3, &i3);  \
     72     f4 = fnc(f4, f4, &i4);
     73 
     74 void compile_all_math_fp_ops() {
     75     TEST_FUNC_1(acos);
     76     TEST_FUNC_1(acosh);
     77     TEST_FUNC_1(acospi);
     78     TEST_FUNC_1(asin);
     79     TEST_FUNC_1(asinh);
     80     TEST_FUNC_1(asinpi);
     81     TEST_FUNC_1(atan);
     82     TEST_FUNC_2(atan2);
     83     TEST_FUNC_1(atanh);
     84     TEST_FUNC_1(atanpi);
     85     TEST_FUNC_2(atan2pi);
     86     TEST_FUNC_1(cbrt);
     87     TEST_FUNC_1(ceil);
     88     TEST_FUNC_2(copysign);
     89     TEST_FUNC_1(cos);
     90     TEST_FUNC_1(cosh);
     91     TEST_FUNC_1(cospi);
     92     TEST_FUNC_1(erfc);
     93     TEST_FUNC_1(erf);
     94     TEST_FUNC_1(exp);
     95     TEST_FUNC_1(exp2);
     96     TEST_FUNC_1(exp10);
     97     TEST_FUNC_1(expm1);
     98     TEST_FUNC_1(fabs);
     99     TEST_FUNC_2(fdim);
    100     TEST_FUNC_1(floor);
    101     TEST_FUNC_3(fma);
    102     TEST_FUNC_2(fmax);
    103     TEST_FUNC_2F(fmax);
    104     TEST_FUNC_2(fmin);
    105     TEST_FUNC_2F(fmin);
    106     TEST_FUNC_2(fmod);
    107     TEST_FUNC_2P(fract);
    108     TEST_FUNC_2PI(frexp);
    109     TEST_FUNC_2(hypot);
    110     TEST_FUNC_1_RI(ilogb);
    111     TEST_FUNC_2IN(ldexp);
    112     TEST_FUNC_2I(ldexp);
    113     TEST_FUNC_1(lgamma);
    114     TEST_FUNC_2PI(lgamma);
    115     TEST_FUNC_1(log);
    116     TEST_FUNC_1(log2);
    117     TEST_FUNC_1(log10);
    118     TEST_FUNC_1(log1p);
    119     TEST_FUNC_1(logb);
    120     TEST_FUNC_3(mad);
    121     TEST_FUNC_2P(modf);
    122     //TEST_FUNC_1(nan);
    123     TEST_FUNC_2(nextafter);
    124     TEST_FUNC_2(pow);
    125     TEST_FUNC_2I(pown);
    126     TEST_FUNC_2(powr);
    127     TEST_FUNC_2(remainder);
    128     TEST_FUNC_3PI(remquo);
    129     TEST_FUNC_1(rint);
    130     TEST_FUNC_2I(rootn);
    131     TEST_FUNC_1(round);
    132     TEST_FUNC_1(rsqrt);
    133     TEST_FUNC_1(sin);
    134     TEST_FUNC_2P(sincos);
    135     TEST_FUNC_1(sinh);
    136     TEST_FUNC_1(sinpi);
    137     TEST_FUNC_1(sqrt);
    138     TEST_FUNC_1(tan);
    139     TEST_FUNC_1(tanh);
    140     TEST_FUNC_1(tanpi);
    141     TEST_FUNC_1(tgamma);
    142     TEST_FUNC_1(trunc);
    143 
    144     return;
    145 }
    146 
    147