Skip to content

Commit dfe8fb7

Browse files
committed
Get rid of FORI
Signed-off-by: Aleksandr Motsjonov <[email protected]>
1 parent 2cca6c5 commit dfe8fb7

File tree

9 files changed

+85
-79
lines changed

9 files changed

+85
-79
lines changed

src/rawtoaces_core/define.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
# define FALSE 0
3838
#endif
3939

40-
#define FORI( val ) for ( int i = 0; i < val; i++ )
4140
#define FORJ( val ) for ( int j = 0; j < val; j++ )
4241
#define FORIJ( val1, val2 ) \
4342
for ( int i = 0; i < val1; i++ ) \
@@ -270,8 +269,8 @@ inline void lowerCase( char *tex )
270269
{
271270
std::string tmp( tex );
272271

273-
FORI( tmp.size() )
274-
tex[i] = tolower( tex[i] );
272+
for ( int i = 0; i < tmp.size(); i++ )
273+
tex[i] = tolower( tex[i] );
275274
};
276275

277276
// Function to check if a value is numeric

src/rawtoaces_core/mathOps.h

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace core
2323

2424
template <typename T> int isSquare( const vector<vector<T>> &vm )
2525
{
26-
FORI( vm.size() )
26+
for ( int i = 0; i < vm.size(); i++ )
2727
{
2828
if ( vm[i].size() != vm.size() )
2929
return 0;
@@ -122,7 +122,7 @@ template <typename T> vector<T> diagV( const vector<T> &vct )
122122
int length = static_cast<int>( vct.size() );
123123
vector<T> vctdiag( length * length, T( 0.0 ) );
124124

125-
FORI( length )
125+
for ( int i = 0; i < length; i++ )
126126
{
127127
vctdiag[i * length + i] = vct[i];
128128
}
@@ -151,7 +151,8 @@ template <typename T> T sumVector( const vector<T> &vct )
151151
{
152152
Eigen::Matrix<T, Eigen::Dynamic, 1> v;
153153
v.resize( vct.size(), 1 );
154-
FORI( v.rows() ) v( i, 0 ) = vct[i];
154+
for ( int i = 0; i < v.rows(); i++ )
155+
v( i, 0 ) = vct[i];
155156

156157
return v.sum();
157158
};
@@ -176,10 +177,12 @@ template <typename T> void scaleVector( vector<T> &vct, const T scale )
176177
Eigen::Matrix<T, Eigen::Dynamic, 1> v;
177178
v.resize( vct.size(), 1 );
178179

179-
FORI( vct.size() ) v( i, 0 ) = vct[i];
180+
for ( int i = 0; i < vct.size(); i++ )
181+
v( i, 0 ) = vct[i];
180182
v *= scale;
181183

182-
FORI( vct.size() ) vct[i] = v( i, 0 );
184+
for ( int i = 0; i < vct.size(); i++ )
185+
vct[i] = v( i, 0 );
183186

184187
return;
185188
};
@@ -193,7 +196,7 @@ vector<T> mulVectorElement( const vector<T> &vct1, const vector<T> &vct2 )
193196
a1.resize( vct1.size(), 1 );
194197
a2.resize( vct1.size(), 1 );
195198

196-
FORI( a1.rows() )
199+
for ( int i = 0; i < a1.rows(); i++ )
197200
{
198201
a1( i, 0 ) = vct1[i];
199202
a2( i, 0 ) = vct2[i];
@@ -267,8 +270,8 @@ vector<T> mulVector( const vector<vector<T>> &vct1, const vector<T> &vct2 )
267270

268271
FORIJ( m1.rows(), m1.cols() )
269272
m1( i, j ) = vct1[i][j];
270-
FORI( m2.rows() )
271-
m2( i, 0 ) = vct2[i];
273+
for ( int i = 0; i < m2.rows(); i++ )
274+
m2( i, 0 ) = vct2[i];
272275

273276
m3 = m1 * m2;
274277

@@ -298,8 +301,8 @@ T calculate_SSE( const vector<T> &tcp, const vector<T> &src )
298301
vector<T> tmp( src.size() );
299302

300303
T sum = T( 0.0 );
301-
FORI( tcp.size() )
302-
sum += std::pow( ( tcp[i] / src[i] - 1.0 ), T( 2.0 ) );
304+
for ( int i = 0; i < tcp.size(); i++ )
305+
sum += std::pow( ( tcp[i] / src[i] - 1.0 ), T( 2.0 ) );
303306

304307
return sum;
305308
};
@@ -310,7 +313,7 @@ int findIndexInterp1( T val, const vector<T> &x, int size )
310313
T dist = T( 1e9 );
311314
int index = -1;
312315

313-
FORI( size )
316+
for ( int i = 0; i < size; i++ )
314317
{
315318
T tmp = val - x[i];
316319
if ( tmp < dist && tmp >= T( 0 ) )
@@ -331,7 +334,7 @@ vector<T> interp1DLinear(
331334

332335
vector<T> slope, intercept, Y1;
333336

334-
FORI( X0.size() - 1 )
337+
for ( int i = 0; i < X0.size() - 1; i++ )
335338
{
336339
slope.push_back( ( Y0[i + 1] - Y0[i] ) / ( X0[i + 1] - X0[i] ) );
337340
intercept.push_back( Y0[i] - X0[i] * slope[i] );
@@ -340,7 +343,7 @@ vector<T> interp1DLinear(
340343
slope.push_back( slope[slope.size() - 1] );
341344
intercept.push_back( intercept[intercept.size() - 1] );
342345

343-
FORI( X1.size() )
346+
for ( int i = 0; i < X1.size(); i++ )
344347
{
345348
int index = findIndexInterp1( X1[i], X0, int( X0.size() ) );
346349
if ( index != -1 )
@@ -430,7 +433,7 @@ vector<vector<T>> XYZ_to_LAB( const vector<vector<T>> &XYZ )
430433
}
431434

432435
vector<vector<T>> outCalcLab( XYZ.size(), vector<T>( 3 ) );
433-
FORI( XYZ.size() )
436+
for ( int i = 0; i < XYZ.size(); i++ )
434437
{
435438
outCalcLab[i][0] = T( 116.0 ) * tmpXYZ[i][1] - T( 16.0 );
436439
outCalcLab[i][1] = T( 500.0 ) * ( tmpXYZ[i][0] - tmpXYZ[i][1] );

src/rawtoaces_core/rawtoaces_core.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ void calculate_daylight_SPD( const int &cct_input, Spectrum &spectrum )
7272
double m1 = ( -1.3515 - 1.7703 * xy[0] + 5.9114 * xy[1] ) / m0;
7373
double m2 = ( 0.03000 - 31.4424 * xy[0] + 30.0717 * xy[1] ) / m0;
7474

75-
FORI( countSize( s_series ) )
75+
for ( int i = 0; i < countSize( s_series ); i++ )
7676
{
7777
wavelengths.push_back( s_series[i].wl );
7878
s00.push_back( s_series[i].RGB[0] );
@@ -81,7 +81,7 @@ void calculate_daylight_SPD( const int &cct_input, Spectrum &spectrum )
8181
}
8282

8383
int num_wavelengths = wavelength_range / step + 1;
84-
FORI( num_wavelengths )
84+
for ( int i = 0; i < num_wavelengths; i++ )
8585
{
8686
wavelengths_interpolated.push_back( s_series[0].wl + step * i );
8787
}
@@ -90,7 +90,7 @@ void calculate_daylight_SPD( const int &cct_input, Spectrum &spectrum )
9090
s11 = interp1DLinear( wavelengths, wavelengths_interpolated, s10 );
9191
s21 = interp1DLinear( wavelengths, wavelengths_interpolated, s20 );
9292

93-
FORI( num_wavelengths )
93+
for ( int i = 0; i < num_wavelengths; i++ )
9494
{
9595
int wavelength = s_series[0].wl + step * i;
9696
if ( wavelength >= 380 && wavelength <= 780 )
@@ -170,7 +170,7 @@ SpectralSolver::SpectralSolver(
170170
verbosity = 0;
171171
_IDT_matrix.resize( 3 );
172172
_WB_multipliers.resize( 3 );
173-
FORI( 3 )
173+
for ( int i = 0; i < 3; i++ )
174174
{
175175
_IDT_matrix[i].resize( 3 );
176176
_WB_multipliers[i] = 1.0;
@@ -691,7 +691,7 @@ bool curveFit(
691691
if ( verbosity > 1 )
692692
{
693693
printf( "The IDT matrix is ...\n" );
694-
FORI( 3 )
694+
for ( int i = 0; i < 3; i++ )
695695
{
696696
printf(
697697
" %f %f %f\n",
@@ -843,7 +843,7 @@ double light_source_to_color_temp( const unsigned short tag )
843843
{ 20, 5500 }, { 21, 6500 }, { 22, 7500 }
844844
};
845845

846-
FORI( countSize( exif_light_source_temperature_map ) )
846+
for ( int i = 0; i < countSize( exif_light_source_temperature_map ); i++ )
847847
{
848848
if ( exif_light_source_temperature_map[i][0] ==
849849
static_cast<uint16_t>( tag ) )
@@ -1108,7 +1108,7 @@ vector<double> matrix_RGB_to_XYZ( const double chromaticities[][2] )
11081108
xy_to_XYZ( vector<double>( chromaticities[3], chromaticities[3] + 2 ) );
11091109

11101110
vector<double> rgb_matrix( 9 );
1111-
FORI( 3 )
1111+
for ( int i = 0; i < 3; i++ )
11121112
{
11131113
rgb_matrix[0 + i * 3] = red_XYZ[i];
11141114
rgb_matrix[1 + i * 3] = green_XYZ[i];

tests/testDNGIdt.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ void testIDT_XYZtoCameraWeightedMatrix()
8282
mirs[0], mirs[1], mirs[2], matrix1, matrix2 );
8383
delete di;
8484

85-
FORI( countSize( matrix ) )
86-
OIIO_CHECK_EQUAL_THRESH( result[i], matrix[i], 1e-5 );
85+
for ( int i = 0; i < countSize( matrix ); i++ )
86+
OIIO_CHECK_EQUAL_THRESH( result[i], matrix[i], 1e-5 );
8787
};
8888

8989
void testIDT_FindXYZtoCameraMtx()
@@ -101,8 +101,8 @@ void testIDT_FindXYZtoCameraMtx()
101101

102102
delete di;
103103

104-
FORI( countSize( matrix ) )
105-
OIIO_CHECK_EQUAL_THRESH( result[i], matrix[i], 1e-5 );
104+
for ( int i = 0; i < countSize( matrix ); i++ )
105+
OIIO_CHECK_EQUAL_THRESH( result[i], matrix[i], 1e-5 );
106106
};
107107

108108
void testIDT_ColorTemperatureToXYZ()
@@ -111,8 +111,8 @@ void testIDT_ColorTemperatureToXYZ()
111111
double XYZ[3] = { 0.3135279229, 0.3235340821, 0.3629379950 };
112112
std::vector<double> result = rta::core::color_temperature_to_XYZ( cct );
113113

114-
FORI( countSize( XYZ ) )
115-
OIIO_CHECK_EQUAL_THRESH( result[i], XYZ[i], 1e-5 );
114+
for ( int i = 0; i < countSize( XYZ ); i++ )
115+
OIIO_CHECK_EQUAL_THRESH( result[i], XYZ[i], 1e-5 );
116116
};
117117

118118
void testIDT_MatrixRGBtoXYZ()
@@ -123,8 +123,8 @@ void testIDT_MatrixRGBtoXYZ()
123123
std::vector<double> result =
124124
rta::core::matrix_RGB_to_XYZ( rta::core::chromaticitiesACES );
125125

126-
FORI( countSize( XYZ ) )
127-
OIIO_CHECK_EQUAL_THRESH( result[i], XYZ[i], 1e-5 );
126+
for ( int i = 0; i < countSize( XYZ ); i++ )
127+
OIIO_CHECK_EQUAL_THRESH( result[i], XYZ[i], 1e-5 );
128128
};
129129

130130
void testIDT_GetDNGCATMatrix()

tests/testIDT.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ void testIDT_LoadIlluminant()
168168

169169
vector<double> &illumTestData = illuminant["power"].values;
170170
OIIO_CHECK_EQUAL( illumTestData.size(), 81 );
171-
FORI( 81 ) OIIO_CHECK_EQUAL_THRESH( illumTestData[i], iso7589[i], 1e-5 );
171+
for ( int i = 0; i < 81; i++ )
172+
OIIO_CHECK_EQUAL_THRESH( illumTestData[i], iso7589[i], 1e-5 );
172173
};
173174

174175
void testIDT_LoadTrainingData()
@@ -688,7 +689,7 @@ void testIDT_LoadCMF()
688689
{ 4.45E-05, 1.61E-05, 0 },
689690
{ 4.15E-05, 1.50E-05, 0 } };
690691

691-
FORI( 81 )
692+
for ( int i = 0; i < 81; i++ )
692693
{
693694
OIIO_CHECK_EQUAL_THRESH(
694695
spectral_data["X"].values[i], cmf[i * 5][0], 1e-5 );
@@ -780,8 +781,8 @@ void testIDT_scaleLSC()
780781
OIIO_CHECK_EQUAL( illumDataScaled.size(), 81 );
781782
OIIO_CHECK_EQUAL( illuminant.illuminant, "iso7589" );
782783
OIIO_CHECK_EQUAL( illuminant["power"].shape.step, 5 );
783-
FORI( 81 )
784-
OIIO_CHECK_EQUAL_THRESH( illumDataScaled[i], scaledIllum[i], 1e-5 );
784+
for ( int i = 0; i < 81; i++ )
785+
OIIO_CHECK_EQUAL_THRESH( illumDataScaled[i], scaledIllum[i], 1e-5 );
785786
};
786787

787788
void testIDT_CalCM()
@@ -796,7 +797,8 @@ void testIDT_CalCM()
796797

797798
float CM[81] = { 1.0000000000, 1.4418439699, 1.8703081160 };
798799

799-
FORI( 3 ) OIIO_CHECK_EQUAL_THRESH( CM[i], CM_test[i], 1e-5 );
800+
for ( int i = 0; i < 3; i++ )
801+
OIIO_CHECK_EQUAL_THRESH( CM[i], CM_test[i], 1e-5 );
800802
};
801803

802804
void testIDT_CalWB()
@@ -810,7 +812,7 @@ void testIDT_CalWB()
810812
vector<double> WB_test = _calculate_WB( camera, illuminant );
811813

812814
double WB[3] = { 1.1397265, 1.0000000, 2.3240151 };
813-
FORI( WB_test.size() )
815+
for ( int i = 0; i < WB_test.size(); i++ )
814816
{
815817
OIIO_CHECK_EQUAL_THRESH( WB[i], WB_test[i], 1e-5 );
816818
}
@@ -850,8 +852,8 @@ void testIDT_ChooseIllumSrc()
850852
};
851853

852854
OIIO_CHECK_EQUAL( illumType_Test, "d45" );
853-
FORI( illumData_Test.size() )
854-
OIIO_CHECK_EQUAL_THRESH( illumData[i], illumData_Test[i], 1e-5 );
855+
for ( int i = 0; i < illumData_Test.size(); i++ )
856+
OIIO_CHECK_EQUAL_THRESH( illumData[i], illumData_Test[i], 1e-5 );
855857
};
856858

857859
void testIDT_ChooseIllumType()
@@ -888,8 +890,8 @@ void testIDT_ChooseIllumType()
888890
};
889891

890892
OIIO_CHECK_EQUAL( illumType_Test, "iso7589" );
891-
FORI( illumData_Test.size() )
892-
OIIO_CHECK_EQUAL_THRESH( illumData[i], illumData_Test[i], 1e-5 );
893+
for ( int i = 0; i < illumData_Test.size(); i++ )
894+
OIIO_CHECK_EQUAL_THRESH( illumData[i], illumData_Test[i], 1e-5 );
893895
};
894896

895897
void testIDT_CalTI()

tests/testIllum.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ void testIllum_readSPD()
6060

6161
vector<double> &illumTestData = illuminant["power"].values;
6262
OIIO_CHECK_EQUAL( illumTestData.size(), 81 );
63-
FORI( 81 ) OIIO_CHECK_EQUAL_THRESH( illumTestData[i], iso7589[i], 1e-5 );
63+
for ( int i = 0; i < 81; i++ )
64+
OIIO_CHECK_EQUAL_THRESH( illumTestData[i], iso7589[i], 1e-5 );
6465
};
6566

6667
void testIllum_calDayLightSPD()
@@ -99,8 +100,8 @@ void testIllum_calDayLightSPD()
99100
};
100101

