Blender V5.0
math_float8.h File Reference
#include "util/math_base.h"
#include "util/types_float8.h"
#include "util/types_int8.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline vfloat8 zero_vfloat8 ()
ccl_device_inline vfloat8 one_vfloat8 ()
ccl_device_inline vfloat8 operator+ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator+ (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator+ (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator- (const vfloat8 a)
ccl_device_inline vfloat8 operator- (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator- (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator- (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator* (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator* (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator* (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator/ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator/ (const vfloat8 a, const float f)
ccl_device_inline vfloat8 operator/ (const float f, const vfloat8 a)
ccl_device_inline vfloat8 operator+= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator-= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator*= (vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator*= (vfloat8 a, const float f)
ccl_device_inline vfloat8 operator/= (vfloat8 a, const float f)
ccl_device_inline bool operator== (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 operator^ (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 sqrt (const vfloat8 a)
ccl_device_inline vfloat8 sqr (const vfloat8 a)
ccl_device_inline bool is_zero (const vfloat8 a)
ccl_device_inline float reduce_add (const vfloat8 a)
ccl_device_inline float average (const vfloat8 a)
ccl_device_inline vfloat8 min (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 max (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 clamp (const vfloat8 a, const vfloat8 mn, const vfloat8 mx)
ccl_device_inline vfloat8 select (const vint8 mask, const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 fabs (const vfloat8 a)
ccl_device_inline vfloat8 mix (const vfloat8 a, const vfloat8 b, const float t)
ccl_device_inline vfloat8 mix (const vfloat8 a, const vfloat8 b, vfloat8 t)
ccl_device_inline vfloat8 saturate (const vfloat8 a)
ccl_device_inline vfloat8 exp (vfloat8 v)
ccl_device_inline vfloat8 log (vfloat8 v)
ccl_device_inline float dot (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 pow (vfloat8 v, const float e)
ccl_device_inline float reduce_min (const vfloat8 a)
ccl_device_inline float reduce_max (const vfloat8 a)
ccl_device_inline bool isequal (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 safe_divide (const vfloat8 a, const float b)
ccl_device_inline vfloat8 safe_divide (const vfloat8 a, const vfloat8 b)
ccl_device_inline vfloat8 ensure_finite (vfloat8 v)
ccl_device_inline bool isfinite_safe (vfloat8 v)
ccl_device_inline vint8 cast (const vfloat8 a)

Function Documentation

◆ average()

ccl_device_inline float average ( const vfloat8 a)

Definition at line 208 of file math_float8.h.

References ccl_device_inline, and reduce_add().

◆ cast()

ccl_device_inline vint8 cast ( const vfloat8 a)

Definition at line 384 of file math_float8.h.

References __float_as_int, ccl_device_inline, and make_vint8().

◆ clamp()

ccl_device_inline vfloat8 clamp ( const vfloat8 a,
const vfloat8 mn,
const vfloat8 mx )

Definition at line 245 of file math_float8.h.

References ccl_device_inline, max, and min.

Referenced by saturate().

◆ dot()

ccl_device_inline float dot ( const vfloat8 a,
const vfloat8 b )

Definition at line 309 of file math_float8.h.

References b, and ccl_device_inline.

◆ ensure_finite()

ccl_device_inline vfloat8 ensure_finite ( vfloat8 v)

Definition at line 364 of file math_float8.h.

References ccl_device_inline, ensure_finite(), and v.

Referenced by ensure_finite().

◆ exp()

ccl_device_inline vfloat8 exp ( vfloat8 v)

Definition at line 297 of file math_float8.h.

References ccl_device_inline, expf, make_vfloat8(), and v.

◆ fabs()

ccl_device_inline vfloat8 fabs ( const vfloat8 a)

Definition at line 266 of file math_float8.h.

References ccl_device_inline, fabsf, and make_vfloat8().

◆ is_zero()

ccl_device_inline bool is_zero ( const vfloat8 a)

Definition at line 192 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ isequal()

ccl_device_inline bool isequal ( const vfloat8 a,
const vfloat8 b )

Definition at line 342 of file math_float8.h.

References b, and ccl_device_inline.

◆ isfinite_safe()

ccl_device_inline bool isfinite_safe ( vfloat8 v)

Definition at line 378 of file math_float8.h.

References ccl_device_inline, isfinite_safe(), and v.

Referenced by isfinite_safe().

◆ log()

ccl_device_inline vfloat8 log ( vfloat8 v)

Definition at line 303 of file math_float8.h.

References ccl_device_inline, logf, make_vfloat8(), and v.

◆ max()

ccl_device_inline vfloat8 max ( const vfloat8 a,
const vfloat8 b )

Definition at line 229 of file math_float8.h.

References b, ccl_device_inline, make_vfloat8(), and max.

◆ min()

ccl_device_inline vfloat8 min ( const vfloat8 a,
const vfloat8 b )

Definition at line 213 of file math_float8.h.

References b, ccl_device_inline, make_vfloat8(), and min.

◆ mix() [1/2]

ccl_device_inline vfloat8 mix ( const vfloat8 a,
const vfloat8 b,
const float t )

Definition at line 282 of file math_float8.h.

References b, and ccl_device_inline.

◆ mix() [2/2]

ccl_device_inline vfloat8 mix ( const vfloat8 a,
const vfloat8 b,
vfloat8 t )

Definition at line 287 of file math_float8.h.

References b, and ccl_device_inline.

◆ one_vfloat8()

ccl_device_inline vfloat8 one_vfloat8 ( )

Definition at line 23 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator*() [1/3]

ccl_device_inline vfloat8 operator* ( const float f,
const vfloat8 a )

Definition at line 93 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator*() [2/3]

ccl_device_inline vfloat8 operator* ( const vfloat8 a,
const float f )

Definition at line 88 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator*() [3/3]

ccl_device_inline vfloat8 operator* ( const vfloat8 a,
const vfloat8 b )

Definition at line 78 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ operator*=() [1/2]

ccl_device_inline vfloat8 operator*= ( vfloat8 a,
const float f )

Definition at line 133 of file math_float8.h.

References ccl_device_inline.

◆ operator*=() [2/2]

ccl_device_inline vfloat8 operator*= ( vfloat8 a,
const vfloat8 b )

Definition at line 128 of file math_float8.h.

References b, and ccl_device_inline.

◆ operator+() [1/3]

ccl_device_inline vfloat8 operator+ ( const float f,
const vfloat8 a )

Definition at line 43 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator+() [2/3]

ccl_device_inline vfloat8 operator+ ( const vfloat8 a,
const float f )

Definition at line 38 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator+() [3/3]

ccl_device_inline vfloat8 operator+ ( const vfloat8 a,
const vfloat8 b )

Definition at line 28 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ operator+=()

ccl_device_inline vfloat8 operator+= ( vfloat8 a,
const vfloat8 b )

Definition at line 118 of file math_float8.h.

References b, and ccl_device_inline.

◆ operator-() [1/4]

ccl_device_inline vfloat8 operator- ( const float f,
const vfloat8 a )

Definition at line 73 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator-() [2/4]

ccl_device_inline vfloat8 operator- ( const vfloat8 a)

Definition at line 48 of file math_float8.h.

References ccl_device_inline, make_vfloat8(), and mask().

◆ operator-() [3/4]

ccl_device_inline vfloat8 operator- ( const vfloat8 a,
const float f )

Definition at line 68 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator-() [4/4]

ccl_device_inline vfloat8 operator- ( const vfloat8 a,
const vfloat8 b )

Definition at line 58 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ operator-=()

ccl_device_inline vfloat8 operator-= ( vfloat8 a,
const vfloat8 b )

Definition at line 123 of file math_float8.h.

References b, and ccl_device_inline.

◆ operator/() [1/3]

ccl_device_inline vfloat8 operator/ ( const float f,
const vfloat8 a )

Definition at line 113 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator/() [2/3]

ccl_device_inline vfloat8 operator/ ( const vfloat8 a,
const float f )

Definition at line 108 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().

◆ operator/() [3/3]

ccl_device_inline vfloat8 operator/ ( const vfloat8 a,
const vfloat8 b )

Definition at line 98 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ operator/=()

ccl_device_inline vfloat8 operator/= ( vfloat8 a,
const float f )

Definition at line 138 of file math_float8.h.

References ccl_device_inline.

◆ operator==()

ccl_device_inline bool operator== ( const vfloat8 a,
const vfloat8 b )

Definition at line 143 of file math_float8.h.

References b, and ccl_device_inline.

◆ operator^()

ccl_device_inline vfloat8 operator^ ( const vfloat8 a,
const vfloat8 b )

Definition at line 155 of file math_float8.h.

References __float_as_uint, __uint_as_float, b, ccl_device_inline, and make_vfloat8().

◆ pow()

ccl_device_inline vfloat8 pow ( vfloat8 v,
const float e )

Definition at line 320 of file math_float8.h.

References ccl_device_inline, e, make_vfloat8(), powf, and v.

◆ reduce_add()

ccl_device_inline float reduce_add ( const vfloat8 a)

Definition at line 197 of file math_float8.h.

References b, and ccl_device_inline.

Referenced by average().

◆ reduce_max()

ccl_device_inline float reduce_max ( const vfloat8 a)

Definition at line 337 of file math_float8.h.

References ccl_device_inline, and max.

◆ reduce_min()

ccl_device_inline float reduce_min ( const vfloat8 a)

Definition at line 332 of file math_float8.h.

References ccl_device_inline, and min.

◆ safe_divide() [1/2]

ccl_device_inline vfloat8 safe_divide ( const vfloat8 a,
const float b )

Definition at line 347 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ safe_divide() [2/2]

ccl_device_inline vfloat8 safe_divide ( const vfloat8 a,
const vfloat8 b )

Definition at line 352 of file math_float8.h.

References b, ccl_device_inline, and make_vfloat8().

◆ saturate()

ccl_device_inline vfloat8 saturate ( const vfloat8 a)

Definition at line 292 of file math_float8.h.

References ccl_device_inline, clamp(), and make_vfloat8().

◆ select()

ccl_device_inline vfloat8 select ( const vint8 mask,
const vfloat8 a,
const vfloat8 b )

Definition at line 250 of file math_float8.h.

References b, ccl_device_inline, make_vfloat8(), and mask().

◆ sqr()

ccl_device_inline vfloat8 sqr ( const vfloat8 a)

Definition at line 187 of file math_float8.h.

References ccl_device_inline.

◆ sqrt()

ccl_device_inline vfloat8 sqrt ( const vfloat8 a)

Definition at line 171 of file math_float8.h.

References ccl_device_inline, make_vfloat8(), and sqrtf.

◆ zero_vfloat8()

CCL_NAMESPACE_BEGIN ccl_device_inline vfloat8 zero_vfloat8 ( )

Definition at line 14 of file math_float8.h.

References ccl_device_inline, and make_vfloat8().