Lines Matching refs:fHi
27 Half fLo, fHi; member
30 AI SkNx(const Half& lo, const Half& hi) : fLo(lo), fHi(hi) {} in SkNx()
32 AI SkNx(T v) : fLo(v), fHi(v) {} in SkNx()
34 AI SkNx(T a, T b) : fLo(a) , fHi(b) { static_assert(N==2, ""); } in SkNx()
35 AI SkNx(T a, T b, T c, T d) : fLo(a,b), fHi(c,d) { static_assert(N==4, ""); } in SkNx()
36 AI SkNx(T a, T b, T c, T d, T e, T f, T g, T h) : fLo(a,b,c,d), fHi(e,f,g,h) { in SkNx()
41 : fLo(a,b,c,d, e,f,g,h), fHi(i,j,k,l, m,n,o,p) { in SkNx()
47 return k < N/2 ? fLo[k] : fHi[k-N/2];
57 fHi.store(ptr + N/2*sizeof(T)); in store()
84 Half::Store4(ptr + 4*N/2*sizeof(T), a.fHi, b.fHi, c.fHi, d.fHi); in Store4()
87 AI bool anyTrue() const { return fLo.anyTrue() || fHi.anyTrue(); } in anyTrue()
88 AI bool allTrue() const { return fLo.allTrue() && fHi.allTrue(); } in allTrue()
90 AI SkNx abs() const { return { fLo. abs(), fHi. abs() }; } in abs()
91 AI SkNx sqrt() const { return { fLo. sqrt(), fHi. sqrt() }; } in sqrt()
92 AI SkNx rsqrt() const { return { fLo. rsqrt(), fHi. rsqrt() }; } in rsqrt()
93 AI SkNx floor() const { return { fLo. floor(), fHi. floor() }; } in floor()
94 AI SkNx invert() const { return { fLo.invert(), fHi.invert() }; } in invert()
96 AI SkNx operator!() const { return { !fLo, !fHi }; }
97 AI SkNx operator-() const { return { -fLo, -fHi }; }
98 AI SkNx operator~() const { return { ~fLo, ~fHi }; }
100 AI SkNx operator<<(int bits) const { return { fLo << bits, fHi << bits }; }
101 AI SkNx operator>>(int bits) const { return { fLo >> bits, fHi >> bits }; }
103 AI SkNx operator+(const SkNx& y) const { return { fLo + y.fLo, fHi + y.fHi }; }
104 AI SkNx operator-(const SkNx& y) const { return { fLo - y.fLo, fHi - y.fHi }; }
105 AI SkNx operator*(const SkNx& y) const { return { fLo * y.fLo, fHi * y.fHi }; }
106 AI SkNx operator/(const SkNx& y) const { return { fLo / y.fLo, fHi / y.fHi }; }
108 AI SkNx operator&(const SkNx& y) const { return { fLo & y.fLo, fHi & y.fHi }; }
109 AI SkNx operator|(const SkNx& y) const { return { fLo | y.fLo, fHi | y.fHi }; }
110 AI SkNx operator^(const SkNx& y) const { return { fLo ^ y.fLo, fHi ^ y.fHi }; }
112 AI SkNx operator==(const SkNx& y) const { return { fLo == y.fLo, fHi == y.fHi }; }
113 AI SkNx operator!=(const SkNx& y) const { return { fLo != y.fLo, fHi != y.fHi }; }
114 AI SkNx operator<=(const SkNx& y) const { return { fLo <= y.fLo, fHi <= y.fHi }; }
115 AI SkNx operator>=(const SkNx& y) const { return { fLo >= y.fLo, fHi >= y.fHi }; }
116 AI SkNx operator< (const SkNx& y) const { return { fLo < y.fLo, fHi < y.fHi }; }
117 AI SkNx operator> (const SkNx& y) const { return { fLo > y.fLo, fHi > y.fHi }; }
120 return { fLo.saturatedAdd(y.fLo), fHi.saturatedAdd(y.fHi) }; in saturatedAdd()
123 return { fLo.thenElse(t.fLo, e.fLo), fHi.thenElse(t.fHi, e.fHi) }; in thenElse()
127 return { Half::Min(x.fLo, y.fLo), Half::Min(x.fHi, y.fHi) }; in Min()
130 return { Half::Max(x.fLo, y.fLo), Half::Max(x.fHi, y.fHi) }; in Max()
300 *hi = v.fHi;
323 return { SkNx_cast<Dst>(v.fLo), SkNx_cast<Dst>(v.fHi) };