Blender  V3.3
types_float2_impl.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #ifndef __UTIL_TYPES_FLOAT2_IMPL_H__
5 #define __UTIL_TYPES_FLOAT2_IMPL_H__
6 
7 #ifndef __UTIL_TYPES_H__
8 # error "Do not include this file directly, include util/types.h instead."
9 #endif
10 
11 #ifndef __KERNEL_GPU__
12 # include <cstdio>
13 #endif
14 
16 
17 #if !defined(__KERNEL_GPU__) || defined(__KERNEL_ONEAPI__)
19 {
20  util_assert(i >= 0);
21  util_assert(i < 2);
22  return *(&x + i);
23 }
24 
26 {
27  util_assert(i >= 0);
28  util_assert(i < 2);
29  return *(&x + i);
30 }
31 
33 {
34  float2 a = {x, y};
35  return a;
36 }
37 
38 ccl_device_inline void print_float2(const char *label, const float2 &a)
39 {
40  printf("%s: %.8f %.8f\n", label, (double)a.x, (double)a.y);
41 }
42 #endif /* !defined(__KERNEL_GPU__) || defined(__KERNEL_ONEAPI__) */
43 
45 
46 #endif /* __UTIL_TYPES_FLOAT2_IMPL_H__ */
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
#define ccl_device_inline
Definition: cuda/compat.h:34
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9
#define util_assert(statement)
Definition: defines.h:94
const char * label
static unsigned a[3]
Definition: RandGen.cpp:78
#define __forceinline
float x
Definition: types_float2.h:15
__forceinline float operator[](int i) const
ccl_device_inline void print_float2(const char *label, const float2 &a)
ccl_device_inline float2 make_float2(float x, float y)