fix integer tests 45/18845/3
Antoine ELIAS [Thu, 5 Jan 2017 11:09:15 +0000 (12:09 +0100)]
Change-Id: Ib192872a3164bfaab03c6eb8342e43d5e34965f8

scilab/modules/integer/macros/%i_i_i.sci
scilab/modules/integer/tests/nonreg_tests/bug_3842.dia.ref
scilab/modules/integer/tests/nonreg_tests/bug_546.dia.ref
scilab/modules/integer/tests/nonreg_tests/bug_546.tst
scilab/modules/integer/tests/nonreg_tests/bug_623.dia.ref
scilab/modules/integer/tests/nonreg_tests/bug_623.tst

index ad92594..c57d241 100644 (file)
@@ -19,7 +19,7 @@ function left=%i_i_i(varargin)
     left  = varargin($);
     right = varargin($-1);
 
-    right = iconvert(rigth, inttype(left));
+    right = iconvert(right, inttype(left));
 
     left(varargin(1:$-2)) = right;
 endfunction
index 1d29a3b..7da1f9a 100644 (file)
@@ -21,7 +21,7 @@ exec SCI/modules/elementary_functions/tests/unit_tests/prod.tst
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- CLI SHELL MODE 
+// <-- CLI SHELL MODE -->
 // prod
 // Check error
 d=[1 10;254 9];
@@ -161,8 +161,8 @@ T=list(list(),list("native"),list("double"));
 for typ=T
     assert_checkequal(prod(d, typ(:)), 22860);
     assert_checkequal(prod(d, "*", typ(:)), 22860);
-    assert_checkequal(prod(d, 1, typ(:)), hypermat([1,2,2],[254;90;1;1]));
-    assert_checkequal(prod(d, 2, typ(:)), hypermat([2,1,2],[10;2286;1;1]));
+    assert_checkequal(prod(d, 1, typ(:)), matrix([254;90;1;1], [1,2,2]));
+    assert_checkequal(prod(d, 2, typ(:)), matrix([10;2286;1;1], [2,1,2]));
     assert_checkequal(prod(d, 3, typ(:)), [1,10;254,9]);
     assert_checkequal(prod(d, 5, typ(:)), d);
 end
@@ -188,15 +188,15 @@ T = list(list(),list("native"));
 for typ=T
     assert_checkequal(prod(i, typ(:)), uint8(76));
     assert_checkequal(prod(i, "*", typ(:)), uint8(76));
-    assert_checkequal(prod(i, 1, typ(:)), hypermat([1,2,2],uint8([254;90;1;1])));
-    assert_checkequal(prod(i, 2, typ(:)), hypermat([2,1,2],uint8([10;238;1;1])));
+    assert_checkequal(prod(i, 1, typ(:)), matrix(uint8([254;90;1;1]), [1,2,2]));
+    assert_checkequal(prod(i, 2, typ(:)), matrix(uint8([10;238;1;1]), [2,1,2]));
     assert_checkequal(prod(i, 3, typ(:)), uint8([1,10;254,9]));
     assert_checkequal(prod(i, 5, typ(:)), i);
 end
 assert_checkequal(prod(i, "double"), 22860);
 assert_checkequal(prod(i, "*", "double"), 22860);
-assert_checkequal(prod(i, 1, "double"), hypermat([1,2,2],[254;90;1;1]));
-assert_checkequal(prod(i, 2, "double"), hypermat([2,1,2],[10;2286;1;1]));
+assert_checkequal(prod(i, 1, "double"), matrix([254;90;1;1], [1,2,2]));
+assert_checkequal(prod(i, 2, "double"), matrix([10;2286;1;1], [2,1,2]));
 assert_checkequal(prod(i, 3, "double"), [1,10;254,9]);
 assert_checkequal(prod(i, 5, "double"), double(i));
 //Polynomials
@@ -215,8 +215,8 @@ T=list(list(),list("native"),list("double"));
 for typ=T
     assert_checkequal(prod(p, typ(:)), 2*s^4+4*s^5+2*s^6);
     assert_checkequal(prod(p, "*", typ(:)), 2*s^4+4*s^5+2*s^6);
