1313
1414using namespace rta ::core;
1515
16- void test_InvertD ()
17- {
18- double a = 1.0 ;
19- OIIO_CHECK_EQUAL_THRESH ( invertD ( a ), 1.0 , 1e-9 );
20-
21- double b = 1000.0 ;
22- OIIO_CHECK_EQUAL_THRESH ( invertD ( b ), 0.001 , 1e-9 );
23-
24- double c = 1000000.0 ;
25- OIIO_CHECK_EQUAL_THRESH ( invertD ( c ), 0.000001 , 1e-9 );
26- };
27-
28- void test_Clip ()
29- {
30- double a = 254.9 ;
31- OIIO_CHECK_EQUAL_THRESH ( clip ( a, 255.0 ), a, 1e-5 );
32-
33- double b = 255.1 ;
34- OIIO_CHECK_EQUAL_THRESH ( clip ( b, 255.0 ), 255.0 , 1e-5 );
35-
36- double c = 63355.0 ;
37- OIIO_CHECK_EQUAL_THRESH ( clip ( c, 63355.0 ), c, 1e-5 );
38- };
39-
4016void test_IsSquare ()
4117{
4218 vector<vector<double >> a;
@@ -126,24 +102,6 @@ void test_InvertV()
126102 FORI ( 9 ) OIIO_CHECK_EQUAL_THRESH ( V_Inverse[i], MV_Inverse[i], 1e-5 );
127103};
128104
129- void test_DiagVM ()
130- {
131- double M[3 ][3 ] = { { 1.0 , 0.0 , 0.0 },
132- { 0.0 , 2.0 , 0.0 },
133- { 0.0 , 0.0 , 3.0 } };
134-
135- double vd[3 ] = { 1.0 , 2.0 , 3.0 };
136- vector<double > MV ( vd, vd + 3 );
137- vector<vector<double >> MVD = diagVM ( MV );
138-
139- FORI ( 3 )
140- {
141- OIIO_CHECK_EQUAL_THRESH ( MVD[i][0 ], M[i][0 ], 1e-5 );
142- OIIO_CHECK_EQUAL_THRESH ( MVD[i][1 ], M[i][1 ], 1e-5 );
143- OIIO_CHECK_EQUAL_THRESH ( MVD[i][2 ], M[i][2 ], 1e-5 );
144- }
145- };
146-
147105void test_DiagV ()
148106{
149107 double v[3 ] = { 1.0 , 2.0 , 3.0 };
@@ -200,41 +158,6 @@ void test_SumVector()
200158 OIIO_CHECK_EQUAL_THRESH ( sum, 55.0000 , 1e-5 );
201159};
202160
203- void test_ScaleVectorMax ()
204- {
205- double M[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
206- double M_Scaled[10 ] = { 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1.0 };
207- vector<double > MV ( M, M + 10 );
208-
209- scale_vector_max ( MV );
210- FORI ( MV.size () )
211- OIIO_CHECK_EQUAL_THRESH ( M_Scaled[i], MV[i], 1e-5 );
212- };
213-
214- void test_ScaleVectorMin ()
215- {
216- double M[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
217- vector<double > MV ( M, M + 10 );
218-
219- scale_vector_min ( MV );
220- FORI ( MV.size () )
221- OIIO_CHECK_EQUAL_THRESH ( M[i], MV[i], 1e-5 );
222- };
223-
224- void test_scaleVectorD ()
225- {
226- double M[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
227- double M_Scaled[10 ] = { 10.0000000000 , 5.0000000000 , 3.3333333333 ,
228- 2.5000000000 , 2.0000000000 , 1.6666666667 ,
229- 1.4285714286 , 1.2500000000 , 1.1111111111 ,
230- 1.0000000000 };
231- vector<double > MV ( M, M + 10 );
232-
233- scaleVectorD ( MV );
234- FORI ( MV.size () )
235- OIIO_CHECK_EQUAL_THRESH ( MV[i], M_Scaled[i], 1e-5 );
236- };
237-
238161void test_MulVectorElement ()
239162{
240163 double M1[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
@@ -249,19 +172,6 @@ void test_MulVectorElement()
249172 OIIO_CHECK_EQUAL_THRESH ( MV3[i], 10.0000000000 , 1e-5 );
250173};
251174
252- void test_DivVectorElement ()
253- {
254- double M1[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
255- double M2[10 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 , 10.0 };
256-
257- vector<double > MV1 ( M1, M1 + 10 );
258- vector<double > MV2 ( M2, M2 + 10 );
259-
260- vector<double > MV3 = divVectorElement ( MV1, MV2 );
261- FORI ( MV3.size () )
262- OIIO_CHECK_EQUAL_THRESH ( MV3[i], 1.0000000000 , 1e-5 );
263- };
264-
265175void test_MulVector1 ()
266176{
267177 double M1[3 ][3 ] = { { 1.0 , 0.0 , 0.0 },
@@ -312,61 +222,6 @@ void test_MulVector2()
312222 OIIO_CHECK_EQUAL_THRESH ( MV3[i], M2[i], 1e-5 );
313223};
314224
315- void test_MulVectorArray ()
316- {
317- double data[9 ] = { 1.0 , 2.0 , 3.0 , 4.0 , 5.0 , 6.0 , 7.0 , 8.0 , 9.0 };
318- double M[3 ][3 ] = { { 1.0000000000 , 0.1000000000 , 0.0100000000 },
319- { 0.1000000000 , 2.0000000000 , 0.0100000000 },
320- { 0.1000000000 , 0.0100000000 , 3.0000000000 }
321-
322- };
323-
324- double data_test[9 ] = { 1.2300000000 , 4.13000000000 , 9.12000000000 ,
325- 4.5600000000 , 10.4600000000 , 18.4500000000 ,
326- 7.8900000000 , 16.7900000000 , 27.7800000000 };
327-
328- vector<vector<double >> MV ( 3 , vector<double >( 3 ) );
329- FORIJ ( 3 , 3 )
330- MV[i][j] = M[i][j];
331-
332- mulVectorArray ( data, 9 , 3 , MV );
333- FORI ( 9 )
334- OIIO_CHECK_EQUAL_THRESH ( data[i], data_test[i], 1e-5 );
335- };
336-
337- void test_SolveVM ()
338- {
339- double M1[3 ][3 ] = { { 1.0000000000 , 0.0000000000 , 0.0000000000 },
340- { 0.0000000000 , 2.0000000000 , 0.0000000000 },
341- { 0.0000000000 , 0.0000000000 , 3.0000000000 }
342-
343- };
344- double M2[3 ][3 ] = { { 1.0000000000 , 0.0000000000 , 0.0000000000 },
345- { 0.0000000000 , 1.0000000000 , 0.0000000000 },
346- { 0.0000000000 , 0.0000000000 , 1.0000000000 }
347-
348- };
349-
350- double M3_test[3 ][3 ] = { { 1.0000000000 , 0.0000000000 , 0.0000000000 },
351- { 0.0000000000 , 0.5000000000 , 0.0000000000 },
352- { 0.0000000000 , 0.0000000000 , 0.3333333333 }
353-
354- };
355-
356- vector<vector<double >> MV1 ( 3 , vector<double >( 3 ) );
357- vector<vector<double >> MV2 ( 3 , vector<double >( 3 ) );
358-
359- FORIJ ( 3 , 3 )
360- {
361- MV1[i][j] = M1[i][j];
362- MV2[i][j] = M2[i][j];
363- }
364-
365- vector<vector<double >> MV3 = solveVM ( MV1, MV2 );
366- FORIJ ( 3 , 3 )
367- OIIO_CHECK_EQUAL_THRESH ( MV3[i][j], M3_test[i][j], 1e-5 );
368- };
369-
370225void test_FindIndexInterp1 ()
371226{
372227 int M[100 ];
@@ -909,27 +764,18 @@ void test_GetCalcXYZt()
909764
910765int main ( int , char ** )
911766{
912- test_InvertD ();
913- test_Clip ();
914767 test_IsSquare ();
915768 test_AddVectors ();
916769 test_SubVectors ();
917770 test_Cross2 ();
918771 test_InvertVM ();
919772 test_InvertV ();
920- test_DiagVM ();
921773 test_DiagV ();
922774 test_TransposeVec ();
923775 test_SumVector ();
924- test_ScaleVectorMax ();
925- test_ScaleVectorMin ();
926- test_scaleVectorD ();
927776 test_MulVectorElement ();
928- test_DivVectorElement ();
929777 test_MulVector1 ();
930778 test_MulVector2 ();
931- test_MulVectorArray ();
932- test_SolveVM ();
933779 test_FindIndexInterp1 ();
934780 test_Interp1DLinear ();
935781 testIDT_XytoXYZ ();
0 commit comments