diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_math.c b/source/blender/nodes/intern/CMP_nodes/CMP_math.c index adeef050ec0..f5ca9bb9959 100644 --- a/source/blender/nodes/intern/CMP_nodes/CMP_math.c +++ b/source/blender/nodes/intern/CMP_nodes/CMP_math.c @@ -101,7 +101,7 @@ static void do_math(bNode *node, float *out, float *in, float *in2) float y_mod_1 = fmod(in2[0], 1); /* if input value is not nearly an integer, fall back to zero, nicer than straight rounding */ if (y_mod_1 > 0.999 || y_mod_1 < 0.001) { - out[0]= pow(in[0], round(in2[0])); + out[0]= pow(in[0], floor(in2[0] + 0.5)); } else { out[0] = 0.0; } diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_math.c b/source/blender/nodes/intern/TEX_nodes/TEX_math.c index 3043cd756d0..c5adfa97fd4 100644 --- a/source/blender/nodes/intern/TEX_nodes/TEX_math.c +++ b/source/blender/nodes/intern/TEX_nodes/TEX_math.c @@ -112,7 +112,7 @@ static void valuefn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor } else { float y_mod_1 = fmod(in1, 1); if (y_mod_1 > 0.999 || y_mod_1 < 0.001) { - *out = pow(in0, round(in1)); + *out = pow(in0, floor(in1 + 0.5)); } else { *out = 0.0; }