Blender V4.3
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_inline float vector_angle (float3 a, float3 b)
 
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)
 
ccl_device_inline float fast_inv_cbrtf (float x)
 

Function Documentation

◆ fast_acosf()

◆ fast_asinf()

ccl_device float fast_asinf ( float x)

Definition at line 277 of file math_fast.h.

References copysignf, fabsf, M_PI_2_F, and sqrtf.

◆ fast_atan2f()

◆ fast_atanf()

ccl_device float fast_atanf ( float x)

Definition at line 291 of file math_fast.h.

References copysignf, fabsf, M_PI_2_F, and madd().

Referenced by LightTreeEmitter::LightTreeEmitter().

◆ fast_cosf()

◆ fast_coshf()

ccl_device_inline float fast_coshf ( float x)

Definition at line 507 of file math_fast.h.

References e, fabsf, and fast_expf().

◆ fast_cospif()

ccl_device_inline float fast_cospif ( float x)

Definition at line 255 of file math_fast.h.

References fast_sinpif().

◆ fast_erfcf()

ccl_device_inline float fast_erfcf ( float x)

Definition at line 590 of file math_fast.h.

References fast_erff().

◆ fast_erff()

ccl_device_inline float fast_erff ( float x)

Definition at line 566 of file math_fast.h.

References b, copysignf, fabsf, madd(), and v.

Referenced by fast_erfcf(), and microfacet_beckmann_sample_vndf().

◆ fast_exp10()

ccl_device_inline float fast_exp10 ( float x)

Definition at line 466 of file math_fast.h.

References fast_exp2f().

◆ fast_exp2f()

ccl_device float fast_exp2f ( float x)

Definition at line 400 of file math_fast.h.

References __float_as_uint, __uint_as_float, clamp(), int, madd(), and x.

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

◆ fast_exp2f4()

ccl_device float4 fast_exp2f4 ( float4 x)

Definition at line 439 of file math_fast.h.

References __float4_as_int4(), __int4_as_float4(), clamp(), madd4(), make_float4(), and make_int4().

Referenced by fast_expf4().

◆ fast_expf()

ccl_device_inline float fast_expf ( float x)

Definition at line 427 of file math_fast.h.

References fast_exp2f().

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

◆ fast_expf4()

ccl_device_inline float4 fast_expf4 ( float4 x)

Definition at line 455 of file math_fast.h.

References fast_exp2f4().

◆ fast_expm1f()

ccl_device_inline float fast_expm1f ( float x)

Definition at line 474 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 601 of file math_fast.h.

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

Referenced by microfacet_beckmann_sample_vndf().

◆ fast_inv_cbrtf()

ccl_device_inline float fast_inv_cbrtf ( float x)

Definition at line 638 of file math_fast.h.

References __float_as_int, __int_as_float, util_assert, and y.

Referenced by phase_draine_sample_cos(), and phase_rayleigh_sample().

◆ fast_log10()

ccl_device_inline float fast_log10 ( float x)

Definition at line 383 of file math_fast.h.

References fast_log2f().

◆ fast_log2f()

ccl_device float fast_log2f ( float x)

Definition at line 349 of file math_fast.h.

References __float_as_uint, __uint_as_float, clamp(), FLT_MAX, int, and madd().

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

◆ fast_logb()

ccl_device float fast_logb ( float x)

Definition at line 391 of file math_fast.h.

References __float_as_uint, clamp(), fabsf, FLT_MAX, and int.

◆ fast_logf()

ccl_device_inline float fast_logf ( float x)

Definition at line 375 of file math_fast.h.

References fast_log2f().

Referenced by fast_ierff().

◆ fast_rint()

ccl_device_inline int fast_rint ( float x)

Definition at line 62 of file math_fast.h.

References copysignf, and float_to_int().

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 526 of file math_fast.h.

References __float_as_int, __int_as_float, fabsf, fast_exp2f(), and fast_log2f().

◆ fast_sincosf()

◆ fast_sinf()

ccl_device float fast_sinf ( float x)

Definition at line 77 of file math_fast.h.

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

◆ fast_sinhf()

ccl_device float fast_sinhf ( float x)

Definition at line 485 of file math_fast.h.

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

◆ fast_sinpif()

ccl_device float fast_sinpif ( float x)

Definition at line 219 of file math_fast.h.

References fabsf, P, and z().

Referenced by fast_cospif().

◆ fast_tanf()

ccl_device float fast_tanf ( float x)

Definition at line 184 of file math_fast.h.

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

Referenced by LightTreeEmitter::LightTreeEmitter().

◆ fast_tanhf()

ccl_device_inline float fast_tanhf ( float x)

Definition at line 516 of file math_fast.h.

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

◆ madd()

◆ madd4()

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

Definition at line 40 of file math_fast.h.

References b.

Referenced by fast_exp2f4().

◆ vector_angle()

ccl_device_inline float vector_angle ( float3 a,
float3 b )

Definition at line 340 of file math_fast.h.

References b, fast_atan2f(), and len.

Referenced by distant_light_intersect(), and distant_light_sample_from_intersection().