Lines Matching refs:fLo
29 Half fLo, fHi; member
32 AI SkNx(const Half& lo, const Half& hi) : fLo(lo), fHi(hi) {} in SkNx()
34 AI SkNx(T v) : fLo(v), fHi(v) {} in SkNx()
36 AI SkNx(T a, T b) : fLo(a) , fHi(b) { static_assert(N==2, ""); } in SkNx()
37 AI SkNx(T a, T b, T c, T d) : fLo(a,b), fHi(c,d) { static_assert(N==4, ""); } in SkNx()
38 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()
43 : fLo(a,b,c,d, e,f,g,h), fHi(i,j,k,l, m,n,o,p) { in SkNx()
49 return k < N/2 ? fLo[k] : fHi[k-N/2];
58 fLo.store(ptr); in store()
94 Half::Store4(ptr, a.fLo, b.fLo, c.fLo, d.fLo); in Store4()
99 Half::Store3(ptr, a.fLo, b.fLo, c.fLo); in Store3()
104 Half::Store2(ptr, a.fLo, b.fLo); in Store2()
108 AI T min() const { return std::min(fLo.min(), fHi.min()); } in min()
109 AI T max() const { return std::max(fLo.max(), fHi.max()); } in max()
110 AI bool anyTrue() const { return fLo.anyTrue() || fHi.anyTrue(); } in anyTrue()
111 AI bool allTrue() const { return fLo.allTrue() && fHi.allTrue(); } in allTrue()
113 AI SkNx abs() const { return { fLo. abs(), fHi. abs() }; } in abs()
114 AI SkNx sqrt() const { return { fLo. sqrt(), fHi. sqrt() }; } in sqrt()
115 AI SkNx floor() const { return { fLo. floor(), fHi. floor() }; } in floor()
117 AI SkNx operator!() const { return { !fLo, !fHi }; }
118 AI SkNx operator-() const { return { -fLo, -fHi }; }
119 AI SkNx operator~() const { return { ~fLo, ~fHi }; }
121 AI SkNx operator<<(int bits) const { return { fLo << bits, fHi << bits }; }
122 AI SkNx operator>>(int bits) const { return { fLo >> bits, fHi >> bits }; }
124 AI SkNx operator+(const SkNx& y) const { return { fLo + y.fLo, fHi + y.fHi }; }
125 AI SkNx operator-(const SkNx& y) const { return { fLo - y.fLo, fHi - y.fHi }; }
126 AI SkNx operator*(const SkNx& y) const { return { fLo * y.fLo, fHi * y.fHi }; }
127 AI SkNx operator/(const SkNx& y) const { return { fLo / y.fLo, fHi / y.fHi }; }
129 AI SkNx operator&(const SkNx& y) const { return { fLo & y.fLo, fHi & y.fHi }; }
130 AI SkNx operator|(const SkNx& y) const { return { fLo | y.fLo, fHi | y.fHi }; }
131 AI SkNx operator^(const SkNx& y) const { return { fLo ^ y.fLo, fHi ^ y.fHi }; }
133 AI SkNx operator==(const SkNx& y) const { return { fLo == y.fLo, fHi == y.fHi }; }
134 AI SkNx operator!=(const SkNx& y) const { return { fLo != y.fLo, fHi != y.fHi }; }
135 AI SkNx operator<=(const SkNx& y) const { return { fLo <= y.fLo, fHi <= y.fHi }; }
136 AI SkNx operator>=(const SkNx& y) const { return { fLo >= y.fLo, fHi >= y.fHi }; }
137 AI SkNx operator< (const SkNx& y) const { return { fLo < y.fLo, fHi < y.fHi }; }
138 AI SkNx operator> (const SkNx& y) const { return { fLo > y.fLo, fHi > y.fHi }; }
141 return { fLo.saturatedAdd(y.fLo), fHi.saturatedAdd(y.fHi) }; in saturatedAdd()
145 return { fLo.mulHi(m.fLo), fHi.mulHi(m.fHi) }; in mulHi()
148 return { fLo.thenElse(t.fLo, e.fLo), fHi.thenElse(t.fHi, e.fHi) }; in thenElse()
151 return { Half::Min(x.fLo, y.fLo), Half::Min(x.fHi, y.fHi) }; in Min()
154 return { Half::Max(x.fLo, y.fLo), Half::Max(x.fHi, y.fHi) }; in Max()
347 *lo = v.fLo;
371 return { SkNx_cast<Dst>(v.fLo), SkNx_cast<Dst>(v.fHi) };