Lines Matching refs:F32

56     struct FastF32 { skvm::F32 val; };
57 static FastF32 operator*(skvm::F32 y) { return {y}; }
58 static skvm::F32 operator*(skvm::F32 x, FastF32 y) { return fast_mul(x, y.val); }
59 static skvm::F32 operator*(float x, FastF32 y) { return fast_mul(x, y.val); }
72 Value(skvm::F32 x) : fVals({ x.id }) {}
86 ValRef& operator=(skvm::F32 v) { fVal = v.id; return *this; }
179 skvm::F32 f32(skvm::Val id) { SkASSERT(id != skvm::NA); return {fBuilder, id}; }
183 skvm::F32 f32(const Value& v) { SkASSERT(v.slots() == 1); return f32(v[0]); }
641 const skvm::F32 zero = fBuilder->splat(0.0f);
644 skvm::F32 sum = zero;
671 auto unsupported_f = [&](skvm::F32, skvm::F32) {
673 return skvm::F32{};
679 Value cmp = binary([](skvm::F32 x, skvm::F32 y) { return x == y; },
689 Value cmp = binary([](skvm::F32 x, skvm::F32 y) { return x != y; },
698 return binary([](skvm::F32 x, skvm::F32 y) { return x > y; },
701 return binary([](skvm::F32 x, skvm::F32 y) { return x >= y; },
704 return binary([](skvm::F32 x, skvm::F32 y) { return x < y; },
707 return binary([](skvm::F32 x, skvm::F32 y) { return x <= y; },
711 return binary([](skvm::F32 x, skvm::F32 y) { return x + y; },
714 return binary([](skvm::F32 x, skvm::F32 y) { return x - y; },
717 return binary([](skvm::F32 x, skvm::F32 y) { return x ** y; },
724 return binary([](skvm::F32 x, skvm::F32 y) { return x / y; },
866 const skvm::F32 zero = fBuilder->splat(0.0f);
952 skvm::F32 a = f32(m[0]),
956 skvm::F32 idet = 1.0f / (a*d - b*c);
968 skvm::F32 a11 = f32(m[0]), a12 = f32(m[3]), a13 = f32(m[6]),
971 skvm::F32 idet = 1.0f / (a11*a22*a33 + a12*a23*a31 + a13*a21*a32 -
989 skvm::F32 a00 = f32(m[0]), a10 = f32(m[4]), a20 = f32(m[ 8]), a30 = f32(m[12]),
994 skvm::F32 b00 = a00**a11 - a01**a10,
1007 skvm::F32 idet = 1.0f / (b00**b11 - b01**b10 + b02**b09 + b03**b08 - b04**b07 + b05**b06);
1141 skvm::F32 result = f32(x[0]) * f32(y[0]);
1150 return unary(args[0], [](skvm::F32 deg) { return deg * (SK_FloatPI / 180); });
1152 return unary(args[0], [](skvm::F32 rad) { return rad * (180 / SK_FloatPI); });
1165 return binary([](skvm::F32 x, skvm::F32 y) { return skvm::approx_powf(x, y); });
1173 return unary(args[0], [](skvm::F32 x) { return 1.0f / skvm::sqrt(x); });
1177 return unary(args[0], [](skvm::F32 x) { return select(x < 0, -1.0f,
1183 return binary([](skvm::F32 x, skvm::F32 y) { return x - y*skvm::floor(x / y); });
1186 return binary([](skvm::F32 x, skvm::F32 y) { return skvm::min(x, y); });
1188 return binary([](skvm::F32 x, skvm::F32 y) { return skvm::max(x, y); });
1191 [](skvm::F32 x, skvm::F32 lo, skvm::F32 hi) { return skvm::clamp(x, lo, hi); });
1193 return unary(args[0], [](skvm::F32 x) { return skvm::clamp01(x); });
1196 [](skvm::F32 x, skvm::F32 y, skvm::F32 t) { return skvm::lerp(x, y, t); });
1198 return binary([](skvm::F32 edge, skvm::F32 x) { return select(x < edge, 0.0f, 1.0f); });
1200 return ternary([](skvm::F32 edge0, skvm::F32 edge1, skvm::F32 x) {
1201 skvm::F32 t = skvm::clamp01((x - edge0) / (edge1 - edge0));
1207 Value vec = binary([](skvm::F32 x, skvm::F32 y) { return x - y; });
1212 skvm::F32 ax = f32(args[0][0]), ay = f32(args[0][1]), az = f32(args[0][2]),
1221 skvm::F32 invLen = 1.0f / skvm::sqrt(dot(args[0], args[0]));
1222 return unary(args[0], [&](skvm::F32 x) { return x ** invLen; });
1229 skvm::F32 dotNrefI = dot(Nref, I);
1230 return unary(N, [&](skvm::F32 n) { return select(dotNrefI<0, n, -n); });
1236 skvm::F32 dotNI = dot(N, I);
1237 return binary([&](skvm::F32 i, skvm::F32 n) {
1244 skvm::F32 eta = f32(args[2]);
1246 skvm::F32 dotNI = dot(N, I),
1248 return binary([&](skvm::F32 i, skvm::F32 n) {
1254 return binary([](skvm::F32 x, skvm::F32 y) { return x ** y; });
1268 ? binary([](skvm::F32 x, skvm::F32 y) { return x < y; })
1272 ? binary([](skvm::F32 x, skvm::F32 y) { return x <= y; })
1276 ? binary([](skvm::F32 x, skvm::F32 y) { return x > y; })
1280 ? binary([](skvm::F32 x, skvm::F32 y) { return x >= y; })
1285 ? binary([](skvm::F32 x, skvm::F32 y) { return x == y; })
1289 ? binary([](skvm::F32 x, skvm::F32 y) { return x != y; })
1332 const skvm::F32 zero = fBuilder->splat(0.0f);
1369 // Evaluate all arguments, gather the results into a contiguous list of F32
1370 std::vector<skvm::F32> args;
1380 std::vector<skvm::F32> result(nslots, fBuilder->splat(0.0f));
1384 // Convert from 'vector of F32' to Value
1428 return this->unary(val, [](skvm::F32 x) { return -x; });
1910 skvm::F32 zero = b->splat(0.0f);
1929 b->storeF(argPtrs[argIdx + i], skvm::F32{b, argVals[argIdx + i]});
1938 b->storeF(returnPtrs[i], skvm::F32{b, returnVals[i]});