| 197 |
|
|
| 198 |
|
if (rel_min > 0) { /* doing relative differences? */ |
| 199 |
|
double av2 = .25*(r1*r1 + 2.*fabs(r1*r2) + r2*r2); |
| 200 |
< |
if (av2 > rel_min*rel_min) |
| 201 |
< |
diff2 /= av2; |
| 200 |
> |
if (av2 < rel_min*rel_min) |
| 201 |
> |
av2 = rel_min*rel_min; |
| 202 |
> |
diff2 /= av2; |
| 203 |
|
} |
| 204 |
|
if (max_lim >= 0 && diff2 > max_lim*max_lim) { |
| 205 |
|
if (report != REP_QUIET) |
| 373 |
|
tep->key = strcpy(malloc(kln+1), key); |
| 374 |
|
if (tep->data) { /* check for special cases */ |
| 375 |
|
if (!strcmp(key, "EXPOSURE")) { |
| 376 |
< |
sprintf(newval, "%f", atof(tep->data)*atof(val)); |
| 376 |
> |
sprintf(newval, "%.6e", atof(tep->data)*atof(val)); |
| 377 |
|
vln = strlen(val = newval); |
| 378 |
|
} |
| 379 |
|
free(tep->data); |