Blender V4.3
types_int4.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#pragma once
6
7#ifndef __UTIL_TYPES_H__
8# error "Do not include this file directly, include util/types.h instead."
9#endif
10
12
13#ifndef __KERNEL_NATIVE_VECTOR_TYPES__
14
15struct float3;
16struct float4;
17
18struct ccl_try_align(16) int4
19{
20# ifdef __KERNEL_SSE__
21 union {
22 __m128i m128;
23 struct {
24 int x, y, z, w;
25 };
26 };
27
29 __forceinline int4(const int4 &a);
30 __forceinline explicit int4(const __m128i &a);
31
32 __forceinline operator const __m128i &() const;
33 __forceinline operator __m128i &();
34
36# else /* __KERNEL_SSE__ */
37 int x, y, z, w;
38# endif /* __KERNEL_SSE__ */
39
40# ifndef __KERNEL_GPU__
41 __forceinline int operator[](int i) const;
42 __forceinline int &operator[](int i);
43# endif
44};
45
46ccl_device_inline int4 make_int4(int x, int y, int z, int w);
47#endif /* __KERNEL_NATIVE_VECTOR_TYPES__ */
48
51ccl_device_inline int4 make_int4(const float4 f);
52ccl_device_inline void print_int4(ccl_private const char *label, const int4 a);
53
btGeneric6DofConstraint & operator=(btGeneric6DofConstraint &other)
SIMD_FORCE_INLINE btVector3 & operator[](int i)
Get a mutable reference to a row of the matrix as a vector.
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
Definition btQuadWord.h:117
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
Definition btQuadWord.h:119
const char * label
#define ccl_private
#define ccl_device_inline
#define CCL_NAMESPACE_END
#define ccl_try_align(...)
#define __forceinline
ccl_device_inline void print_int4(ccl_private const char *label, const int4 a)
ccl_device_inline int4 make_int4(int x, int y, int z, int w)