src/utils.c

changeset 313
b7753273f0fd
parent 312
e1e3b768ae8b
child 314
5d28dc8f0765
equal deleted inserted replaced
312:e1e3b768ae8b 313:b7753273f0fd
132 intmax_t a = *((const long int*) i1); 132 intmax_t a = *((const long int*) i1);
133 intmax_t b = *((const long int*) i2); 133 intmax_t b = *((const long int*) i2);
134 return a - b; 134 return a - b;
135 } 135 }
136 136
137 int ucx_floatcmp(const void *f1, const void *f2, void *epsilon) { 137 int ucx_cmp_float(const void *f1, const void *f2, void *epsilon) {
138 float a = *((const float*) f1); 138 float a = *((const float*) f1);
139 float b = *((const float*) f2); 139 float b = *((const float*) f2);
140 float e = !epsilon ? 1e-6f : *((float*)epsilon); 140 float e = !epsilon ? 1e-6f : *((float*)epsilon);
141 if (fabsf(a - b) < e) { 141 if (fabsf(a - b) < e) {
142 return 0; 142 return 0;
143 } else { 143 } else {
144 return a < b ? -1 : 1; 144 return a < b ? -1 : 1;
145 } 145 }
146 } 146 }
147 147
148 int ucx_doublecmp(const void *d1, const void *d2, void *epsilon) { 148 int ucx_cmp_double(const void *d1, const void *d2, void *epsilon) {
149 double a = *((const double*) d1); 149 double a = *((const double*) d1);
150 double b = *((const double*) d2); 150 double b = *((const double*) d2);
151 double e = !epsilon ? 1e-14 : *((double*)epsilon); 151 double e = !epsilon ? 1e-14 : *((double*)epsilon);
152 if (fabs(a - b) < e) { 152 if (fabs(a - b) < e) {
153 return 0; 153 return 0;

mercurial