Blender  V3.3
Functions
math_fast.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device_inline float madd (const float a, const float b, const float c)
 
ccl_device_inline float4 madd4 (const float4 a, const float4 b, const float4 c)
 
ccl_device_inline int fast_rint (float x)
 
ccl_device float fast_sinf (float x)
 
ccl_device float fast_cosf (float x)
 
ccl_device void fast_sincosf (float x, ccl_private float *sine, ccl_private float *cosine)
 
ccl_device float fast_tanf (float x)
 
ccl_device float fast_sinpif (float x)
 
ccl_device_inline float fast_cospif (float x)
 
ccl_device float fast_acosf (float x)
 
ccl_device float fast_asinf (float x)
 
ccl_device float fast_atanf (float x)
 
ccl_device float fast_atan2f (float y, float x)
 
ccl_device float fast_log2f (float x)
 
ccl_device_inline float fast_logf (float x)
 
ccl_device_inline float fast_log10 (float x)
 
ccl_device float fast_logb (float x)
 
ccl_device float fast_exp2f (float x)
 
ccl_device_inline float fast_expf (float x)
 
ccl_device float4 fast_exp2f4 (float4 x)
 
ccl_device_inline float4 fast_expf4 (float4 x)
 
ccl_device_inline float fast_exp10 (float x)
 
ccl_device_inline float fast_expm1f (float x)
 
ccl_device float fast_sinhf (float x)
 
ccl_device_inline float fast_coshf (float x)
 
ccl_device_inline float fast_tanhf (float x)
 
ccl_device float fast_safe_powf (float x, float y)
 
ccl_device_inline float fast_erff (float x)
 
ccl_device_inline float fast_erfcf (float x)
 
ccl_device_inline float fast_ierff (float x)
 

Function Documentation

◆ fast_acosf()

ccl_device float fast_acosf ( float  x)

◆ fast_asinf()

ccl_device float fast_asinf ( float  x)

Definition at line 270 of file math_fast.h.

References Freestyle::a, copysignf, fabsf, M_PI_2_F, sqrtf, and x.

◆ fast_atan2f()

ccl_device float fast_atan2f ( float  y,
float  x 
)

◆ fast_atanf()

ccl_device float fast_atanf ( float  x)

Definition at line 285 of file math_fast.h.

References Freestyle::a, copysignf, fabsf, M_PI_2_F, madd(), r, t, and x.

◆ fast_cosf()

ccl_device float fast_cosf ( float  x)

◆ fast_coshf()

ccl_device_inline float fast_coshf ( float  x)

Definition at line 495 of file math_fast.h.

References e, fabsf, fast_expf(), and x.

◆ fast_cospif()

ccl_device_inline float fast_cospif ( float  x)

Definition at line 248 of file math_fast.h.

References fast_sinpif(), and x.

◆ fast_erfcf()

ccl_device_inline float fast_erfcf ( float  x)

Definition at line 578 of file math_fast.h.

References fast_erff(), and x.

◆ fast_erff()

ccl_device_inline float fast_erff ( float  x)

Definition at line 554 of file math_fast.h.

References Freestyle::a, usdtokens::b(), copysignf, fabsf, madd(), r, t, v, and x.

Referenced by fast_erfcf(), and microfacet_beckmann_sample_slopes().

◆ fast_exp10()

ccl_device_inline float fast_exp10 ( float  x)

Definition at line 454 of file math_fast.h.

References fast_exp2f(), M_LN10_F, M_LN2_F, and x.

◆ fast_exp2f()

ccl_device float fast_exp2f ( float  x)

Definition at line 388 of file math_fast.h.

References __float_as_uint(), __uint_as_float(), blender::math::clamp(), madd(), r, and x.

Referenced by fast_exp10(), fast_expf(), and fast_safe_powf().

◆ fast_exp2f4()

ccl_device float4 fast_exp2f4 ( float4  x)

Definition at line 427 of file math_fast.h.

References __float4_as_int4(), __int4_as_float4(), blender::math::clamp(), madd4(), make_float4, make_int4, r, and x.