-    assert_checkequal(prod(p, 1, typ(:)), hypermat([1,2,2],[s^3;1+s;1+s;2*s]));
-    assert_checkequal(prod(p, 2, typ(:)), hypermat([2,1,2],[s+s^2;s^2;s;2+2*s]));
+    assert_checkequal(prod(p, 1, typ(:)), matrix([s^3;1+s;1+s;2*s], [1,2,2]));
+    assert_checkequal(prod(p, 2, typ(:)), matrix([s+s^2;s^2;s;2+2*s], [2,1,2]));
     assert_checkequal(prod(p, 3, typ(:)), [s,s+s^2;s^2+s^3,2]);
     assert_checkequal(prod(p, 5, typ(:)), p);
 end
@@ -253,15 +253,15 @@ T = list(list(),list("double"));
 for typ=T
     assert_checkequal(prod(b, typ(:)), 0);
     assert_checkequal(prod(b, "*", typ(:)), 0);
-    assert_checkequal(prod(b, 1, typ(:)), hypermat([1,2,2],[0;1;0;0]));
-    assert_checkequal(prod(b, 2, typ(:)), hypermat([2,1,2],[1;0;0;0]));
+    assert_checkequal(prod(b, 1, typ(:)), matrix([0;1;0;0], [1,2,2]));
+    assert_checkequal(prod(b, 2, typ(:)), matrix([1;0;0;0], [2,1,2]));
     assert_checkequal(prod(b, 3, typ(:)), [1,0;0,0]);
     assert_checkequal(prod(b, 5, typ(:)), double(b));
 end
 assert_checkequal(prod(b, "native"), %f);
 assert_checkequal(prod(b, "*", "native"), %f);
-assert_checkequal(prod(b, 1, "native"), hypermat([1,2,2],[%f;%t;%f;%f]));
-assert_checkequal(prod(b, 2, "native"), hypermat([2,1,2],[%t;%f;%f;%f]));
+assert_checkequal(prod(b, 1, "native"), matrix([%f;%t;%f;%f], [1,2,2]));
+assert_checkequal(prod(b, 2, "native"), matrix([%t;%f;%f;%f], [2,1,2]));
 assert_checkequal(prod(b, 3, "native"), [%t,%f;%f,%f]);
 assert_checkequal(prod(b, 5, "native"), b);
 //=======================================================================
@@ -301,7 +301,7 @@ exec SCI/modules/elementary_functions/tests/unit_tests/cumprod.tst
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- CLI SHELL MODE 
+// <-- CLI SHELL MODE -->
 // Check error
 //==============================================================================
 //float matrices
