7 return (
b != 0.0) ? a /
b : 0.0;
12 return vector((
b[0] != 0.0) ? a[0] /
b[0] : 0.0,
13 (
b[1] != 0.0) ? a[1] /
b[1] : 0.0,
14 (
b[2] != 0.0) ? a[2] /
b[2] : 0.0);
19 return (
b != 0.0) ?
fmod(a,
b) : 0.0;
24 return (
b != 0.0) ? a -
floor(a /
b) *
b : 0.0;
36 float h =
max(c -
abs(a -
b), 0.0) / c;
37 return min(a,
b) - h * h * h * c * (1.0 / 6.0);
46 return (
b != 0.0) ?
abs(
fract((a -
b) / (
b * 2.0)) *
b * 2.0 -
b) : 0.0;
51 return (a > 0.0) ?
sqrt(a) : 0.0;
56 return (a > 0.0 &&
b > 0.0) ?
log(a) /
log(
b) : 0.0;
61 float lenSquared =
dot(v_proj, v_proj);
62 return (lenSquared != 0.0) ? (
dot(
v, v_proj) / lenSquared) * v_proj :
vector(0.0);
74 return (range != 0.0) ? value - (range *
floor((value -
min) / range)) :
min;
88 return dot(reference, incident) < 0.0 ? vec : -vec;
93 float cx =
cos(euler[0]);
94 float cy =
cos(euler[1]);
95 float cz =
cos(euler[2]);
96 float sx =
sin(euler[0]);
97 float sy =
sin(euler[1]);
98 float sz =
sin(euler[2]);
99 matrix mat = matrix(1.0);
103 mat[1][0] = sy * sx * cz - cx * sz;
104 mat[1][1] = sy * sx * sz + cx * cz;
106 +mat[2][0] = sy * cx * cz + sx * sz;
107 mat[2][1] = sy * cx * sz - sx * cz;
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)