Code cleanup for min/max functions. Committed on behalf of lebedev.ri (thanks!).

This commit is contained in:
Emil Martinec
2012-04-09 15:42:59 -05:00
parent 30681df133
commit 033755b6df
61 changed files with 767 additions and 620 deletions

View File

@@ -18,19 +18,18 @@
*
*/
//#include "rtengine.h"
#include <cstddef>
#include <cmath>
#include "curves.h"
#include "labimage.h"
#include "improcfun.h"
#include "rawimagesource.h"
#include "rt_math.h"
#ifdef _OPENMP
#include <omp.h>
#endif
#define SQR(x) ((x)*(x))
#define CLIPTO(a,b,c) ((a)>(b)?((a)<(c)?(a):(c)):(b))
#define CLIPC(a) ((a)>-32000?((a)<32000?(a):32000):-32000)
#define CLIP(a) (CLIPTO(a,0,65535))
@@ -248,7 +247,7 @@ namespace rtengine {
//generate domain kernel
int halfwin = 1;//MIN(ceil(2*sig),3);
int halfwin = 1;//min(ceil(2*sig),3);
int scalewin = halfwin*scale;
@@ -265,8 +264,8 @@ namespace rtengine {
aout = 0;
bout = 0;
for(int inbr=MAX(0,i-scalewin); inbr<=MIN(height-1,i+scalewin); inbr+=scale) {
for (int jnbr=MAX(0,j-scalewin); jnbr<=MIN(width-1,j+scalewin); jnbr+=scale) {
for(int inbr=max(0,i-scalewin); inbr<=min(height-1,i+scalewin); inbr+=scale) {
for (int jnbr=max(0,j-scalewin); jnbr<=min(width-1,j+scalewin); jnbr+=scale) {
float dirwt = DIRWT(inbr, jnbr, i, j);
Lout += dirwt*data_fine->L[inbr][jnbr];
aout += dirwt*data_fine->a[inbr][jnbr];
@@ -372,8 +371,8 @@ namespace rtengine {
//do midpoint first
norm=dirwt=0;
wtdsum[0]=wtdsum[1]=wtdsum[2]=wtdsum[3]=wtdsum[4]=wtdsum[5]=0.0;
for(i1=i; i1<MIN(height,i+3); i1+=2)
for (j1=j; j1<MIN(width,j+3); j1+=2) {
for(i1=i; i1<min(height,i+3); i1+=2)
for (j1=j; j1<min(width,j+3); j1+=2) {
dirwt = 1;//IDIRWT(i1, j1, i, j);
wtdsum[0] += dirwt*smooth->L[i1][j1];
wtdsum[1] += dirwt*smooth->a[i1][j1];
@@ -400,7 +399,7 @@ namespace rtengine {
if (j+1==width) continue;
norm=dirwt=0;
wtdsum[0]=wtdsum[1]=wtdsum[2]=wtdsum[3]=wtdsum[4]=wtdsum[5]=0.0;
for (j1=j; j1<MIN(width,j+3); j1+=2) {
for (j1=j; j1<min(width,j+3); j1+=2) {
dirwt = 1;//IDIRWT(i, j1, i, j);
wtdsum[0] += dirwt*smooth->L[i][j1];
wtdsum[1] += dirwt*smooth->a[i][j1];
@@ -410,7 +409,7 @@ namespace rtengine {
wtdsum[5] += dirwt*buffer[2][i*scale][j1*scale];
norm+=dirwt;
}
for (i1=MAX(0,i-1); i1<MIN(height,i+2); i1+=2) {
for (i1=max(0,i-1); i1<min(height,i+2); i1+=2) {
dirwt = 1;//IDIRWT(i1, j+1, i, j);
wtdsum[0] += dirwt*smooth->L[i1][j+1];
wtdsum[1] += dirwt*smooth->a[i1][j+1];
@@ -432,7 +431,7 @@ namespace rtengine {
if (i+1==height) continue;
norm=0;
wtdsum[0]=wtdsum[1]=wtdsum[2]=wtdsum[3]=wtdsum[4]=wtdsum[5]=0.0;
for (i1=i; i1<MIN(height,i+3); i1+=2) {
for (i1=i; i1<min(height,i+3); i1+=2) {
dirwt = 1;//IDIRWT(i1, j, i, j);
wtdsum[0] += dirwt*smooth->L[i1][j];
wtdsum[1] += dirwt*smooth->a[i1][j];
@@ -442,7 +441,7 @@ namespace rtengine {
wtdsum[5] += dirwt*buffer[2][i1*scale][j*scale];
norm+=dirwt;
}
for (j1=MAX(0,j-1); j1<MIN(width,j+2); j1+=2) {
for (j1=max(0,j-1); j1<min(width,j+2); j1+=2) {
dirwt = 1;//IDIRWT(i+1, j1, i, j);
wtdsum[0] += dirwt*smooth->L[i+1][j1];
wtdsum[1] += dirwt*smooth->a[i+1][j1];