X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/3309187a700fc44245c4c59f8cf66952a593e290..5cd5652cdbb24fb83504ab0d021a8179971632db:/regmach.c diff --git a/regmach.c b/regmach.c index c7fe613b..64783432 100644 --- a/regmach.c +++ b/regmach.c @@ -1,5 +1,6 @@ #include "regmach.h" #include +#include "imageri.h" /*#define DEBUG*/ #ifdef DEBUG @@ -65,7 +66,7 @@ static double hsv_sat(i_color color) { return 0; } else { - int temp = i_min(i_max(color.rgb.r, color.rgb.g), color.rgb.b); + int temp = i_min(i_min(color.rgb.r, color.rgb.g), color.rgb.b); return (value - temp) / (double)value; } } @@ -167,7 +168,7 @@ static i_color make_rgb(int r, int g, int b, int a) { It isn't currently used for inequalities */ -#define n_epsilon(x, y) (abs(x)+abs(y))*0.001 +#define n_epsilon(x, y) (fabs(x)+fabs(y))*0.001 static i_color bcol = {{ 0 }}; i_color i_rm_run(struct rm_op codes[], size_t code_count, @@ -195,14 +196,14 @@ i_color i_rm_run(struct rm_op codes[], size_t code_count, break; case rbc_div: - if (abs(nb) < 1e-10) + if (fabs(nb) < 1e-10) nout = 1e10; else nout = na / nb; break; case rbc_mod: - if (abs(nb) > 1e-10) { + if (fabs(nb) > 1e-10) { nout = fmod(na, nb); } else { @@ -342,11 +343,11 @@ i_color i_rm_run(struct rm_op codes[], size_t code_count, break; case rbc_eq: - nout = abs(na-nb) <= n_epsilon(na,nb); + nout = fabs(na-nb) <= n_epsilon(na,nb); break; case rbc_ne: - nout = abs(na-nb) > n_epsilon(na,nb); + nout = fabs(na-nb) > n_epsilon(na,nb); break; case rbc_and: @@ -362,7 +363,7 @@ i_color i_rm_run(struct rm_op codes[], size_t code_count, break; case rbc_abs: - nout = abs(na); + nout = fabs(na); break; case rbc_ret: