11#if !defined(__KERNEL_METAL__)
14# if defined(__KERNEL_SSE__) && defined(__KERNEL_SSE42__)
15 return int3(_mm_min_epi32(a.m128,
b.m128));
23# if defined(__KERNEL_SSE__) && defined(__KERNEL_SSE42__)
24 return int3(_mm_max_epi32(a.m128,
b.m128));
50 return a.
x ==
b.x && a.
y ==
b.y && a.
z ==
b.z;
60 return a.
x <
b.x && a.
y <
b.y && a.
z <
b.z;
66 return int3(_mm_add_epi32(a.m128,
b.m128));
75 return int3(_mm_sub_epi32(a.m128,
b.m128));
103# ifdef __KERNEL_SSE__
104 return int3(_mm_and_si128(a.m128, _mm_set1_epi32(
b)));
112 return a.
x && a.
y && a.
z;
#define ccl_device_inline
#define CCL_NAMESPACE_END
constexpr T clamp(T, U, U) RET
ccl_device_inline int3 operator*(const int3 a, const int3 b)
ccl_device_inline int3 operator+(const int3 a, const int3 b)
ccl_device_inline bool operator<(const int3 a, const int3 b)
ccl_device_inline int3 operator>>(const int3 a, const int i)
ccl_device_inline int3 operator-(const int3 a, const int3 b)
ccl_device_inline bool all(const int3 a)
ccl_device_inline int3 operator&(const int3 a, const int3 b)
ccl_device_inline bool operator==(const int3 a, const int3 b)
ccl_device_inline bool operator!=(const int3 a, const int3 b)
ccl_device_inline int3 operator^(const int3 a, const int3 b)
ccl_device_inline int3 clamp(const int3 a, const int mn, const int mx)