101102
vector<double> &data = illuminant.values;
102-
FORI( data.size() )
103-
OIIO_CHECK_EQUAL_THRESH( data[i], spd[i], 1e-5 );
103+
for ( int i = 0; i < data.size(); i++ )
104+
OIIO_CHECK_EQUAL_THRESH( data[i], spd[i], 1e-5 );
104105
};
105106

106107
void testIllum_calBlackBodySPD()
@@ -129,8 +130,8 @@ void testIllum_calBlackBodySPD()
129130
};
130131

131132
vector<double> &data = illuminant.values;
132-
FORI( data.size() )
133-
OIIO_CHECK_EQUAL_THRESH( data[i] * 1e-12, spd[i], 1e-5 );
133+
for ( int i = 0; i < data.size(); i++ )
134+
OIIO_CHECK_EQUAL_THRESH( data[i] * 1e-12, spd[i], 1e-5 );
134135
};
135136

136137
int main( int, char ** )

tests/testLogic.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,21 @@ void test_getCAT()
2222

2323
vector<double> src( D65, D65 + 3 );
2424
vector<double> des( D60, D60 + 3 );
25-
// FORI(3) src[i]= D65[i];
26-
// FORI(3) des[i]= D60[i];
2725

2826
vector<vector<double>> final_Output_getCAT = calculate_CAT( src, des );
2927

3028
vector<double> destination( 3, 0 );
3129

32-
FORI( 3 )
33-
destination[i] = final_Output_getCAT[i][0] * src[0] +
34-
final_Output_getCAT[i][1] * src[1] +
35-
final_Output_getCAT[i][2] * src[2];
30+
for ( int i = 0; i < 3; i++ )
31+
destination[i] = final_Output_getCAT[i][0] * src[0] +
32+
final_Output_getCAT[i][1] * src[1] +
33+
final_Output_getCAT[i][2] * src[2];
3634

3735
OIIO_CHECK_EQUAL_THRESH( destination[0], des[0], 1e-9 );
3836
OIIO_CHECK_EQUAL_THRESH( destination[1], des[1], 1e-9 );
3937
OIIO_CHECK_EQUAL_THRESH( destination[2], des[2], 1e-9 );
4038

41-
FORI( 3 )
39+
for ( int i = 0; i < 3; i++ )
4240
{
4341
OIIO_CHECK_EQUAL_THRESH(
4442
final_Output_getCAT[i][0], final_matrix[i][0], 5 );

0 commit comments

Comments
 (0)