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));
38 return make_int3(
clamp(a.x, mn, mx), clamp(a.y, mn, mx), clamp(a.z, mn, mx));
47 return make_int3(
clamp(a.x, mn.
x, mx), clamp(a.y, mn.
y, mx), clamp(a.z, mn.
z, mx));
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));
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)