@@ -442,11 +442,11 @@ end
 d=[1 10;254 9];d(1,1,2)=1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumprod(d,typ(:)), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-    assert_checkequal(cumprod(d,"*",typ(:)), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-    assert_checkequal(cumprod(d,1,typ(:)), hypermat([2,2,2],[1;254;10;90;1;0;0;0]));
-    assert_checkequal(cumprod(d,2,typ(:)), hypermat([2,2,2],[1;254;10;2286;1;0;0;0]));
-    assert_checkequal(cumprod(d,3,typ(:)), hypermat([2,2,2],[1;254;10;9;1;0;0;0]));
+    assert_checkequal(cumprod(d,typ(:)), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,"*",typ(:)), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,1,typ(:)), matrix([1;254;10;90;1;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,2,typ(:)), matrix([1;254;10;2286;1;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,3,typ(:)), matrix([1;254;10;9;1;0;0;0], [2,2,2]));
     assert_checkequal(cumprod(d,5,typ(:)), d);
 end
 //=======================================================================
@@ -467,18 +467,18 @@ assert_checkequal(cumprod(i,3,"double"), double(i));
 //with hypermatrices
 i=uint8([1 10;254 9]);i(1,1,2)=uint8(1);
 for typ=list(list(),list("native"));
-    assert_checkequal(cumprod(i,typ(:)), hypermat([2,2,2],uint8([1;254;236;76;76;0;0;0])));
-    assert_checkequal(cumprod(i,"*",typ(:)), hypermat([2,2,2],uint8([1;254;236;76;76;0;0;0])));
-    assert_checkequal(cumprod(i,1,typ(:)), hypermat([2,2,2],uint8([1;254;10;90;1;0;0;0])));
-    assert_checkequal(cumprod(i,2,typ(:)), hypermat([2,2,2],uint8([1;254;10;238;1;0;0;0])));
-    assert_checkequal(cumprod(i,3,typ(:)), hypermat([2,2,2],uint8([1;254;10;9;1;0;0;0])));
+    assert_checkequal(cumprod(i,typ(:)), matrix(uint8([1;254;236;76;76;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,"*",typ(:)), matrix(uint8([1;254;236;76;76;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,1,typ(:)), matrix(uint8([1;254;10;90;1;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,2,typ(:)), matrix(uint8([1;254;10;238;1;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,3,typ(:)), matrix(uint8([1;254;10;9;1;0;0;0]), [2,2,2]));
     assert_checkequal(cumprod(i,5,typ(:)), double(i));
 end
-assert_checkequal(cumprod(i,"double"), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-assert_checkequal(cumprod(i,"*","double"), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-assert_checkequal(cumprod(i,1,"double"), hypermat([2,2,2],[1;254;10;90;1;0;0;0]));
-assert_checkequal(cumprod(i,2,"double"), hypermat([2,2,2],[1;254;10;2286;1;0;0;0]));
-assert_checkequal(cumprod(i,3,"double"), hypermat([2,2,2],[1;254;10;9;1;0;0;0]));
+assert_checkequal(cumprod(i,"double"), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,"*","double"), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,1,"double"), matrix([1;254;10;90;1;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,2,"double"), matrix([1;254;10;2286;1;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,3,"double"), matrix([1;254;10;9;1;0;0;0], [2,2,2]));
 assert_checkequal(cumprod(i,5,"double"), double(i));
 //=======================================================================
 //Matrices of Polynomials
@@ -495,11 +495,11 @@ end
 s=%s;p=[s s+1;s^2 0];p(1,1,2)=-1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumprod(p,typ(:)), hypermat([2,2,2],[s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,"*",typ(:)), hypermat([2,2,2],[s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,1,typ(:)), hypermat([2,2,2],[s;s^3;1+s;0*s;-1;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,2,typ(:)), hypermat([2,2,2],[s;s^2;s+s^2;0*s;-1;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,3,typ(:)), hypermat([2,2,2],[s;s^2;1+s;0*s;-s;0*s;0*s;0*s]));
+    assert_checkequal(cumprod(p,typ(:)), matrix([s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,"*",typ(:)), matrix([s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,1,typ(:)), matrix([s;s^3;1+s;0*s;-1;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,2,typ(:)), matrix([s;s^2;s+s^2;0*s;-1;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,3,typ(:)), matrix([s;s^2;1+s;0*s;-s;0*s;0*s;0*s], [2,2,2]));
     assert_checkequal(cumprod(p,5,typ(:)), p);
 end
 //=======================================================================
@@ -531,18 +531,18 @@ assert_checkequal(cumprod(b,3,"native"), b);
 //with hypermatrices
 b=[%t %t;%f %t];b(1,1,2)=%f;
 for typ=list(list(),list("double"));
-    assert_checkequal(cumprod(b,typ(:)), hypermat([2,2,2],[1;0;0;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,"*",typ(:)), hypermat([2,2,2],[1;0;0;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,1,typ(:)), hypermat([2,2,2],[1;0;1;1;0;0;0;0]));
-    assert_checkequal(cumprod(b,2,typ(:)), hypermat([2,2,2],[1;0;1;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,3,typ(:)), hypermat([2,2,2],[1;0;1;1;0;0;0;0]));
+    assert_checkequal(cumprod(b,typ(:)), matrix([1;0;0;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,"*",typ(:)), matrix([1;0;0;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,1,typ(:)), matrix([1;0;1;1;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,2,typ(:)), matrix([1;0;1;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,3,typ(:)), matrix([1;0;1;1;0;0;0;0], [2,2,2]));
     assert_checkequal(cumprod(b,5,typ(:)), double(b));
 end
-assert_checkequal(cumprod(b,"native"), hypermat([2,2,2],[%t;%f;%f;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,"*","native"), hypermat([2,2,2],[%t;%f;%f;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,1,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,2,"native"), hypermat([2,2,2],[%t;%f;%t;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,3,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
+assert_checkequal(cumprod(b,"native"), matrix([%t;%f;%f;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,"*","native"), matrix([%t;%f;%f;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,1,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,2,"native"), matrix([%t;%f;%t;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,3,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
 assert_checkequal(cumprod(b,5,"native"), b);
 //=======================================================================
 //sparse matrices of floats
@@ -579,7 +579,7 @@ exec SCI/modules/elementary_functions/tests/unit_tests/prod.tst
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- CLI SHELL MODE 
+// <-- CLI SHELL MODE -->
 // prod
 // Check error
 d=[1 10;254 9];
@@ -719,8 +719,8 @@ T=list(list(),list("native"),list("double"));
 for typ=T
     assert_checkequal(prod(d, typ(:)), 22860);
     assert_checkequal(prod(d, "*", typ(:)), 22860);
-    assert_checkequal(prod(d, 1, typ(:)), hypermat([1,2,2],[254;90;1;1]));
-    assert_checkequal(prod(d, 2, typ(:)), hypermat([2,1,2],[10;2286;1;1]));
+    assert_checkequal(prod(d, 1, typ(:)), matrix([254;90;1;1], [1,2,2]));
+    assert_checkequal(prod(d, 2, typ(:)), matrix([10;2286;1;1], [2,1,2]));
     assert_checkequal(prod(d, 3, typ(:)), [1,10;254,9]);
     assert_checkequal(prod(d, 5, typ(:)), d);
 end
@@ -746,15 +746,15 @@ T = list(list(),list("native"));
 for typ=T
     assert_checkequal(prod(i, typ(:)), uint8(76));
     assert_checkequal(prod(i, "*", typ(:)), uint8(76));
-    assert_checkequal(prod(i, 1, typ(:)), hypermat([1,2,2],uint8([254;90;1;1])));
-    assert_checkequal(prod(i, 2, typ(:)), hypermat([2,1,2],uint8([10;238;1;1])));
+    assert_checkequal(prod(i, 1, typ(:)), matrix(uint8([254;90;1;1]), [1,2,2]));
+    assert_checkequal(prod(i, 2, typ(:)), matrix(uint8([10;238;1;1]), [2,1,2]));
     assert_checkequal(prod(i, 3, typ(:)), uint8([1,10;254,9]));
     assert_checkequal(prod(i, 5, typ(:)), i);
 end
 assert_checkequal(prod(i, "double"), 22860);
 assert_checkequal(prod(i, "*", "double"), 22860);
-assert_checkequal(prod(i, 1, "double"), hypermat([1,2,2],[254;90;1;1]));
-assert_checkequal(prod(i, 2, "double"), hypermat([2,1,2],[10;2286;1;1]));
+assert_checkequal(prod(i, 1, "double"), matrix([254;90;1;1], [1,2,2]));
+assert_checkequal(prod(i, 2, "double"), matrix([10;2286;1;1], [2,1,2]));
 assert_checkequal(prod(i, 3, "double"), [1,10;254,9]);
 assert_checkequal(prod(i, 5, "double"), double(i));
 //Polynomials
@@ -773,8 +773,8 @@ T=list(list(),list("native"),list("double"));
 for typ=T
     assert_checkequal(prod(p, typ(:)), 2*s^4+4*s^5+2*s^6);
     assert_checkequal(prod(p, "*", typ(:)), 2*s^4+4*s^5+2*s^6);
-    assert_checkequal(prod(p, 1, typ(:)), hypermat([1,2,2],[s^3;1+s;1+s;2*s]));
-    assert_checkequal(prod(p, 2, typ(:)), hypermat([2,1,2],[s+s^2;s^2;s;2+2*s]));
+    assert_checkequal(prod(p, 1, typ(:)), matrix([s^3;1+s;1+s;2*s], [1,2,2]));
+    assert_checkequal(prod(p, 2, typ(:)), matrix([s+s^2;s^2;s;2+2*s], [2,1,2]));
     assert_checkequal(prod(p, 3, typ(:)), [s,s+s^2;s^2+s^3,2]);
     assert_checkequal(prod(p, 5, typ(:)), p);
 end
@@ -811,15 +811,15 @@ T = list(list(),list("double"));
 for typ=T
     assert_checkequal(prod(b, typ(:)), 0);
     assert_checkequal(prod(b, "*", typ(:)), 0);
-    assert_checkequal(prod(b, 1, typ(:)), hypermat([1,2,2],[0;1;0;0]));
-    assert_checkequal(prod(b, 2, typ(:)), hypermat([2,1,2],[1;0;0;0]));
+    assert_checkequal(prod(b, 1, typ(:)), matrix([0;1;0;0], [1,2,2]));
+    assert_checkequal(prod(b, 2, typ(:)), matrix([1;0;0;0], [2,1,2]));
     assert_checkequal(prod(b, 3, typ(:)), [1,0;0,0]);
     assert_checkequal(prod(b, 5, typ(:)), double(b));
 end
 assert_checkequal(prod(b, "native"), %f);
 assert_checkequal(prod(b, "*", "native"), %f);
-assert_checkequal(prod(b, 1, "native"), hypermat([1,2,2],[%f;%t;%f;%f]));
-assert_checkequal(prod(b, 2, "native"), hypermat([2,1,2],[%t;%f;%f;%f]));
+assert_checkequal(prod(b, 1, "native"), matrix([%f;%t;%f;%f], [1,2,2]));
+assert_checkequal(prod(b, 2, "native"), matrix([%t;%f;%f;%f], [2,1,2]));
 assert_checkequal(prod(b, 3, "native"), [%t,%f;%f,%f]);
 assert_checkequal(prod(b, 5, "native"), b);
 //=======================================================================
@@ -859,7 +859,7 @@ exec SCI/modules/elementary_functions/tests/unit_tests/cumprod.tst
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-// <-- CLI SHELL MODE 
+// <-- CLI SHELL MODE -->
 // Check error
 //==============================================================================
 //float matrices
@@ -1000,11 +1000,11 @@ end
 d=[1 10;254 9];d(1,1,2)=1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumprod(d,typ(:)), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-    assert_checkequal(cumprod(d,"*",typ(:)), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-    assert_checkequal(cumprod(d,1,typ(:)), hypermat([2,2,2],[1;254;10;90;1;0;0;0]));
-    assert_checkequal(cumprod(d,2,typ(:)), hypermat([2,2,2],[1;254;10;2286;1;0;0;0]));
-    assert_checkequal(cumprod(d,3,typ(:)), hypermat([2,2,2],[1;254;10;9;1;0;0;0]));
+    assert_checkequal(cumprod(d,typ(:)), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,"*",typ(:)), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,1,typ(:)), matrix([1;254;10;90;1;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,2,typ(:)), matrix([1;254;10;2286;1;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(d,3,typ(:)), matrix([1;254;10;9;1;0;0;0], [2,2,2]));
     assert_checkequal(cumprod(d,5,typ(:)), d);
 end
 //=======================================================================
@@ -1025,18 +1025,18 @@ assert_checkequal(cumprod(i,3,"double"), double(i));
 //with hypermatrices
 i=uint8([1 10;254 9]);i(1,1,2)=uint8(1);
 for typ=list(list(),list("native"));
-    assert_checkequal(cumprod(i,typ(:)), hypermat([2,2,2],uint8([1;254;236;76;76;0;0;0])));
-    assert_checkequal(cumprod(i,"*",typ(:)), hypermat([2,2,2],uint8([1;254;236;76;76;0;0;0])));
-    assert_checkequal(cumprod(i,1,typ(:)), hypermat([2,2,2],uint8([1;254;10;90;1;0;0;0])));
-    assert_checkequal(cumprod(i,2,typ(:)), hypermat([2,2,2],uint8([1;254;10;238;1;0;0;0])));
-    assert_checkequal(cumprod(i,3,typ(:)), hypermat([2,2,2],uint8([1;254;10;9;1;0;0;0])));
+    assert_checkequal(cumprod(i,typ(:)), matrix(uint8([1;254;236;76;76;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,"*",typ(:)), matrix(uint8([1;254;236;76;76;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,1,typ(:)), matrix(uint8([1;254;10;90;1;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,2,typ(:)), matrix(uint8([1;254;10;238;1;0;0;0]), [2,2,2]));
+    assert_checkequal(cumprod(i,3,typ(:)), matrix(uint8([1;254;10;9;1;0;0;0]), [2,2,2]));
     assert_checkequal(cumprod(i,5,typ(:)), double(i));
 end
-assert_checkequal(cumprod(i,"double"), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-assert_checkequal(cumprod(i,"*","double"), hypermat([2,2,2],[1;254;2540;22860;22860;0;0;0]));
-assert_checkequal(cumprod(i,1,"double"), hypermat([2,2,2],[1;254;10;90;1;0;0;0]));
-assert_checkequal(cumprod(i,2,"double"), hypermat([2,2,2],[1;254;10;2286;1;0;0;0]));
-assert_checkequal(cumprod(i,3,"double"), hypermat([2,2,2],[1;254;10;9;1;0;0;0]));
+assert_checkequal(cumprod(i,"double"), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,"*","double"), matrix([1;254;2540;22860;22860;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,1,"double"), matrix([1;254;10;90;1;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,2,"double"), matrix([1;254;10;2286;1;0;0;0], [2,2,2]));
+assert_checkequal(cumprod(i,3,"double"), matrix([1;254;10;9;1;0;0;0], [2,2,2]));
 assert_checkequal(cumprod(i,5,"double"), double(i));
 //=======================================================================
 //Matrices of Polynomials
@@ -1053,11 +1053,11 @@ end
 s=%s;p=[s s+1;s^2 0];p(1,1,2)=-1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumprod(p,typ(:)), hypermat([2,2,2],[s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,"*",typ(:)), hypermat([2,2,2],[s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,1,typ(:)), hypermat([2,2,2],[s;s^3;1+s;0*s;-1;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,2,typ(:)), hypermat([2,2,2],[s;s^2;s+s^2;0*s;-1;0*s;0*s;0*s]));
-    assert_checkequal(cumprod(p,3,typ(:)), hypermat([2,2,2],[s;s^2;1+s;0*s;-s;0*s;0*s;0*s]));
+    assert_checkequal(cumprod(p,typ(:)), matrix([s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,"*",typ(:)), matrix([s;s^3;s^3+s^4;0*s;0*s;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,1,typ(:)), matrix([s;s^3;1+s;0*s;-1;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,2,typ(:)), matrix([s;s^2;s+s^2;0*s;-1;0*s;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumprod(p,3,typ(:)), matrix([s;s^2;1+s;0*s;-s;0*s;0*s;0*s], [2,2,2]));
     assert_checkequal(cumprod(p,5,typ(:)), p);
 end
 //=======================================================================
@@ -1089,18 +1089,18 @@ assert_checkequal(cumprod(b,3,"native"), b);
 //with hypermatrices
 b=[%t %t;%f %t];b(1,1,2)=%f;
 for typ=list(list(),list("double"));
-    assert_checkequal(cumprod(b,typ(:)), hypermat([2,2,2],[1;0;0;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,"*",typ(:)), hypermat([2,2,2],[1;0;0;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,1,typ(:)), hypermat([2,2,2],[1;0;1;1;0;0;0;0]));
-    assert_checkequal(cumprod(b,2,typ(:)), hypermat([2,2,2],[1;0;1;0;0;0;0;0]));
-    assert_checkequal(cumprod(b,3,typ(:)), hypermat([2,2,2],[1;0;1;1;0;0;0;0]));
+    assert_checkequal(cumprod(b,typ(:)), matrix([1;0;0;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,"*",typ(:)), matrix([1;0;0;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,1,typ(:)), matrix([1;0;1;1;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,2,typ(:)), matrix([1;0;1;0;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumprod(b,3,typ(:)), matrix([1;0;1;1;0;0;0;0], [2,2,2]));
     assert_checkequal(cumprod(b,5,typ(:)), double(b));
 end
-assert_checkequal(cumprod(b,"native"), hypermat([2,2,2],[%t;%f;%f;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,"*","native"), hypermat([2,2,2],[%t;%f;%f;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,1,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,2,"native"), hypermat([2,2,2],[%t;%f;%t;%f;%f;%f;%f;%f]));
-assert_checkequal(cumprod(b,3,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
+assert_checkequal(cumprod(b,"native"), matrix([%t;%f;%f;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,"*","native"), matrix([%t;%f;%f;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,1,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,2,"native"), matrix([%t;%f;%t;%f;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumprod(b,3,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
 assert_checkequal(cumprod(b,5,"native"), b);
 //=======================================================================
 //sparse matrices of floats
index 904671c..4b7954f 100644 (file)
@@ -43,17 +43,5 @@ b = [        %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
-                               %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ]
- b  = 
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
-  F F F F F F F F F F
+                               %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ];
 if or(a <> b) then bugmes();quit;end
index bf4fb0b..7ea142c 100644 (file)
@@ -47,6 +47,6 @@ b = [         %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
                                %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ; ...
-                               %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ]
+                               %F  %F  %F  %F  %F  %F  %F  %F  %F  %F ];
 
 if or(a <> b) then pause,end
index 3f2c95d..514bdb5 100644 (file)
@@ -19,13 +19,13 @@ if or(1<>[uno uno])     then bugmes();quit;end
 if or([1 1]<>[uno uno]) then bugmes();quit;end
 if or([uno uno]<>1)     then bugmes();quit;end
 if or([uno uno]<>[1 1]) then bugmes();quit;end
-if execstr("uint8(1) & %t" ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("%t&uint8(1)"   ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("int32(1) & %t" ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("%t&int32(1)"   ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("uint32(1) & %t","errcatch")  <> 999 then bugmes();quit;end
-if execstr("%t&uint32(1)"  ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("int16(1) & %t" ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("%t&int16(1)"   ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("int8(1) & %f " ,"errcatch")  <> 999 then bugmes();quit;end
-if execstr("%t&int8(1)"    ,"errcatch")  <> 999 then bugmes();quit;end
+if execstr("uint8(1) & %t"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("%t & uint8(1)"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("int32(1) & %t"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("%t & int32(1)"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("uint32(1) & %t"  ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("%t & uint32(1)"  ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("int16(1) & %t"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("%t & int16(1)"   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("int8(1) & %f "   ,"errcatch")  <> 0 then bugmes();quit;end
+if execstr("%t & int8(1)"    ,"errcatch")  <> 0 then bugmes();quit;end
index 8bf6574..f344944 100644 (file)
@@ -23,13 +23,13 @@ if or([1 1]<>[uno uno]) then pause,end
 if or([uno uno]<>1)     then pause,end
 if or([uno uno]<>[1 1]) then pause,end
 
-if execstr("uint8(1) & %t" ,"errcatch")  <> 999 then pause,end
-if execstr("%t&uint8(1)"   ,"errcatch")  <> 999 then pause,end
-if execstr("int32(1) & %t" ,"errcatch")  <> 999 then pause,end
-if execstr("%t&int32(1)"   ,"errcatch")  <> 999 then pause,end
-if execstr("uint32(1) & %t","errcatch")  <> 999 then pause,end
-if execstr("%t&uint32(1)"  ,"errcatch")  <> 999 then pause,end
-if execstr("int16(1) & %t" ,"errcatch")  <> 999 then pause,end
-if execstr("%t&int16(1)"   ,"errcatch")  <> 999 then pause,end
-if execstr("int8(1) & %f " ,"errcatch")  <> 999 then pause,end
-if execstr("%t&int8(1)"    ,"errcatch")  <> 999 then pause,end
+if execstr("uint8(1) & %t"   ,"errcatch")  <> 0 then pause,end
+if execstr("%t & uint8(1)"   ,"errcatch")  <> 0 then pause,end
+if execstr("int32(1) & %t"   ,"errcatch")  <> 0 then pause,end
+if execstr("%t & int32(1)"   ,"errcatch")  <> 0 then pause,end
+if execstr("uint32(1) & %t"  ,"errcatch")  <> 0 then pause,end
+if execstr("%t & uint32(1)"  ,"errcatch")  <> 0 then pause,end
+if execstr("int16(1) & %t"   ,"errcatch")  <> 0 then pause,end
+if execstr("%t & int16(1)"   ,"errcatch")  <> 0 then pause,end
+if execstr("int8(1) & %f "   ,"errcatch")  <> 0 then pause,end
+if execstr("%t & int8(1)"    ,"errcatch")  <> 0 then pause,end