Lines Matching refs:SINT
50 #define SINT template <int N, typename T> SI macro
206 SINT Vec<2*N,T> join(const Vec<N,T>& lo, const Vec<N,T>& hi) {
241 SINT VExt<N,T> to_vext(const Vec<N,T>& v) { return bit_pun<VExt<N,T>>(v); }
242 SINT Vec <N,T> to_vec(const VExt<N,T>& v) { return bit_pun<Vec <N,T>>(v); }
244 SINT Vec<N,T> operator+(const Vec<N,T>& x, const Vec<N,T>& y) {
247 SINT Vec<N,T> operator-(const Vec<N,T>& x, const Vec<N,T>& y) {
250 SINT Vec<N,T> operator*(const Vec<N,T>& x, const Vec<N,T>& y) {
253 SINT Vec<N,T> operator/(const Vec<N,T>& x, const Vec<N,T>& y) {
257 SINT Vec<N,T> operator^(const Vec<N,T>& x, const Vec<N,T>& y) {
260 SINT Vec<N,T> operator&(const Vec<N,T>& x, const Vec<N,T>& y) {
263 SINT Vec<N,T> operator|(const Vec<N,T>& x, const Vec<N,T>& y) {
267 SINT Vec<N,T> operator!(const Vec<N,T>& x) { return to_vec<N,T>(!to_vext(x)); }
268 SINT Vec<N,T> operator-(const Vec<N,T>& x) { return to_vec<N,T>(-to_vext(x)); }
269 SINT Vec<N,T> operator~(const Vec<N,T>& x) { return to_vec<N,T>(~to_vext(x)); }
271 SINT Vec<N,T> operator<<(const Vec<N,T>& x, int k) { return to_vec<N,T>(to_vext(x) << k); }
272 SINT Vec<N,T> operator>>(const Vec<N,T>& x, int k) { return to_vec<N,T>(to_vext(x) >> k); }
274 SINT Vec<N,M<T>> operator==(const Vec<N,T>& x, const Vec<N,T>& y) {
277 SINT Vec<N,M<T>> operator!=(const Vec<N,T>& x, const Vec<N,T>& y) {
280 SINT Vec<N,M<T>> operator<=(const Vec<N,T>& x, const Vec<N,T>& y) {
283 SINT Vec<N,M<T>> operator>=(const Vec<N,T>& x, const Vec<N,T>& y) {
286 SINT Vec<N,M<T>> operator< (const Vec<N,T>& x, const Vec<N,T>& y) {
289 SINT Vec<N,M<T>> operator> (const Vec<N,T>& x, const Vec<N,T>& y) {
335 SINT Vec<N,T> operator+(const Vec<N,T>& x, const Vec<N,T>& y) {
338 SINT Vec<N,T> operator-(const Vec<N,T>& x, const Vec<N,T>& y) {
341 SINT Vec<N,T> operator*(const Vec<N,T>& x, const Vec<N,T>& y) {
344 SINT Vec<N,T> operator/(const Vec<N,T>& x, const Vec<N,T>& y) {
348 SINT Vec<N,T> operator^(const Vec<N,T>& x, const Vec<N,T>& y) {
351 SINT Vec<N,T> operator&(const Vec<N,T>& x, const Vec<N,T>& y) {
354 SINT Vec<N,T> operator|(const Vec<N,T>& x, const Vec<N,T>& y) {
358 SINT Vec<N,T> operator!(const Vec<N,T>& x) { return join(!x.lo, !x.hi); }
359 SINT Vec<N,T> operator-(const Vec<N,T>& x) { return join(-x.lo, -x.hi); }
360 SINT Vec<N,T> operator~(const Vec<N,T>& x) { return join(~x.lo, ~x.hi); }
362 SINT Vec<N,T> operator<<(const Vec<N,T>& x, int k) { return join(x.lo << k, x.hi << k); }
363 SINT Vec<N,T> operator>>(const Vec<N,T>& x, int k) { return join(x.lo >> k, x.hi >> k); }
365 SINT Vec<N,M<T>> operator==(const Vec<N,T>& x, const Vec<N,T>& y) {
368 SINT Vec<N,M<T>> operator!=(const Vec<N,T>& x, const Vec<N,T>& y) {
371 SINT Vec<N,M<T>> operator<=(const Vec<N,T>& x, const Vec<N,T>& y) {
374 SINT Vec<N,M<T>> operator>=(const Vec<N,T>& x, const Vec<N,T>& y) {
377 SINT Vec<N,M<T>> operator< (const Vec<N,T>& x, const Vec<N,T>& y) {
380 SINT Vec<N,M<T>> operator> (const Vec<N,T>& x, const Vec<N,T>& y) {
414 SINT Vec<N,T>& operator+=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x + y); }
415 SINT Vec<N,T>& operator-=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x - y); }
416 SINT Vec<N,T>& operator*=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x * y); }
417 SINT Vec<N,T>& operator/=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x / y); }
418 SINT Vec<N,T>& operator^=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x ^ y); }
419 SINT Vec<N,T>& operator&=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x & y); }
420 SINT Vec<N,T>& operator|=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x | y); }
430 SINT Vec<N,T>& operator<<=(Vec<N,T>& x, int bits) { return (x = x << bits); }
431 SINT Vec<N,T>& operator>>=(Vec<N,T>& x, int bits) { return (x = x >> bits); }
438 SINT Vec<N,T> naive_if_then_else(const Vec<N,M<T>>& cond, const Vec<N,T>& t, const Vec<N,T>& e) {
448 SINT Vec<N,T> if_then_else(const Vec<N,M<T>>& cond, const Vec<N,T>& t, const Vec<N,T>& e) {
482 SINT bool any(const Vec<N,T>& x) {
493 SINT bool all(const Vec<N,T>& x) {
532 SINT T min(const Vec<N,T>& x) { return std::min(min(x.lo), min(x.hi)); }
533 SINT T max(const Vec<N,T>& x) { return std::max(max(x.lo), max(x.hi)); }
535 SINT Vec<N,T> min(const Vec<N,T>& x, const Vec<N,T>& y) { return naive_if_then_else(y < x, y, x); }
536 SINT Vec<N,T> max(const Vec<N,T>& x, const Vec<N,T>& y) { return naive_if_then_else(x < y, y, x); }
545 SINT Vec<N,T> pin(const Vec<N,T>& x, const Vec<N,T>& lo, const Vec<N,T>& hi) {
826 SINT void strided_load4(const T* v,
891 SINT void strided_load2(const T* v, skvx::Vec<N,T>& a, skvx::Vec<N,T>& b) {
924 #undef SINT