12 return (
b != 0.0) ? a /
b : 0.0;
17 return vector((
b[0] != 0.0) ? a[0] /
b[0] : 0.0,
18 (
b[1] != 0.0) ? a[1] /
b[1] : 0.0,
19 (
b[2] != 0.0) ? a[2] /
b[2] : 0.0);
24 return (
b != 0.0) ?
fmod(a,
b) : 0.0;
29 return (
b != 0.0) ? a -
floor(a /
b) *
b : 0.0;
51 return vector2(
floor(a.x + 0.5),
floor(a.y + 0.5));
68 float h =
max(c -
abs(a -
b), 0.0) / c;
69 return min(a,
b) - h * h * h * c * (1.0 / 6.0);
78 return (
b != 0.0) ?
abs(
fract((a -
b) / (
b * 2.0)) *
b * 2.0 -
b) : 0.0;
83 return (a > 0.0) ?
sqrt(a) : 0.0;
88 return (a > 0.0 &&
b > 0.0) ?
log(a) /
log(
b) : 0.0;
93 float lenSquared =
dot(v_proj, v_proj);
94 return (lenSquared != 0.0) ? (
dot(
v, v_proj) / lenSquared) * v_proj :
vector(0.0);
106 return (range != 0.0) ? value - (range *
floor((value -
min) / range)) :
min;
120 return dot(reference, incident) < 0.0 ? vec : -vec;
125 float cx =
cos(euler[0]);
126 float cy =
cos(euler[1]);
127 float cz =
cos(euler[2]);
128 float sx =
sin(euler[0]);
129 float sy =
sin(euler[1]);
130 float sz =
sin(euler[2]);
131 matrix mat = matrix(1.0);
135 mat[1][0] = sy * sx * cz - cx * sz;
136 mat[1][1] = sy * sx * sz + cx * cz;
138 +mat[2][0] = sy * cx * cz + sx * sz;
139 mat[2][1] = sy * cx * sz - sx * cz;
146 return (a[0] + a[1] + a[2]) * (1.0 / 3.0);
ATTR_WARN_UNUSED_RESULT const BMVert * v
dot(value.rgb, luminance_coefficients)") DEFINE_VALUE("REDUCE(lhs
ccl_device_inline float2 fmod(const float2 a, const float b)
vector snap(vector a, vector b)
matrix euler_to_mat(point euler)
float safe_floored_modulo(float a, float b)
float safe_divide(float a, float b)
float wrap(float value, float max, float min)
vector project(vector v, vector v_proj)
float pingpong(float a, float b)
float safe_log(float a, float b)
float smoothmin(float a, float b, float c)
point compatible_faceforward(point vec, point incident, point reference)
float safe_modulo(float a, float b)