float result[N]; // Unconstrained powf() doesn't vectorize well...
for (int i = 0; i < N; i++) {
float s = v[i];
- result[i] = (s <= p.fD) ? p.fE * s + p.fF
- : powf(s * p.fA + p.fB, p.fG) + p.fC;
+ result[i] = (s <= p.fD) ? p.fC * s + p.fF
+ : powf(s * p.fA + p.fB, p.fG) + p.fE;
}
return SkNf::Load(result);
}
}
void operator()(size_t x, size_t y, size_t n) {
+#ifdef SK_BUILD_FOR_WINRT
+ SkNf v = SkNf(); // gives uninitialized variable 'v' on ARM
+#else
SkNf v; // Fastest to start uninitialized.
+#endif
float dx[] = { 0,1,2,3,4,5,6,7 };
SkNf X = SkNf(x) + SkNf::Load(dx) + 0.5f,