Lines Matching refs:SINT
49 #define SINT template <int N, typename T> SI macro
142 SINT Vec<2*N,T> join(const Vec<N,T>& lo, const Vec<N,T>& hi) {
177 SINT VExt<N,T> to_vext(const Vec<N,T>& v) { return bit_pun<VExt<N,T>>(v); }
178 SINT Vec <N,T> to_vec(const VExt<N,T>& v) { return bit_pun<Vec <N,T>>(v); }
180 SINT Vec<N,T> operator+(const Vec<N,T>& x, const Vec<N,T>& y) {
183 SINT Vec<N,T> operator-(const Vec<N,T>& x, const Vec<N,T>& y) {
186 SINT Vec<N,T> operator*(const Vec<N,T>& x, const Vec<N,T>& y) {
189 SINT Vec<N,T> operator/(const Vec<N,T>& x, const Vec<N,T>& y) {
193 SINT Vec<N,T> operator^(const Vec<N,T>& x, const Vec<N,T>& y) {
196 SINT Vec<N,T> operator&(const Vec<N,T>& x, const Vec<N,T>& y) {
199 SINT Vec<N,T> operator|(const Vec<N,T>& x, const Vec<N,T>& y) {
203 SINT Vec<N,T> operator!(const Vec<N,T>& x) { return to_vec<N,T>(!to_vext(x)); }
204 SINT Vec<N,T> operator-(const Vec<N,T>& x) { return to_vec<N,T>(-to_vext(x)); }
205 SINT Vec<N,T> operator~(const Vec<N,T>& x) { return to_vec<N,T>(~to_vext(x)); }
207 SINT Vec<N,T> operator<<(const Vec<N,T>& x, int k) { return to_vec<N,T>(to_vext(x) << k); }
208 SINT Vec<N,T> operator>>(const Vec<N,T>& x, int k) { return to_vec<N,T>(to_vext(x) >> k); }
210 SINT Vec<N,M<T>> operator==(const Vec<N,T>& x, const Vec<N,T>& y) {
213 SINT Vec<N,M<T>> operator!=(const Vec<N,T>& x, const Vec<N,T>& y) {
216 SINT Vec<N,M<T>> operator<=(const Vec<N,T>& x, const Vec<N,T>& y) {
219 SINT Vec<N,M<T>> operator>=(const Vec<N,T>& x, const Vec<N,T>& y) {
222 SINT Vec<N,M<T>> operator< (const Vec<N,T>& x, const Vec<N,T>& y) {
225 SINT Vec<N,M<T>> operator> (const Vec<N,T>& x, const Vec<N,T>& y) {
271 SINT Vec<N,T> operator+(const Vec<N,T>& x, const Vec<N,T>& y) {
274 SINT Vec<N,T> operator-(const Vec<N,T>& x, const Vec<N,T>& y) {
277 SINT Vec<N,T> operator*(const Vec<N,T>& x, const Vec<N,T>& y) {
280 SINT Vec<N,T> operator/(const Vec<N,T>& x, const Vec<N,T>& y) {
284 SINT Vec<N,T> operator^(const Vec<N,T>& x, const Vec<N,T>& y) {
287 SINT Vec<N,T> operator&(const Vec<N,T>& x, const Vec<N,T>& y) {
290 SINT Vec<N,T> operator|(const Vec<N,T>& x, const Vec<N,T>& y) {
294 SINT Vec<N,T> operator!(const Vec<N,T>& x) { return join(!x.lo, !x.hi); }
295 SINT Vec<N,T> operator-(const Vec<N,T>& x) { return join(-x.lo, -x.hi); }
296 SINT Vec<N,T> operator~(const Vec<N,T>& x) { return join(~x.lo, ~x.hi); }
298 SINT Vec<N,T> operator<<(const Vec<N,T>& x, int k) { return join(x.lo << k, x.hi << k); }
299 SINT Vec<N,T> operator>>(const Vec<N,T>& x, int k) { return join(x.lo >> k, x.hi >> k); }
301 SINT Vec<N,M<T>> operator==(const Vec<N,T>& x, const Vec<N,T>& y) {
304 SINT Vec<N,M<T>> operator!=(const Vec<N,T>& x, const Vec<N,T>& y) {
307 SINT Vec<N,M<T>> operator<=(const Vec<N,T>& x, const Vec<N,T>& y) {
310 SINT Vec<N,M<T>> operator>=(const Vec<N,T>& x, const Vec<N,T>& y) {
313 SINT Vec<N,M<T>> operator< (const Vec<N,T>& x, const Vec<N,T>& y) {
316 SINT Vec<N,M<T>> operator> (const Vec<N,T>& x, const Vec<N,T>& y) {
350 SINT Vec<N,T>& operator+=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x + y); }
351 SINT Vec<N,T>& operator-=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x - y); }
352 SINT Vec<N,T>& operator*=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x * y); }
353 SINT Vec<N,T>& operator/=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x / y); }
354 SINT Vec<N,T>& operator^=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x ^ y); }
355 SINT Vec<N,T>& operator&=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x & y); }
356 SINT Vec<N,T>& operator|=(Vec<N,T>& x, const Vec<N,T>& y) { return (x = x | y); }
366 SINT Vec<N,T>& operator<<=(Vec<N,T>& x, int bits) { return (x = x << bits); }
367 SINT Vec<N,T>& operator>>=(Vec<N,T>& x, int bits) { return (x = x >> bits); }
374 SINT Vec<N,T> naive_if_then_else(const Vec<N,M<T>>& cond, const Vec<N,T>& t, const Vec<N,T>& e) {
384 SINT Vec<N,T> if_then_else(const Vec<N,M<T>>& cond, const Vec<N,T>& t, const Vec<N,T>& e) {
418 SINT bool any(const Vec<N,T>& x) {
429 SINT bool all(const Vec<N,T>& x) {
468 SINT T min(const Vec<N,T>& x) { return std::min(min(x.lo), min(x.hi)); }
469 SINT T max(const Vec<N,T>& x) { return std::max(max(x.lo), max(x.hi)); }
471 SINT Vec<N,T> min(const Vec<N,T>& x, const Vec<N,T>& y) { return naive_if_then_else(y < x, y, x); }
472 SINT Vec<N,T> max(const Vec<N,T>& x, const Vec<N,T>& y) { return naive_if_then_else(x < y, y, x); }
481 SINT Vec<N,T> pin(const Vec<N,T>& x, const Vec<N,T>& lo, const Vec<N,T>& hi) {
675 #undef SINT