28 lines
1.5 KiB
Plaintext
28 lines
1.5 KiB
Plaintext
|
|
export uniform int width() { return programCount; }
|
|
|
|
export void f_du(uniform float RET[], uniform double aFOO[], uniform double b) {
|
|
double a = aFOO[programIndex];
|
|
uniform double sin_a[] = {0.8414709848078965, 0.9092974268256817, 0.1411200080598672, -0.7568024953079282, -0.9589242746631385,
|
|
-0.27941549819892586, 0.6569865987187891, 0.9893582466233818, 0.4121184852417566, -0.5440211108893698,
|
|
-0.9999902065507035, -0.5365729180004349, 0.4201670368266409, 0.9906073556948704, 0.6502878401571168,
|
|
-0.2879033166650653};
|
|
uniform double cos_a[] = {0.5403023058681398, -0.4161468365471424, -0.9899924966004454, -0.6536436208636119, 0.28366218546322625,
|
|
0.960170286650366, 0.7539022543433046, -0.14550003380861354, -0.9111302618846769, -0.8390715290764524,
|
|
0.004425697988050785, 0.8438539587324921, 0.9074467814501962, 0.1367372182078336, -0.7596879128588213,
|
|
-0.9576594803233847};
|
|
|
|
RET[programIndex] = abs(sin(a) - sin_a[programIndex]) < 1d-7 ? 0 : 1;
|
|
RET[programIndex] += abs(cos(a) - cos_a[programIndex]) < 1d-7 ? 0 : 1;
|
|
|
|
double sincos_s, sincos_c;
|
|
sincos(a, &sincos_s, &sincos_c);
|
|
|
|
RET[programIndex] = abs(sincos_s - sin_a[programIndex]) < 1d-7 ? 0 : 1;
|
|
RET[programIndex] += abs(sincos_c - cos_a[programIndex]) < 1d-7 ? 0 : 1;
|
|
}
|
|
|
|
export void result(uniform float RET[]) {
|
|
RET[programCount] = 0;
|
|
}
|