Lines Matching refs:inv
1870 skcms_TransferFunction inv = {0,0,0,0,0,0,0};
1872 // We'll start by finding the new threshold inv.d.
1880 inv.d = d_l; // TODO(mtklein): better in practice to choose d_r?
1883 if (inv.d > 0) {
1888 inv.c = 1.0f/src->c;
1889 inv.f = -src->f/src->c;
1905 inv.g = 1.0f / src->g;
1906 inv.a = k;
1907 inv.b = -k * src->e;
1908 inv.e = -src->b / src->a;
1915 if (inv.a < 0) {
1919 if (inv.a * inv.d + inv.b < 0) {
1920 inv.b = -inv.a * inv.d;
1923 // That should usually make classify(inv) == sRGBish true, but there are a couple situations
1925 if (classify(inv) != sRGBish) {
1929 assert (inv.a >= 0);
1930 assert (inv.a * inv.d + inv.b >= 0);
1933 // But to preserve the valuable invariant inv(src(1.0f)) == 1.0f, we'll tweak
1942 if (s < inv.d) {
1943 inv.f = 1.0f - sign * inv.c * s;
1945 inv.e = 1.0f - sign * powf_(inv.a * s + inv.b, inv.g);
1948 *dst = inv;
2977 skcms_TransferFunction inv;
2979 && skcms_TransferFunction_invert(&profile->trc[i].parametric, &inv)) {
3013 skcms_TransferFunction inv;
3014 if (!skcms_TransferFunction_invert(&result.trc[i].parametric, &inv)) {
3020 err = fmaxf_(err, skcms_MaxRoundtripError(&profile->trc[j], &inv));