17 #ifndef __UTIL_HASH_H__
18 #define __UTIL_HASH_H__
28 #define rot(x, k) (((x) << (k)) | ((x) >> (32 - (k))))
30 #define mix(a, b, c) \
53 #define final(a, b, c) \
75 a = b =
c = 0xdeadbeef + (1 << 2) + 13;
86 a = b =
c = 0xdeadbeef + (2 << 2) + 13;
98 a = b =
c = 0xdeadbeef + (3 << 2) + 13;
111 a = b =
c = 0xdeadbeef + (4 << 2) + 13;
220 #ifdef __KERNEL_SSE2__
221 # define rot(x, k) (((x) << (k)) | (srl(x, 32 - (k))))
223 # define mix(a, b, c) \
245 # define final(a, b, c) \
266 a = b =
c = ssei(0xdeadbeef + (1 << 2) + 13);
277 a = b =
c = ssei(0xdeadbeef + (2 << 2) + 13);
289 a = b =
c = ssei(0xdeadbeef + (3 << 2) + 13);
302 a = b =
c = ssei(0xdeadbeef + (4 << 2) + 13);
315 # if defined(__KERNEL_AVX__)
319 a = b =
c =
avxi(0xdeadbeef + (1 << 2) + 13);
330 a = b =
c =
avxi(0xdeadbeef + (2 << 2) + 13);
342 a = b =
c =
avxi(0xdeadbeef + (3 << 2) + 13);
355 a = b =
c =
avxi(0xdeadbeef + (4 << 2) + 13);
375 #ifndef __KERNEL_GPU__
typedef float(TangentPoint)[2]
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define make_float2(x, y)
#define make_float4(x, y, z, w)
#define make_float3(x, y, z)
static uint hash_string(const char *str)
ccl_device_inline uint hash_uint2(uint kx, uint ky)
ccl_device_inline float hash_uint_to_float(uint kx)
ccl_device_inline float3 hash_float_to_float3(float k)
ccl_device_inline float3 hash_float4_to_float3(float4 k)
ccl_device_inline float hash_float_to_float(float k)
ccl_device_inline float3 hash_float2_to_float3(float2 k)
ccl_device_inline float2 hash_float2_to_float2(float2 k)
ccl_device_inline float hash_float2_to_float(float2 k)
ccl_device_inline uint hash_uint3(uint kx, uint ky, uint kz)
ccl_device_inline float hash_float4_to_float(float4 k)
ccl_device_inline uint hash_uint4(uint kx, uint ky, uint kz, uint kw)
ccl_device_inline float hash_uint4_to_float(uint kx, uint ky, uint kz, uint kw)
ccl_device_inline float4 hash_float4_to_float4(float4 k)
ccl_device_inline uint hash_uint(uint kx)
ccl_device_inline float hash_uint2_to_float(uint kx, uint ky)
ccl_device_inline float hash_float3_to_float(float3 k)
ccl_device_inline float3 hash_float3_to_float3(float3 k)
ccl_device_inline float hash_uint3_to_float(uint kx, uint ky, uint kz)
ccl_device_inline uint __float_as_uint(float f)