147 lines
3.2 KiB
Plaintext
147 lines
3.2 KiB
Plaintext
|
#pragma version(1)
|
||
|
#pragma rs java_package_name(foo)
|
||
|
|
||
|
int i;
|
||
|
int2 i2;
|
||
|
int3 i3;
|
||
|
int4 i4;
|
||
|
|
||
|
float f;
|
||
|
float2 f2;
|
||
|
float3 f3;
|
||
|
float4 f4;
|
||
|
|
||
|
#define TEST_FUNC_1(fnc) \
|
||
|
f = fnc(f); \
|
||
|
f2 = fnc(f2); \
|
||
|
f3 = fnc(f3); \
|
||
|
f4 = fnc(f4);
|
||
|
|
||
|
#define TEST_FUNC_1_RI(fnc) \
|
||
|
i = fnc(f); \
|
||
|
i2 = fnc(f2); \
|
||
|
i3 = fnc(f3); \
|
||
|
i4 = fnc(f4);
|
||
|
|
||
|
#define TEST_FUNC_2(fnc) \
|
||
|
f = fnc(f, f); \
|
||
|
f2 = fnc(f2, f2); \
|
||
|
f3 = fnc(f3, f3); \
|
||
|
f4 = fnc(f4, f4);
|
||
|
|
||
|
#define TEST_FUNC_2P(fnc) \
|
||
|
f = fnc(f, &f); \
|
||
|
f2 = fnc(f2, &f2); \
|
||
|
f3 = fnc(f3, &f3); \
|
||
|
f4 = fnc(f4, &f4);
|
||
|
|
||
|
#define TEST_FUNC_2PI(fnc) \
|
||
|
f = fnc(f, &i); \
|
||
|
f2 = fnc(f2, &i2); \
|
||
|
f3 = fnc(f3, &i3); \
|
||
|
f4 = fnc(f4, &i4);
|
||
|
|
||
|
#define TEST_FUNC_2F(fnc) \
|
||
|
f = fnc(f, f); \
|
||
|
f2 = fnc(f2, f2); \
|
||
|
f3 = fnc(f3, f3); \
|
||
|
f4 = fnc(f4, f4);
|
||
|
|
||
|
#define TEST_FUNC_2I(fnc) \
|
||
|
f = fnc(f, i); \
|
||
|
f2 = fnc(f2, i); \
|
||
|
f3 = fnc(f3, i); \
|
||
|
f4 = fnc(f4, i);
|
||
|
|
||
|
#define TEST_FUNC_2IN(fnc) \
|
||
|
f = fnc(f, i); \
|
||
|
f2 = fnc(f2, i2); \
|
||
|
f3 = fnc(f3, i3); \
|
||
|
f4 = fnc(f4, i4);
|
||
|
|
||
|
#define TEST_FUNC_3(fnc) \
|
||
|
f = fnc(f, f, f); \
|
||
|
f2 = fnc(f2, f2, f2); \
|
||
|
f3 = fnc(f3, f3, f3); \
|
||
|
f4 = fnc(f4, f4, f4);
|
||
|
|
||
|
#define TEST_FUNC_3PI(fnc) \
|
||
|
f = fnc(f, f, &i); \
|
||
|
f2 = fnc(f2, f2, &i2); \
|
||
|
f3 = fnc(f3, f3, &i3); \
|
||
|
f4 = fnc(f4, f4, &i4);
|
||
|
|
||
|
void compile_all_math_fp_ops() {
|
||
|
TEST_FUNC_1(acos);
|
||
|
TEST_FUNC_1(acosh);
|
||
|
TEST_FUNC_1(acospi);
|
||
|
TEST_FUNC_1(asin);
|
||
|
TEST_FUNC_1(asinh);
|
||
|
TEST_FUNC_1(asinpi);
|
||
|
TEST_FUNC_1(atan);
|
||
|
TEST_FUNC_2(atan2);
|
||
|
TEST_FUNC_1(atanh);
|
||
|
TEST_FUNC_1(atanpi);
|
||
|
TEST_FUNC_2(atan2pi);
|
||
|
TEST_FUNC_1(cbrt);
|
||
|
TEST_FUNC_1(ceil);
|
||
|
TEST_FUNC_2(copysign);
|
||
|
TEST_FUNC_1(cos);
|
||
|
TEST_FUNC_1(cosh);
|
||
|
TEST_FUNC_1(cospi);
|
||
|
TEST_FUNC_1(erfc);
|
||
|
TEST_FUNC_1(erf);
|
||
|
TEST_FUNC_1(exp);
|
||
|
TEST_FUNC_1(exp2);
|
||
|
TEST_FUNC_1(exp10);
|
||
|
TEST_FUNC_1(expm1);
|
||
|
TEST_FUNC_1(fabs);
|
||
|
TEST_FUNC_2(fdim);
|
||
|
TEST_FUNC_1(floor);
|
||
|
TEST_FUNC_3(fma);
|
||
|
TEST_FUNC_2(fmax);
|
||
|
TEST_FUNC_2F(fmax);
|
||
|
TEST_FUNC_2(fmin);
|
||
|
TEST_FUNC_2F(fmin);
|
||
|
TEST_FUNC_2(fmod);
|
||
|
TEST_FUNC_2P(fract);
|
||
|
TEST_FUNC_2PI(frexp);
|
||
|
TEST_FUNC_2(hypot);
|
||
|
TEST_FUNC_1_RI(ilogb);
|
||
|
TEST_FUNC_2IN(ldexp);
|
||
|
TEST_FUNC_2I(ldexp);
|
||
|
TEST_FUNC_1(lgamma);
|
||
|
TEST_FUNC_2PI(lgamma);
|
||
|
TEST_FUNC_1(log);
|
||
|
TEST_FUNC_1(log2);
|
||
|
TEST_FUNC_1(log10);
|
||
|
TEST_FUNC_1(log1p);
|
||
|
TEST_FUNC_1(logb);
|
||
|
TEST_FUNC_3(mad);
|
||
|
TEST_FUNC_2P(modf);
|
||
|
//TEST_FUNC_1(nan);
|
||
|
TEST_FUNC_2(nextafter);
|
||
|
TEST_FUNC_2(pow);
|
||
|
TEST_FUNC_2I(pown);
|
||
|
TEST_FUNC_2(powr);
|
||
|
TEST_FUNC_2(remainder);
|
||
|
TEST_FUNC_3PI(remquo);
|
||
|
TEST_FUNC_1(rint);
|
||
|
TEST_FUNC_2I(rootn);
|
||
|
TEST_FUNC_1(round);
|
||
|
TEST_FUNC_1(rsqrt);
|
||
|
TEST_FUNC_1(sin);
|
||
|
TEST_FUNC_2P(sincos);
|
||
|
TEST_FUNC_1(sinh);
|
||
|
TEST_FUNC_1(sinpi);
|
||
|
TEST_FUNC_1(sqrt);
|
||
|
TEST_FUNC_1(tan);
|
||
|
TEST_FUNC_1(tanh);
|
||
|
TEST_FUNC_1(tanpi);
|
||
|
TEST_FUNC_1(tgamma);
|
||
|
TEST_FUNC_1(trunc);
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|