resize_matrix corrected and test modified. 04/9704/2
Cedric Delamarre [Thu, 15 Nov 2012 10:04:14 +0000 (11:04 +0100)]
test_run("elementary_functions","resize_matrix",["no_check_error_output" ]);

Change-Id: I6c989209e672509d16a1548fab147ee79ed37f66

scilab/modules/elementary_functions/macros/resize_matrix.sci
scilab/modules/elementary_functions/tests/unit_tests/resize_matrix.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/resize_matrix.tst

index 21f45f3..adbb651 100644 (file)
@@ -45,7 +45,12 @@ function resMat = resize_matrix(mat, nbRow, nbCol, typeOfMat)
     // boolean matrix
     // intialized it to false
     resMat = (z == 1);
-    resMat(1:minRow, 1:minCol) = (mat(1:minRow, 1:minCol) == 1);
+    if typeof(mat) == 'boolean' then
+        resMat(1:minRow, 1:minCol) = (mat(1:minRow, 1:minCol) == %t);
+    else
+        resMat(1:minRow, 1:minCol) = (mat(1:minRow, 1:minCol) == 1);
+    end
+
     return
   case 'int8' then
     mat = int8(mat);
index 5a8fe43..7883ba3 100644 (file)
@@ -4,8 +4,8 @@
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-myMat =[     0.6029980    4.2470508    3.2442814    3.7427533  
-    1.4276821    2.6285304    4.9615955    2.0520295  
+myMat =[     0.6029980    4.2470508    3.2442814    3.7427533
+    1.4276821    2.6285304    4.9615955    2.0520295
     4.3037573    4.9656049    0.2502099    3.0422632  ];
 myMat = resize_matrix( myMat, 3, 3 ) // reduce the matrix size
  myMat  =
@@ -38,6 +38,9 @@ assert_checkequal(size(myMatBoolean), [2, 2]);
 myMatBoolean = resize_matrix( myMatBoolean, 3, 5 );
 assert_checkequal(myMatBoolean, [%f,%f,%f,%f,%f;%f,%f,%f,%f,%f;%f,%f,%f,%f,%f]);
 assert_checkequal(size(myMatBoolean), [3, 5]);
+myMatBoolean(1:4:9) = %t;
+myMatBoolean = resize_matrix(myMatBoolean, 3, 3);
+assert_checkequal(myMatBoolean, [%t %f %f; %f %t %f; %f %f %t]);
 // string matrix
 myMatString = ["Scilab","the";"Open Source","Scientific";"Software","Package"];
 myMatString = resize_matrix( myMatString, 3, 1 );
index bd6c859..2f12204 100644 (file)
@@ -5,8 +5,8 @@
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 
-myMat =[     0.6029980    4.2470508    3.2442814    3.7427533  
-    1.4276821    2.6285304    4.9615955    2.0520295  
+myMat =[     0.6029980    4.2470508    3.2442814    3.7427533
+    1.4276821    2.6285304    4.9615955    2.0520295
     4.3037573    4.9656049    0.2502099    3.0422632  ];
 
 myMat = resize_matrix( myMat, 3, 3 ) // reduce the matrix size
@@ -35,6 +35,10 @@ myMatBoolean = resize_matrix( myMatBoolean, 3, 5 );
 assert_checkequal(myMatBoolean, [%f,%f,%f,%f,%f;%f,%f,%f,%f,%f;%f,%f,%f,%f,%f]);
 assert_checkequal(size(myMatBoolean), [3, 5]);
 
+myMatBoolean(1:4:9) = %t;
+myMatBoolean = resize_matrix(myMatBoolean, 3, 3);
+assert_checkequal(myMatBoolean, [%t %f %f; %f %t %f; %f %f %t]);
+
 // string matrix
 myMatString = ["Scilab","the";"Open Source","Scientific";"Software","Package"];
 myMatString = resize_matrix( myMatString, 3, 1 );