5#ifndef __UTIL_MATH_INT3_H__
6#define __UTIL_MATH_INT3_H__
9# error "Do not include this file directly, include util/types.h instead."
14#if !defined(__KERNEL_METAL__)
17# if defined(__KERNEL_SSE__) && defined(__KERNEL_SSE42__)
18 return int3(_mm_min_epi32(a.m128,
b.m128));
26# if defined(__KERNEL_SSE__) && defined(__KERNEL_SSE42__)
27 return int3(_mm_max_epi32(a.m128,
b.m128));
53 return a.
x ==
b.x && a.
y ==
b.y && a.
z ==
b.z;
63 return a.
x <
b.x && a.
y <
b.y && a.
z <
b.z;
69 return int3(_mm_add_epi32(a.m128,
b.m128));
78 return int3(_mm_sub_epi32(a.m128,
b.m128));
VecBase< int32_t, 3 > int3
local_group_size(16, 16) .push_constant(Type b
#define ccl_device_inline
#define CCL_NAMESPACE_END
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 int3 b)
ccl_device_inline bool operator==(const int3 a, const int3 b)
ccl_device_inline int3 clamp(const int3 a, int mn, int mx)
ccl_device_inline bool operator!=(const int3 a, const int3 b)
ccl_device_inline int clamp(int a, int mn, int mx)