Referenced by fast_expf4().

◆ fast_expf()

ccl_device_inline float fast_expf ( float  x)

Definition at line 415 of file math_fast.h.

References fast_exp2f(), M_LN2_F, and x.

Referenced by fast_coshf(), fast_expm1f(), fast_sinhf(), and fast_tanhf().

◆ fast_expf4()

ccl_device_inline float4 fast_expf4 ( float4  x)

Definition at line 443 of file math_fast.h.

References fast_exp2f4(), M_LN2_F, and x.

◆ fast_expm1f()

ccl_device_inline float fast_expm1f ( float  x)

Definition at line 462 of file math_fast.h.

References fabsf, fast_expf(), madd(), and x.

◆ fast_ierff()

ccl_device_inline float fast_ierff ( float  x)

Definition at line 589 of file math_fast.h.

References Freestyle::a, fabsf, fast_logf(), madd(), sqrtf, w(), and x.

Referenced by microfacet_beckmann_sample_slopes().

◆ fast_log10()

ccl_device_inline float fast_log10 ( float  x)

Definition at line 371 of file math_fast.h.

References fast_log2f(), M_LN10_F, M_LN2_F, and x.

◆ fast_log2f()

ccl_device float fast_log2f ( float  x)

Definition at line 337 of file math_fast.h.

References __float_as_uint(), __uint_as_float(), blender::math::clamp(), madd(), and x.

Referenced by fast_log10(), fast_logf(), and fast_safe_powf().

◆ fast_logb()

ccl_device float fast_logb ( float  x)

Definition at line 379 of file math_fast.h.

References __float_as_uint(), blender::math::clamp(), fabsf, and x.

◆ fast_logf()

ccl_device_inline float fast_logf ( float  x)

Definition at line 363 of file math_fast.h.

References fast_log2f(), M_LN2_F, and x.

Referenced by fast_ierff().

◆ fast_rint()

ccl_device_inline int fast_rint ( float  x)

Definition at line 58 of file math_fast.h.

References copysignf, float_to_int(), and x.

Referenced by fast_cosf(), fast_sincosf(), fast_sinf(), and fast_tanf().

◆ fast_safe_powf()

ccl_device float fast_safe_powf ( float  x,
float  y 
)

Definition at line 514 of file math_fast.h.

References __float_as_int(), __int_as_float(), fabsf, fast_exp2f(), fast_log2f(), KDL::sign(), x, and y.

◆ fast_sincosf()

ccl_device void fast_sincosf ( float  x,
ccl_private float sine,
ccl_private float cosine 
)

◆ fast_sinf()

ccl_device float fast_sinf ( float  x)

Definition at line 70 of file math_fast.h.

References fabsf, fast_rint(), float(), M_1_PI_F, M_PI_2_F, madd(), and x.

Referenced by triangle_light_sample().

◆ fast_sinhf()

ccl_device float fast_sinhf ( float  x)

Definition at line 473 of file math_fast.h.

References Freestyle::a, copysignf, e, fabsf, fast_expf(), madd(), r, and x.

◆ fast_sinpif()

ccl_device float fast_sinpif ( float  x)

Definition at line 212 of file math_fast.h.

References fabsf, P(), x, y, and z.

Referenced by fast_cospif().

◆ fast_tanf()

ccl_device float fast_tanf ( float  x)

Definition at line 177 of file math_fast.h.

References fast_rint(), float(), M_1_PI_F, M_PI_4_F, madd(), and x.

◆ fast_tanhf()

ccl_device_inline float fast_tanhf ( float  x)

Definition at line 504 of file math_fast.h.

References copysignf, e, fabsf, fast_expf(), and x.

◆ madd()

CCL_NAMESPACE_BEGIN ccl_device_inline float madd ( const float  a,
const float  b,
const float  c 
)

◆ madd4()

ccl_device_inline float4 madd4 ( const float4  a,
const float4  b,
const float4  c 
)

Definition at line 36 of file math_fast.h.

References Freestyle::a, usdtokens::b(), and Freestyle::c.

Referenced by fast_exp2f4().