Blender V5.0
types_dual.h File Reference

Go to the source code of this file.

Classes

struct  dual< T >
struct  dual< float2 >
struct  dual< float3 >
struct  dual< float4 >

Typedefs

using dual1 = dual<float>
using dual2 = dual<float2>
using dual3 = dual<float3>
using dual4 = dual<float4>

Functions

template<class T>
ccl_device_inline dual3 make_float3 (const ccl_private dual< T > &a)
ccl_device_inline dual3 make_float3 (const dual1 a, const dual1 b, const dual1 c)
ccl_device_inline dual4 make_float4 (const dual3 a)
ccl_device_inline dual4 make_homogeneous (const dual3 a)
ccl_device_inline void print_dual1 (const ccl_private char *label, const dual1 a)
ccl_device_inline void print_dual2 (const ccl_private char *label, const dual2 a)
ccl_device_inline void print_dual3 (const ccl_private char *label, const dual3 a)

Typedef Documentation

◆ dual1

using dual1 = dual<float>

Definition at line 56 of file types_dual.h.

◆ dual2

using dual2 = dual<float2>

Definition at line 57 of file types_dual.h.

◆ dual3

using dual3 = dual<float3>

Definition at line 58 of file types_dual.h.

◆ dual4

using dual4 = dual<float4>

Definition at line 59 of file types_dual.h.

Function Documentation

◆ make_float3() [1/2]

template<class T>
ccl_device_inline dual3 make_float3 ( const ccl_private dual< T > & a)

Definition at line 61 of file types_dual.h.

References ccl_device_inline, ccl_private, and make_float3().

Referenced by make_float3(), and make_float3().

◆ make_float3() [2/2]

ccl_device_inline dual3 make_float3 ( const dual1 a,
const dual1 b,
const dual1 c )

Definition at line 66 of file types_dual.h.

References b, ccl_device_inline, dual< T >::dx, dual< T >::dy, make_float3(), and dual< T >::val.

◆ make_float4()

◆ make_homogeneous()

ccl_device_inline dual4 make_homogeneous ( const dual3 a)

◆ print_dual1()

ccl_device_inline void print_dual1 ( const ccl_private char * label,
const dual1 a )

◆ print_dual2()

ccl_device_inline void print_dual2 ( const ccl_private char * label,
const dual2 a )

◆ print_dual3()

ccl_device_inline void print_dual3 ( const ccl_private char * label,
const dual3 a )