Blender V4.3
types_float4.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__
14struct int4;
15
16struct ccl_try_align(16) float4
17{
18# ifdef __KERNEL_SSE__
19 union {
20 __m128 m128;
21 struct {
22 float x, y, z, w;
23 };
24 };
25
27 __forceinline explicit float4(const __m128 &a);
28
29 __forceinline operator const __m128 &() const;
30 __forceinline operator __m128 &();
31
32 __forceinline float4 &operator=(const float4 &a);
33
34# else /* __KERNEL_SSE__ */
35 float x, y, z, w;
36# endif /* __KERNEL_SSE__ */
37
38# ifndef __KERNEL_GPU__
39 __forceinline float operator[](int i) const;
40 __forceinline float &operator[](int i);
41# endif
42};
43
44ccl_device_inline float4 make_float4(float x, float y, float z, float w);
45#endif /* __KERNEL_NATIVE_VECTOR_TYPES__ */
46
49ccl_device_inline void print_float4(ccl_private const char *label, const float4 a);
50
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
VecBase< float, 4 > float4
ccl_device_inline void print_float4(ccl_private const char *label, const float4 a)
ccl_device_inline float4 make_float4(float x, float y, float z, float w)