9#ifndef __SKY_FLOAT3_H__
10#define __SKY_FLOAT3_H__
17# define M_PI_F (3.1415926535897932f)
20# define M_PI_2_F (1.5707963267948966f)
23# define M_2PI_F (6.2831853071795864f)
31 float3(
const float *ptr) :
x{ptr[0]},
y{ptr[1]},
z{ptr[2]} {}
35 explicit float3(
float value) :
x(value),
y(value),
z(value) {}
37 explicit float3(
int value) :
x(value),
y(value),
z(value) {}
41 operator const float *()
const
53 return {a.
x *
b, a.
y *
b, a.
z *
b};
58 return {a.
x *
b, a.
y *
b, a.
z *
b};
63 return {a.
x -
b.x, a.
y -
b.y, a.
z -
b.z};
68 return {-a.
x, -a.
y, -a.
z};
73 return x *
x +
y *
y +
z *
z;
83 return (a -
b).length();
88 return {a.
x +
b.x, a.
y +
b.y, a.
z +
b.z};
100 return {a.
x *
b.x, a.
y *
b.y, a.
z *
b.z};
116 return a.
x *
b.x + a.
y *
b.y + a.
z *
b.z;
121 return float3::distance(a,
b);
136 return f.
x + f.
y + f.
z;
SIMD_FORCE_INLINE const btScalar & z() const
Return the z value.
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
float distance(VecOp< float, D >, VecOp< float, D >) RET
ccl_device_inline float sqr(const float a)
ccl_device_inline float len_squared(const float2 a)
ccl_device_inline float reduce_add(const float2 a)
ccl_device_inline float len(const float2 a)
friend float3 operator*(const float3 &a, float b)
friend float3 operator-(const float3 &a, const float3 &b)
float3(float x, float y, float z)
void operator+=(const float3 &b)
float length_squared() const
friend float3 operator+(const float3 &a, const float3 &b)
float3(const float(*ptr)[3])
static float distance(const float3 &a, const float3 &b)
friend float3 operator*(const float3 &a, const float3 &b)
friend float3 operator-(const float3 &a)
friend float3 operator*(float b, const float3 &a)