* Bug #13405 fixed - hypermat was redundant, now tagged as obsolete. 25/17925/17
Pierre-Aime Agnel [Mon, 12 May 2014 09:26:41 +0000 (11:26 +0200)]
Change-Id: Iadba3cf741b02ff289d27165ca6d8493f368b039

197 files changed:
scilab/modules/api_scilab/tests/unit_tests/hypermatExample.dia.ref
scilab/modules/api_scilab/tests/unit_tests/hypermatExample.tst
scilab/modules/api_scilab/tests/unit_tests/hypermatIntExample.dia.ref
scilab/modules/api_scilab/tests/unit_tests/hypermatIntExample.tst
scilab/modules/ast/tests/unit_tests/sparse.dia.ref
scilab/modules/ast/tests/unit_tests/sparse.tst
scilab/modules/core/tests/nonreg_tests/bug_11405.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_11405.tst
scilab/modules/core/tests/unit_tests/typeof.dia.ref
scilab/modules/core/tests/unit_tests/typeof.tst
scilab/modules/data_structures/help/en_US/getfield.xml
scilab/modules/data_structures/help/en_US/hypermat.xml
scilab/modules/data_structures/help/en_US/hypermatrices.xml
scilab/modules/data_structures/help/fr_FR/getfield.xml
scilab/modules/data_structures/help/fr_FR/hypermat.xml
scilab/modules/data_structures/help/fr_FR/hypermatrices.xml
scilab/modules/data_structures/help/fr_FR/mlist.xml
scilab/modules/data_structures/help/fr_FR/setfield.xml
scilab/modules/data_structures/help/ja_JP/getfield.xml
scilab/modules/data_structures/help/ja_JP/hypermatrices.xml
scilab/modules/data_structures/help/ja_JP/setfield.xml
scilab/modules/data_structures/help/pt_BR/getfield.xml
scilab/modules/data_structures/help/pt_BR/hypermatrices.xml
scilab/modules/data_structures/help/pt_BR/setfield.xml
scilab/modules/data_structures/help/ru_RU/getfield.xml
scilab/modules/data_structures/help/ru_RU/hypermatrices.xml
scilab/modules/data_structures/help/ru_RU/setfield.xml
scilab/modules/data_structures/macros/hypermat.sci
scilab/modules/data_structures/tests/nonreg_tests/bug_1712.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_1712.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_1784.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_1784.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_2081.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_2081.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_3135.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_3135.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_475.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_475.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_476.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_476.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref [deleted file]
scilab/modules/data_structures/tests/nonreg_tests/bug_477.tst [deleted file]
scilab/modules/data_structures/tests/nonreg_tests/bug_480.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_480.tst
scilab/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref [deleted file]
scilab/modules/data_structures/tests/nonreg_tests/bug_6639.tst [deleted file]
scilab/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_6988.tst
scilab/modules/data_structures/tests/unit_tests/listinsertion.dia.ref
scilab/modules/data_structures/tests/unit_tests/listinsertion.tst
scilab/modules/elementary_functions/help/en_US/matrixmanipulation/matrix.xml
scilab/modules/elementary_functions/help/en_US/matrixmanipulation/squeeze.xml
scilab/modules/elementary_functions/help/en_US/matrixoperations/cumprod.xml
scilab/modules/elementary_functions/help/en_US/matrixoperations/cumsum.xml
scilab/modules/elementary_functions/help/en_US/matrixoperations/prod.xml
scilab/modules/elementary_functions/help/en_US/matrixoperations/sum.xml
scilab/modules/elementary_functions/help/en_US/num2cell.xml
scilab/modules/elementary_functions/help/fr_FR/matrixmanipulation/matrix.xml
scilab/modules/elementary_functions/help/fr_FR/matrixmanipulation/squeeze.xml
scilab/modules/elementary_functions/help/fr_FR/matrixoperations/cumsum.xml
scilab/modules/elementary_functions/help/ja_JP/matrixmanipulation/matrix.xml
scilab/modules/elementary_functions/help/ja_JP/matrixmanipulation/squeeze.xml
scilab/modules/elementary_functions/help/ja_JP/matrixoperations/cumprod.xml
scilab/modules/elementary_functions/help/ja_JP/matrixoperations/cumsum.xml
scilab/modules/elementary_functions/help/ja_JP/matrixoperations/prod.xml
scilab/modules/elementary_functions/help/ja_JP/matrixoperations/sum.xml
scilab/modules/elementary_functions/help/ja_JP/num2cell.xml
scilab/modules/elementary_functions/help/pt_BR/matrixmanipulation/matrix.xml
scilab/modules/elementary_functions/help/pt_BR/matrixmanipulation/squeeze.xml
scilab/modules/elementary_functions/help/pt_BR/matrixoperations/cumsum.xml
scilab/modules/elementary_functions/help/ru_RU/matrixmanipulation/matrix.xml
scilab/modules/elementary_functions/help/ru_RU/matrixmanipulation/squeeze.xml
scilab/modules/elementary_functions/help/ru_RU/matrixoperations/cumprod.xml
scilab/modules/elementary_functions/help/ru_RU/matrixoperations/cumsum.xml
scilab/modules/elementary_functions/help/ru_RU/matrixoperations/prod.xml
scilab/modules/elementary_functions/help/ru_RU/matrixoperations/sum.xml
scilab/modules/elementary_functions/macros/bitxor.sci
scilab/modules/elementary_functions/macros/cat.sci
scilab/modules/elementary_functions/macros/factorial.sci
scilab/modules/elementary_functions/macros/resize_matrix.sci
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13339.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13339.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13515.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13515.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_14247.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_14247.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_6702.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_6702.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_8468.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_8468.tst
scilab/modules/elementary_functions/tests/unit_tests/IEEEcompatibility.tst
scilab/modules/elementary_functions/tests/unit_tests/cat.dia.ref [new file with mode: 0644]
scilab/modules/elementary_functions/tests/unit_tests/cat.tst [new file with mode: 0644]
scilab/modules/elementary_functions/tests/unit_tests/conj.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/conj.tst
scilab/modules/elementary_functions/tests/unit_tests/cumprod.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/cumprod.tst
scilab/modules/elementary_functions/tests/unit_tests/cumsum.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/cumsum.tst
scilab/modules/elementary_functions/tests/unit_tests/find.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/find.tst
scilab/modules/elementary_functions/tests/unit_tests/flipdim.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/flipdim.tst
scilab/modules/elementary_functions/tests/unit_tests/iscolumn.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/iscolumn.tst
scilab/modules/elementary_functions/tests/unit_tests/ismatrix.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/ismatrix.tst
scilab/modules/elementary_functions/tests/unit_tests/isrow.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/isrow.tst
scilab/modules/elementary_functions/tests/unit_tests/issquare.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/issquare.tst
scilab/modules/elementary_functions/tests/unit_tests/modulo.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/modulo.tst
scilab/modules/elementary_functions/tests/unit_tests/prod.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/prod.tst
scilab/modules/elementary_functions/tests/unit_tests/repmat.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/repmat.tst
scilab/modules/elementary_functions/tests/unit_tests/sum.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/sum.tst
scilab/modules/graphics/macros/%h_p.sci
scilab/modules/graphics/macros/pie.sci
scilab/modules/gui/help/en_US/tree_show.xml
scilab/modules/gui/help/ja_JP/tree_show.xml
scilab/modules/hdf5/tests/unit_tests/loadhdf5data.dia.ref
scilab/modules/hdf5/tests/unit_tests/loadhdf5data.tst
scilab/modules/hdf5/tests/unit_tests/loadhdf5data_v1.dia.ref
scilab/modules/hdf5/tests/unit_tests/loadhdf5data_v1.tst
scilab/modules/hdf5/tests/unit_tests/saveloadHdf5.dia.ref
scilab/modules/hdf5/tests/unit_tests/saveloadHdf5.tst
scilab/modules/interpolation/help/en_US/splin2d.xml
scilab/modules/interpolation/help/ja_JP/splin2d.xml
scilab/modules/interpolation/help/pt_BR/splin2d.xml
scilab/modules/interpolation/macros/interp1.sci
scilab/modules/linear_algebra/tests/nonreg_tests/bug_545.dia.ref
scilab/modules/linear_algebra/tests/nonreg_tests/bug_545.tst
scilab/modules/optimization/macros/numderivative.sci
scilab/modules/overloading/macros/%b_e.sci
scilab/modules/overloading/macros/%b_i_b.sci
scilab/modules/overloading/macros/%b_i_s.sci
scilab/modules/overloading/macros/%c_e.sci
scilab/modules/overloading/macros/%c_i_c.sci
scilab/modules/overloading/macros/%c_i_s.sci
scilab/modules/overloading/macros/%ce_string.sci
scilab/modules/overloading/macros/%hm_and.sci
scilab/modules/overloading/macros/%hm_bool2s.sci
scilab/modules/overloading/macros/%hm_cumsum.sci
scilab/modules/overloading/macros/%hm_isnan.sci
scilab/modules/overloading/macros/%hm_matrix.sci
scilab/modules/overloading/macros/%hm_max.sci
scilab/modules/overloading/macros/%hm_mean.sci
scilab/modules/overloading/macros/%hm_median.sci
scilab/modules/overloading/macros/%hm_min.sci
scilab/modules/overloading/macros/%hm_n_hm.sci
scilab/modules/overloading/macros/%hm_o_hm.sci
scilab/modules/overloading/macros/%hm_ones.sci
scilab/modules/overloading/macros/%hm_or.sci
scilab/modules/overloading/macros/%hm_r_s.sci
scilab/modules/overloading/macros/%hm_rand.sci
scilab/modules/overloading/macros/%hm_zeros.sci
scilab/modules/overloading/macros/%i_e.sci
scilab/modules/overloading/macros/%i_i_s.sci
scilab/modules/overloading/macros/%p_e.sci
scilab/modules/overloading/macros/%p_i_p.sci
scilab/modules/overloading/macros/%p_i_s.sci
scilab/modules/overloading/macros/%p_m_hm.sci
scilab/modules/overloading/macros/%s_e.sci
scilab/modules/overloading/macros/%s_i_b.sci
scilab/modules/overloading/macros/%s_i_c.sci
scilab/modules/overloading/macros/%s_i_p.sci
scilab/modules/overloading/macros/%s_i_s.sci
scilab/modules/overloading/macros/%s_l_hm.sci
scilab/modules/overloading/macros/%s_m_hm.sci
scilab/modules/overloading/macros/generic_i_hm.sci
scilab/modules/overloading/tests/nonreg_tests/bug_11996.dia.ref
scilab/modules/overloading/tests/nonreg_tests/bug_11996.tst
scilab/modules/overloading/tests/nonreg_tests/bug_2153.dia.ref
scilab/modules/overloading/tests/nonreg_tests/bug_2153.tst
scilab/modules/polynomials/tests/unit_tests/pol2str.dia.ref
scilab/modules/polynomials/tests/unit_tests/pol2str.tst
scilab/modules/scicos/tests/unit_tests/model/Block.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Block.tst
scilab/modules/scicos/tests/unit_tests/var2vec.dia.ref
scilab/modules/scicos/tests/unit_tests/var2vec.tst
scilab/modules/signal_processing/macros/fft2.sci
scilab/modules/signal_processing/macros/idct.sci
scilab/modules/signal_processing/macros/idst.sci
scilab/modules/signal_processing/macros/ifft.sci
scilab/modules/statistics/tests/nonreg_tests/bug_7206.dia.ref
scilab/modules/statistics/tests/nonreg_tests/bug_7206.tst
scilab/modules/statistics/tests/unit_tests/meanf.dia.ref
scilab/modules/statistics/tests/unit_tests/meanf.tst
scilab/modules/string/help/en_US/char.xml
scilab/modules/string/help/ja_JP/char.xml
scilab/modules/string/help/pt_BR/char.xml
scilab/modules/string/help/ru_RU/char.xml
scilab/modules/string/tests/unit_tests/length.dia.ref
scilab/modules/string/tests/unit_tests/length.tst

index 251378b..0e09702 100644 (file)
@@ -11,7 +11,7 @@ cd(pathconvert(TMPDIR+"/hypermatExample"));
 copyfile(SCI+"/modules/api_scilab/tests/unit_tests/hypermatExample.c",pathconvert(TMPDIR+"/hypermatExample/hypermatExample.c",%F));
 ilib_build("gw_hypermatExample",["hypermatExample","hypermatExample"],"hypermatExample.c",[],"","","");
 exec("loader.sce");
-a = hypermat([1 2 3], ones(1,6));
-b = a + %i*hypermat([1 2 3], 1:6);
+a = matrix(ones(1,6), [1 2 3]);
+b = a + %i*matrix(1:6, [1 2 3]);
 assert_checkequal(hypermatExample(a), a);
 assert_checkequal(hypermatExample(b), b);
index 6fed9cc..b787f2b 100644 (file)
@@ -13,8 +13,8 @@ copyfile(SCI+"/modules/api_scilab/tests/unit_tests/hypermatExample.c",pathconver
 ilib_build("gw_hypermatExample",["hypermatExample","hypermatExample"],"hypermatExample.c",[],"","","");
 exec("loader.sce");
 
-a = hypermat([1 2 3], ones(1,6));
-b = a + %i*hypermat([1 2 3], 1:6);
+a = matrix(ones(1,6), [1 2 3]);
+b = a + %i*matrix(1:6, [1 2 3]);
 
 assert_checkequal(hypermatExample(a), a);
 assert_checkequal(hypermatExample(b), b);
index 5dd52a1..f504d30 100644 (file)
@@ -11,14 +11,14 @@ cd(pathconvert(TMPDIR+"/hypermatIntExample"));
 copyfile(SCI+"/modules/api_scilab/tests/unit_tests/hypermatIntExample.c",pathconvert(TMPDIR+"/hypermatIntExample/hypermatIntExample.c",%F));
 ilib_build("gw_hypermatIntExample",["hypermatIntExample","hypermatIntExample"],"hypermatIntExample.c",[],"","","");
 exec("loader.sce");
-a = hypermat([1 2 3], int8(1:6));
-b = hypermat([1 2 3], uint8(1:6));
-c = hypermat([1 2 3], int16(1:6));
-d = hypermat([1 2 3], uint16(1:6));
-e = hypermat([1 2 3], int32(1:6));
-f = hypermat([1 2 3], uint32(1:6));
-g = hypermat([1 2 3], int64(1:6));
-h = hypermat([1 2 3], uint64(1:6));
+a = matrix(int8(1:6), [1 2 3]);
+b = matrix(uint8(1:6), [1 2 3]);
+c = matrix(int16(1:6), [1 2 3]);
+d = matrix(uint16(1:6), [1 2 3]);
+e = matrix(int32(1:6), [1 2 3]);
+f = matrix(uint32(1:6), [1 2 3]);
+g = matrix(int64(1:6), [1 2 3]);
+h = matrix(uint64(1:6), [1 2 3]);
 assert_checkequal(hypermatIntExample(a), a);
 assert_checkequal(hypermatIntExample(b), b);
 assert_checkequal(hypermatIntExample(c), c);
index fd14500..3c9c7ca 100644 (file)
@@ -13,14 +13,14 @@ copyfile(SCI+"/modules/api_scilab/tests/unit_tests/hypermatIntExample.c",pathcon
 ilib_build("gw_hypermatIntExample",["hypermatIntExample","hypermatIntExample"],"hypermatIntExample.c",[],"","","");
 exec("loader.sce");
 
-a = hypermat([1 2 3], int8(1:6));
-b = hypermat([1 2 3], uint8(1:6));
-c = hypermat([1 2 3], int16(1:6));
-d = hypermat([1 2 3], uint16(1:6));
-e = hypermat([1 2 3], int32(1:6));
-f = hypermat([1 2 3], uint32(1:6));
-g = hypermat([1 2 3], int64(1:6));
-h = hypermat([1 2 3], uint64(1:6));
+a = matrix(int8(1:6), [1 2 3]);
+b = matrix(uint8(1:6), [1 2 3]);
+c = matrix(int16(1:6), [1 2 3]);
+d = matrix(uint16(1:6), [1 2 3]);
+e = matrix(int32(1:6), [1 2 3]);
+f = matrix(uint32(1:6), [1 2 3]);
+g = matrix(int64(1:6), [1 2 3]);
+h = matrix(uint64(1:6), [1 2 3]);
 
 assert_checkequal(hypermatIntExample(a), a);
 assert_checkequal(hypermatIntExample(b), b);
index 861a479..da1974a 100644 (file)
@@ -980,7 +980,7 @@ b=sparse([1 6;1 2;5 5],[10;-1;-1],[5 6]);
 assert_checkfalse(a==b);
 assert_checktrue(a<>b);
 // Sparse does not accept hypermatrices as input arguments
-A = hypermat([2 2 3], 1:12);
+A = matrix(1:12, [2 2 3]);
 msg = _("%s: Wrong size for input argument #%d: A m-by-n matrix expected.\n");
 funcname = "sparse";
 assert_checkerror("sparse(A)", msprintf(msg, funcname, 1));
index aa2d155..69ee3c9 100644 (file)
@@ -1007,7 +1007,7 @@ assert_checkfalse(a==b);
 assert_checktrue(a<>b);
 
 // Sparse does not accept hypermatrices as input arguments
-A = hypermat([2 2 3], 1:12);
+A = matrix(1:12, [2 2 3]);
 msg = _("%s: Wrong size for input argument #%d: A m-by-n matrix expected.\n");
 funcname = "sparse";
 assert_checkerror("sparse(A)", msprintf(msg, funcname, 1));
index 41f21be..6b05550 100644 (file)
@@ -15,7 +15,7 @@
 // <-- Short Description -->
 // Added hypermatrix support for extraction.
 vec = 0:4;
-indexes = hypermat([2 2 2], [1 1; 1 1; 3 3; 3 3]);
+indexes = matrix([1 1; 1 1; 3 3; 3 3], [2 2 2]);
 // Staying consistent with the way other extractions currently work,
 // so equivalent to vec(indexes(:)).
 assert_checkequal(vec(indexes), [0 0 2 2 0 0 2 2]);
index 591bfc7..5b65803 100644 (file)
@@ -16,7 +16,7 @@
 // Added hypermatrix support for extraction.
 
 vec = 0:4;
-indexes = hypermat([2 2 2], [1 1; 1 1; 3 3; 3 3]);
+indexes = matrix([1 1; 1 1; 3 3; 3 3], [2 2 2]);
 // Staying consistent with the way other extractions currently work,
 // so equivalent to vec(indexes(:)).
 assert_checkequal(vec(indexes), [0 0 2 2 0 0 2 2]);
index e7cac11..27cbd7e 100644 (file)
@@ -82,6 +82,11 @@ l1 = uiCreateNode("CONST_m","default","");
 assert_checkequal(typeof(l1),"uitree");
 tree = uiCreateTree(l1);
 assert_checkequal(typeof(tree),"uitree");
+// hypermat
+assert_checkequal(typeof(matrix(1:24, [2 3 2 2])),"constant");
+A=[1,2,3;4,5,6];
+A(:,:,2)=[1,2,3;4,5,6];
+assert_checkequal(typeof(string(A)),"string");
 // fptr
 assert_checkequal(typeof(abs),"fptr");
 // cell
index 4adef52..58c1395 100644 (file)
@@ -97,6 +97,12 @@ assert_checkequal(typeof(l1),"uitree");
 tree = uiCreateTree(l1);
 assert_checkequal(typeof(tree),"uitree");
 
+// hypermat
+assert_checkequal(typeof(matrix(1:24, [2 3 2 2])),"constant");
+A=[1,2,3;4,5,6];
+A(:,:,2)=[1,2,3;4,5,6];
+assert_checkequal(typeof(string(A)),"string");
+
 // fptr
 assert_checkequal(typeof(abs),"fptr");
 
index c84cdf1..b954968 100644 (file)
     <refsection>
         <title>Examples</title>
         <programlisting role="example"><![CDATA[
-l=list(1,'qwerw',%s)
-[a,b]=getfield([3 2],l)
-a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
-a(1) // the a(1,1,1) entry
-getfield(1,a) // the mlist first field
+l = list(1,'qwerw',%s)
+[a,b] = getfield([3 2],l)
+
+// Rationals are encoded as t-lists:
+r = [%z/(1-%z) %z^2/(1+%z)]
+type(r)
+[num, den] = getfield([2 3],r)
+
+// Structures arrays are encoded as M-lists:
+s.r = %pi
+s.b = %t
+s.t = "Scilab"
+s(2).t = "Basile"
+getfield(2,s)==size(s)
+getfield(1,s)(3:5)==fieldnames(s)'
+[r,b,t] = getfield([3 4 5],s)
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index b465576..3bfb13a 100644 (file)
@@ -16,7 +16,8 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="hypermat">
     <refnamediv>
         <refname>hypermat</refname>
-        <refpurpose>initializes an  N dimensional matrix</refpurpose>
+        <refpurpose>initializes an  N dimensional matrix. <emphasis role="bold">obsolete</emphasis>. Please use <link linkend="matrix">matrix</link>.
+        </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Syntax</title>
@@ -92,4 +93,13 @@ disp(size(M_own('entries')))
             </member>
         </simplelist>
     </refsection>
+<refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.1</revnumber>
+                <revremark>hypermat() removed.</revremark>
+            </revision>
+        </revhistory>
+</refsection>
 </refentry>
index 6587571..2a38764 100644 (file)
         </para>
         <para>
             They can be defined by extension of 2D matrices as follows
-            <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> or directly using <function>hypermat</function> function.
+            <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> or directly using <function>matrix</function> function.
         </para>
         <para>
-            Entries can be real or complex numbers, polynomials,
-            rationals, strings, booleans.
-        </para>
-        <para>
-            Hypermatrices are <literal>mlists</literal>:
-            <code>mlist(['hm','dims','entries'],sz,v)</code> where <literal>sz</literal> is the row
-            vector of dimensions and <literal>v</literal> the column vector of entries (first
-            dimension are stored first).
+            Entries can be booleans, encoded integers of any inttype, real or complex numbers, 
+            polynomials, rationals, strings, booleans.
         </para>
         <para>
             <note>
@@ -64,9 +58,6 @@ type(a(:,:,1))
         <title>See also</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
-            </member>
-            <member>
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
index 8d0e654..222c984 100644 (file)
     <refsection>
         <title>Exemples</title>
         <programlisting role="example"><![CDATA[ 
-l=list(1,'qwerw',%s)
-[a,b]=getfield([3 2],l)
+l = list(1,'qwerw',%s)
+[a,b] = getfield([3 2],l)
 
-a=hypermat([2,2,2],rand(1:2^3));// les hypermatrices sont stockées dans des mlist
-a(1) // le terme a(1,1,1)
-getfield(1,a) // le premier champ de la mlist
+// Les fractions rationnelles sont encodées des T-listes :
+r = [%z/(1-%z) %z^2/(1+%z)]
+type(r)
+[num, den] = getfield([2 3],r)
+
+// Les tableaux de structures sont des  M-listes:
+s.r = %pi
+s.b = %t
+s.t = "Scilab"
+s(2).t = "Basile"
+getfield(2,s)==size(s)
+getfield(1,s)(3:5)==fieldnames(s)'
+[r,b,t] = getfield([3 4 5],s)
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index 5f20882..4a3539f 100644 (file)
@@ -2,7 +2,7 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="hypermat">
     <refnamediv>
         <refname>hypermat</refname>
-        <refpurpose>initialisation d'une matrice à N dimensions   </refpurpose>
+        <refpurpose>initialisation d'une matrice à N dimensions. <emphasis role="bold">obsolète</emphasis> SVP utiliser <link linkend="matrix">matrix()</link>.</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Séquence d'appel</title>
@@ -74,4 +74,13 @@ disp(size(M_own('entries')))
             </member>
         </simplelist>
     </refsection>
+<refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>6.1</revnumber>
+                <revremark>Suppression de hypermat()</revremark>
+            </revision>
+        </revhistory>
+</refsection>
 </refentry>
index 5a07657..b335f59 100644 (file)
             a=[1 2;3 4];a(:,:,2)=rand(2,2)
         </para>
         <para>
-            ou directement en utilisant la fonction <literal>hypermat</literal>.
+            ou directement en utilisant la fonction <literal>matrix</literal>.
         </para>
         <para>
-            Les termes peuvent être réels, complexes, polynômiaux, rationnels, booléens
+            Les termes peuvent être entiers encodés, réels, complexes, polynômiaux, rationnels, booléens
             ou de type chaîne de caractères. 
         </para>
-        <para>
-            Les Hypermatrices sont des <literal>mlists</literal> :
-            <literal>mlist(['hm','dims','entries'],sz,v)</literal> où <literal>sz</literal> est 
-            le vecteur ligne des dimensions et <literal>v</literal> le vecteur colonne des termes (rangés tel que 
-            l'indice le plus à gauche varie en premier).
-        </para>
         <para>NOTES: le nombre de dimensions des hypermatrices dont les dimensions les plus à droite sont egales  
             à 1 est automatiquement réduit. Une hypermatrice n'ayant que 2 dimensions
             est automatiquement transformée en une matrice standard (de type 1).
@@ -50,9 +44,6 @@ type(a(:,:,1))
         <title>Voir aussi</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
-            </member>
-            <member>
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
index 2bcd481..a0d47e2 100644 (file)
@@ -2,8 +2,7 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="mlist">
     <refnamediv>
         <refname>mlist</refname>
-        <refpurpose>Objet Scilab, définition d'une liste
-            typée
+        <refpurpose>Objet Scilab, définition d'une liste typée
         </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
@@ -78,8 +77,8 @@ M(:,2)
 
 // tableau multidimensionnel
 str=['a','b','c','d','e','f','g','h'];
-n=hypermat([2,2,2],str);
-v=hypermat([2,2,2],1:8);
+n=matrix(str, [2,2,2]);
+v=matrix(1:8, [2,2,2]);
 M=mlist(['V','name','value'],n,v);
 M(1,1:2,2)
  ]]></programlisting>
index c31cb6d..ac5e06c 100644 (file)
@@ -48,9 +48,6 @@ l=list(1,'qwerw',%s)
 l(1)='change'
 l(0)='ajoute'
 l(6)=['un de plus';'ajoute']
-
-a=hypermat([2,2,2],rand(1:2^3));// les hypermatrices sont des mlist
-setfield(3,1:8,a);a // affectation du champ
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index 8220c59..ea76370 100644 (file)
         <programlisting role="example"><![CDATA[ 
 l=list(1,'qwerw',%s)
 [a,b]=getfield([3 2],l)
-a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
-a(1) // the a(1,1,1) entry
-getfield(1,a) // the mlist first field
+
+// Rationals are encoded as t-lists:
+r = [%z/(1-%z) %z^2/(1+%z)]
+type(r)
+[num, den] = getfield([2 3],r)
+
+// Structures arrays are encoded as M-lists:
+s.r = %pi
+s.b = %t
+s.t = "Scilab"
+s(2).t = "Basile"
+getfield(2,s)==size(s)
+getfield(1,s)(3:5)==fieldnames(s)'
+[r,b,t] = getfield([3 4 5],s)
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index 72b0608..f1f804c 100644 (file)
             a=[1 2;3 4];a(:,:,2)=rand(2,2)
         </para>
         <para>
-            または直接 <literal>hypermat</literal> 関数により定義できます.
+            または直接 <literal>matrix</literal> 関数により定義できます.
         </para>
         <para>
             エントリは,実数または複素数, 多項式, 有理数, 文字列, 論理値とすることができます.
         </para>
-        <para>
-            ハイパー行列は,以下の <literal>mlists</literal>型となります:
-            <literal>mlist(['hm','dims','entries'],sz,v)</literal> ,ただし,
-            <literal>sz</literal> は次元を含む行ベクトル,
-            <literal>v</literal> はエントリを含む列ベクトル (最初の次元が最初に保存されます)
-        </para>
         <para>注意: ハイパー行列の最も右の次元の数が1となる場合,
             自動的に次元が縮小されます.
             次元が2つのみのハイパー行列は,自動的に通常の行列(タイプ1)に変換されます.
@@ -60,9 +54,6 @@ type(a(:,:,1))
         <title>参照</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
-            </member>
-            <member>
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
index 349b5c7..9515cb6 100644 (file)
@@ -59,8 +59,6 @@ l=list(1,'qwerw',%s)
 l(1)='Changed'
 l(0)='Added'
 l(6)=['one more';'added']
-a=hypermat([2,2,2],rand(1:2^3));// hypermatrices are coded using mlists
-setfield(3,1:8,a);a // set the field value to 1:8
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index 02c7010..dc105ed 100644 (file)
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="getfield" xml:lang="pt">
     <refnamediv>
         <refname>getfield</refname>
-        <refpurpose>extração de campos de listas</refpurpose>
+        <refpurpose>extração de campos de listas</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>[x,...]=getfield(i,l)</synopsis>
+        <title>Seqüência de Chamamento</title>
+        <synopsis>[x,...] = getfield(i,l)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Parâmetros</title>
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>x</term>
                 <listitem>
-                    <para>matriz de qualquer tipo possível </para>
+                    <para>matriz de qualquer tipo possível </para>
                 </listitem>
             </varlistentry>
             <varlistentry>
             <varlistentry>
                 <term>i</term>
                 <listitem>
-                    <para>índice de campo, ver "extraction" para mais detalhes.</para>
+                    <para>índice de campo, ver "extraction" para mais detalhes.</para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
-        <title>Descrição</title>
+        <title>Descrição</title>
         <para>
-            Esta função é equivalente à sintaxe <literal>[x,...]=l(i)</literal>
-            para extração de campos com a única diferença de que também se aplica a
+            Esta função é equivalente à sintaxe <literal>[x,...]=l(i)</literal>
+            para extração de campos com a única diferença de que também se aplica a
             objetos <literal>mlist</literal>.
         </para>
     </refsection>
 l=list(1,'qwerw',%s)
 [a,b]=getfield([3 2],l)
 
-a=hypermat([2,2,2],rand(1:2^3));// hipermatrizes são codificadas usando-se mlists
-a(1) // a entrada a(1,1,1)
-getfield(1,a) // o primeiro campo do mlist
+// Rationals are encoded as t-lists:
+r = [%z/(1-%z) %z^2/(1+%z)]
+type(r)
+[num, den] = getfield([2 3],r)
+
+// Structures arrays are encoded as M-lists:
+s.r = %pi
+s.b = %t
+s.t = "Scilab"
+s(2).t = "Basile"
+getfield(2,s)==size(s)
+getfield(1,s)(3:5)==fieldnames(s)'
+[r,b,t] = getfield([3 4 5],s)
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="extraction">extraction</link>
index 5a70f42..c5c9307 100644 (file)
         <refpurpose>objeto do Scilab: matrizes n-dimensionais</refpurpose>
     </refnamediv>
     <refsection>
-        <title>Descrição</title>
+        <title>Descrição</title>
         <para>O tipo hipermatriz ("hypermatrix") permite manipular arrays
             multidimensionais.
         </para>
-        <para>Hipermatrizes podem ser definidas por uma extensão das matrizes 2D
+        <para>Hipermatrizes podem ser definidas por uma extensão das matrizes 2D
             como segue: a=[1 2;3 4];a(:,:,2)=rand(2,2)
         </para>
         <para>
-            ou usando a função <literal>hypermat</literal> diretamente.
+            ou usando a função <literal>matrix</literal> diretamente.
         </para>
-        <para>As entradas podem ser números reais ou complexos, polinômios, razões
-            de polinômios, strings ou valores booleanos.
+        <para>As entradas podem ser números reais ou complexos, polinômios, razões
+            de polinômios, strings ou valores booleanos.
         </para>
-        <para>
-            Hipermatrizes são <literal>mlists</literal>:
-            <literal>mlist(['hm','dims','entries'],sz,v)</literal> onde
-            <literal>sz</literal> é o vetor linha de dimensões e <literal>v</literal>
-            é o vetor coluna de entradas (as primeiras dimensões são armazenadas
-            primeiro)
-        </para>
-        <para>NOTAS: O número de dimensões de hipermatrizes com tamanhos mais à
-            direita iguais a 1 é automaticamente reduzido. Uma hipermatriz com apenas
-            duas dimensões é automaticamente trocada por uma matriz regular (tipo
+        <para>NOTAS: O número de dimensões de hipermatrizes com tamanhos mais à
+            direita iguais a 1 é automaticamente reduzido. Uma hipermatriz com apenas
+            duas dimensões é automaticamente trocada por uma matriz regular (tipo
             1).
         </para>
     </refsection>
@@ -54,19 +47,16 @@ a(1,1,:)
 
 size(a)
 
-a(:,:,1) //redução de dimensionalidade 
+a(:,:,1) //redução de dimensionalidade 
 type(a(:,:,1))
 
 [a a]
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
-            </member>
-            <member>
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
index b67ef46..13c96a0 100644 (file)
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns4="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="setfield" xml:lang="pt">
     <refnamediv>
         <refname>setfield</refname>
-        <refpurpose>inserção de campos de listas</refpurpose>
+        <refpurpose>inserção de campos de listas</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
+        <title>Seqüência de Chamamento</title>
         <synopsis>setfield(i,x,l)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Parâmetros</title>
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>x</term>
             <varlistentry>
                 <term>i</term>
                 <listitem>
-                    <para>índice de campo, ver "insertion" para mais detalhes.</para>
+                    <para>índice de campo, ver "insertion" para mais detalhes.</para>
                 </listitem>
             </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
-        <title>Descrição</title>
+        <title>Descrição</title>
         <para>
-            Esta função é equivalente à sintaxe <literal>l(i)=x</literal> spara
-            inserção de campos, com a única diferença de que também se aplica a
+            Esta função é equivalente à sintaxe <literal>l(i)=x</literal> spara
+            inserção de campos, com a única diferença de que também se aplica a
             objetos <literal>mlist</literal>.
         </para>
     </refsection>
@@ -60,13 +60,10 @@ l=list(1,'qwerw',%s)
 l(1)='Modificado'
 l(0)='Adicionado'
 l(6)=['mais um';'adicionado']
-
-a=hypermat([2,2,2],rand(1:2^3));// hipermatrizes são codificadas usando-se mlists
-setfield(3,1:8,a);a // ajusta o valor de campo para 1:8
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
                 <link linkend="insertion">insertion</link>
index c7199af..3a0070a 100644 (file)
     <refsection>
         <title>Примеры</title>
         <programlisting role="example"><![CDATA[ 
-l=list(1,'qwerw',%s)
-[a,b]=getfield([3 2],l)
-a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируются используя mlist-ы
-a(1) // элемент a(1,1,1) 
-getfield(1,a) // первое поле mlist-а
+l = list(1,'qwerw',%s)
+[a,b] = getfield([3 2],l)
+
+// Рациональные значения кодируются в виде типизированных списков:
+r = [%z/(1-%z) %z^2/(1+%z)]
+type(r)
+[num, den] = getfield([2 3],r)
+
+// Массивы структур кодируются в виде матричноориентированных списков:
+s.r = %pi
+s.b = %t
+s.t = "Scilab"
+s(2).t = "Basile"
+getfield(2,s)==size(s)
+getfield(1,s)(3:5)==fieldnames(s)'
+[r,b,t] = getfield([3 4 5],s)
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index 84c3740..a49e6fa 100644 (file)
@@ -26,7 +26,7 @@
         <para>
             Они могут быть определены расширением двумерных матриц следующим
             образом <code>a=[1 2;3 4];a(:,:,2)=rand(2,2)</code> или напрямую
-            с помощью функции <function>hypermat</function>.
+            с помощью функции <function>matrix</function>.
         </para>
         <para>
             Элементы могут быть вещественными или комплексными числами,
             значениями.
         </para>
         <para>
-            Гиперматрицы являются матричноориентированными списками <literal>mlists</literal>:
-            <code>mlist(['hm','dims','entries'],sz,v)</code>, где
-            <literal>sz</literal> - вектор-строка размеров, а
-            <literal>v</literal> - вектор-столбец элементов (первая
-            размерность сохраняется первой).
-        </para>
-        <para>
             <note>
                 Число размерностей гиперматрицы с самыми правыми размерами,
                 равными  1, автоматически уменьшается. Гиперматрица, у которой
@@ -68,9 +61,6 @@ type(a(:,:,1))
         <title>Смотрите также</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
-            </member>
-            <member>
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
index 4b8685e..9fed766 100644 (file)
@@ -63,9 +63,6 @@ l=list(1,'qwerw',%s)
 l(1)='Изменён'
 l(0)='Добавлен'
 l(6)=['ещё один';'добавлен']
-a=hypermat([2,2,2],rand(1:2^3));// гиперматрицы кодируются с помощью mlist-ов
-setfield(3,1:8,a);a // установка значения поля равным 1:8
  ]]></programlisting>
     </refsection>
     <refsection role="see also">
index a93d08d..fe20a62 100644 (file)
@@ -19,15 +19,11 @@ function M=hypermat(dims,v)
     // M data structure contains the vector of matrix dimensions M('dims')
     // and the vector of entries M('entries') such as the leftmost subcripts vary first
     // [M(1,1,..);..;M(n1,1,..);...;M(1,n2,..);..;M(n1,n2,..);...]
-    [lhs,rhs] = argn(0);
-    dims = double(dims);
-
-    if or(floor(dims) <> dims) | or(dims < 0) then
-        error(msprintf(_("%s: Wrong values for input argument #%d: Elements must be non-negative integers.\n"), "hypermat", 1));
-    end
-
-    if dims==[] | or(dims == 0) then
-        dims=[0 0];
+    warnobsolete("matrix", "6.1.0");
+    [lhs,rhs]=argn(0)
+    dims=double(dims)
+    if or(floor(dims)<>dims)|or(dims<0) then
+        error(msprintf(_("%s: Wrong values for input argument #%d: Elements must be non-negative integers.\n"),"hypermat",1));
     end
 
     if size(dims, "*") == 1 then
index 25cb661..e5725ba 100644 (file)
 // http://bugzilla.scilab.org/show_bug.cgi?id=1712
 //
 // <-- Short Description -->
-//    Logical binary operations &,| with hypermatrices fail, as shown in the 
+//    Logical binary operations &,| with hypermatrices fail, as shown in the
 //    following examples. (The unary operation ~ succeeds.)
 //
-//    -->hm=hypermat([2 2 2],1:8)
+//    -->hm=matrix(1:8, [2 2 2])
 //
 //    -->hm>min(hm) & hm<max(hm)
 //                            !--error 4
@@ -32,6 +32,6 @@
 //    ! F T !
 //    ! T T !
 // ...
-//hm = hypermat([2 2 2],1:8);
+//hm = matrix(1:8, [2 2 2]);
 //if execstr('hm>min(hm) & hm<max(hm)','errcatch')   <>0 then bugmes();quit;end
 //if execstr('hm==min(hm) | hm==max(hm)','errcatch') <>0 then bugmes();quit;end
index f2caf2f..323c1c3 100644 (file)
 // http://bugzilla.scilab.org/show_bug.cgi?id=1712
 //
 // <-- Short Description -->
-//    Logical binary operations &,| with hypermatrices fail, as shown in the 
+//    Logical binary operations &,| with hypermatrices fail, as shown in the
 //    following examples. (The unary operation ~ succeeds.)
 //
-//    -->hm=hypermat([2 2 2],1:8)
+//    -->hm=matrix(1:8, [2 2 2])
 //
 //    -->hm>min(hm) & hm<max(hm)
 //                            !--error 4
@@ -34,6 +34,6 @@
 //    ! T T !
 // ...
 
-//hm = hypermat([2 2 2],1:8);
+//hm = matrix(1:8, [2 2 2]);
 //if execstr('hm>min(hm) & hm<max(hm)','errcatch')   <>0 then pause,end
 //if execstr('hm==min(hm) | hm==max(hm)','errcatch') <>0 then pause,end
index 11dd8fd..714e4d3 100644 (file)
 //
 // <-- Short Description -->
 //    Problem while inserting a matrix in an N-D matrix
-A = hypermat([3,3,2]);
+A = zeros(3,3,2);
 try
        A(1,1:3,1:3)=[1 2 3;4 5 6;7 8 9];
 catch
        if %T then bugmes();quit;end
        return;
 end
-if or(A<>hypermat([3,3,3],[1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
-                       6;0;0;9;0;0])) then bugmes();quit;end
+if or(A<>matrix([1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
+                       6;0;0;9;0;0], [3,3,3])) then bugmes();quit;end
index c504b81..3017a09 100644 (file)
@@ -14,7 +14,7 @@
 // <-- Short Description -->
 //    Problem while inserting a matrix in an N-D matrix
 
-A = hypermat([3,3,2]);
+A = zeros(3,3,2);
 
 try
        A(1,1:3,1:3)=[1 2 3;4 5 6;7 8 9];
@@ -23,5 +23,5 @@ catch
        return;
 end
 
-if or(A<>hypermat([3,3,3],[1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
-                       6;0;0;9;0;0])) then pause,end
+if or(A<>matrix([1;0;0;4;0;0;7;0;0;2;0;0;5;0;0;8;0;0;3;0;0; ...
+                       6;0;0;9;0;0], [3,3,3])) then pause,end
index 04c669c..d54aaca 100644 (file)
@@ -13,6 +13,6 @@
 // <-- Short Description -->
 //impossible matrix insertion into hypermatrix element of a tlist
 tl = tlist(["test","cube"],[]);
-tl.cube = hypermat([2,2,2],[1:8]);
+tl.cube = matrix([1:8], [2,2,2]);
 tl.cube(:,:,1) = ones(2,2);
 if or(tl.cube(:)<>[1;1;1;1;5;6;7;8]) then bugmes();quit;end
index c691406..45fceca 100644 (file)
@@ -17,7 +17,7 @@
 
 
 tl = tlist(["test","cube"],[]);
-tl.cube = hypermat([2,2,2],[1:8]);
+tl.cube = matrix([1:8], [2,2,2]);
 tl.cube(:,:,1) = ones(2,2);
 if or(tl.cube(:)<>[1;1;1;1;5;6;7;8]) then pause,end
 
index 9005dec..7d4f304 100644 (file)
@@ -12,7 +12,7 @@
 //
 // <-- Short Description -->
 //Problem with extraction and hypermatrices, especially when using patterns with a dollar
-a=hypermat([3,15,10]);
+a=zeros(3,15,10);
 for i=1:15
   if or(size(a(:,i:3:$,:))<>size(a(:,i:3:15,:))) then bugmes();quit;end
 end
index a5a06ba..b5238f6 100644 (file)
@@ -15,7 +15,7 @@
 // <-- Short Description -->
 //Problem with extraction and hypermatrices, especially when using patterns with a dollar
 
-a=hypermat([3,15,10]);
+a=zeros(3,15,10);
 for i=1:15
   if or(size(a(:,i:3:$,:))<>size(a(:,i:3:15,:))) then pause,end
 end
index 4e1943e..31276ef 100644 (file)
 //
 //    On Scilab CVS with " min(), max() " function
 //    The Error Messages are:
-//                                                 !--error    59 
+//                                                 !--error    59
 //    incorrect # of outputs in the function
 //    arguments are :
 //     x
 //
-//    Commands:  a=hypermat([3,3,1],uint16(1:9)); [m,k]=max(a)
+//    Commands:  a=matrix(uint16(1:9),[3,3,1]); [m,k]=max(a)
 //
 //    or
 //
-//     a=hypermat([3,3,1],uint16(1:9)); [m,k]=min(a)
+//     a=matrix(uint16(1:9),[3,3,1]); [m,k]=min(a)
 //
 //    Enrico Segre on Linux version RH9 distribution  with  gnome as window manager
 //    Israel  July 24, 2003 at 17:51:50
-a = hypermat([3,3,1],uint16(1:9));
+a = matrix(uint16(1:9), [3,3,1]);
 result = execstr("[m,k]=max(a)","errcatch","n");
 if result <> 0 then bugmes();quit;end
 if result == 0 then
index 5c4f6fa..3732281 100644 (file)
 //
 //    On Scilab CVS with " min(), max() " function
 //    The Error Messages are:
-//                                                 !--error    59 
+//                                                 !--error    59
 //    incorrect # of outputs in the function
 //    arguments are :
 //     x
 //
-//    Commands:  a=hypermat([3,3,1],uint16(1:9)); [m,k]=max(a)
+//    Commands:  a=matrix(uint16(1:9),[3,3,1]); [m,k]=max(a)
 //
 //    or
 //
-//     a=hypermat([3,3,1],uint16(1:9)); [m,k]=min(a)
+//     a=matrix(uint16(1:9),[3,3,1]); [m,k]=min(a)
 //
 //    Enrico Segre on Linux version RH9 distribution  with  gnome as window manager
 //    Israel  July 24, 2003 at 17:51:50
 
-a = hypermat([3,3,1],uint16(1:9));
+a = matrix(uint16(1:9), [3,3,1]);
 
 result = execstr("[m,k]=max(a)","errcatch","n");
 
index 3a58d7b..a7bc08a 100644 (file)
@@ -17,7 +17,7 @@
 //    On Scilab CVS with " %hm_find " function
 //    The Error Messages are:
 //      wrong result
-//    Commands:  -->a=hypermat([3,3,1],int8(1:9));
+//    Commands:  -->a=matrix(int8(1:9), [3,3,1]);
 //
 //    -->[i,j]=find(a==5)   
 //     j  =
@@ -33,7 +33,7 @@
 //        1.  
 // ...
 //correct=%F
-a       = hypermat([3,3,1],int8(1:9));
+a       = matrix(int8(1:9), [3,3,1]);
 [i,j]   = find(a==5);
 [k,l,m] = find(a==5);
 assert_checkequal(m, 1);
index 1935643..feb6f3f 100644 (file)
@@ -18,7 +18,7 @@
 //    On Scilab CVS with " %hm_find " function
 //    The Error Messages are:
 //      wrong result
-//    Commands:  -->a=hypermat([3,3,1],int8(1:9));
+//    Commands:  -->a=matrix(int8(1:9), [3,3,1]);
 //
 //    -->[i,j]=find(a==5)   
 //     j  =
@@ -35,7 +35,7 @@
 // ...
 
 //correct=%F
-a       = hypermat([3,3,1],int8(1:9));
+a       = matrix(int8(1:9), [3,3,1]);
 [i,j]   = find(a==5);
 [k,l,m] = find(a==5);
 
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref b/scilab/modules/data_structures/tests/nonreg_tests/bug_477.dia.ref
deleted file mode 100644 (file)
index 33e4c0a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- Non-regression test for bug 477 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=477
-//
-// <-- Short Description -->
-//    Bug Report Id: 12044200362419444
-//     %hm_maxi and %hm_mini are indeed currently defined with a _single_ return argument. IMHO they should be extended analogously to max, min and %hm_find, returning optionally either a vector of indices of the max/min.
-//
-//    On Scilab CVS with " %hm_maxi, %hm_mini " function
-//    The Error Messages are:
-//     -->a=hypermat([3,3,1],1:9);
-//
-//    -->[m]=max(a)
-//     i  =
-//
-//     9.
-//
-//    -->[m,i]=max(a)
-//                 !--error    59
-//    incorrect # of outputs in the function
-//    arguments are :
-//     x
-//
-//    -->[m,i,j,k]=max(a)
-//                     !--error    78
-// ...
-a   = hypermat([1,3,3],1:9);
-assert_checkequal(max(a), 9);
-result = execstr("[n,i]=max(a)","errcatch","n");
-assert_checkequal(result, 0);
-assert_checkequal(n, 9);
-assert_checkfalse(or(i<>[1,3,3]));
-errmsg=msprintf(_("%s: Wrong number of output argument(s): %d to %d expected.\n"), "max", 1, 2);
-assert_checkerror("[m,i,j,k]=max(a)", errmsg, 78);
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_477.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_477.tst
deleted file mode 100644 (file)
index 8899cb8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//<-- CLI SHELL MODE -->
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- Non-regression test for bug 477 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=477
-//
-// <-- Short Description -->
-//    Bug Report Id: 12044200362419444
-//     %hm_maxi and %hm_mini are indeed currently defined with a _single_ return argument. IMHO they should be extended analogously to max, min and %hm_find, returning optionally either a vector of indices of the max/min.
-//
-//    On Scilab CVS with " %hm_maxi, %hm_mini " function
-//    The Error Messages are:
-//     -->a=hypermat([3,3,1],1:9);
-//
-//    -->[m]=max(a)
-//     i  =
-//
-//     9.
-//
-//    -->[m,i]=max(a)
-//                 !--error    59
-//    incorrect # of outputs in the function
-//    arguments are :
-//     x
-//
-//    -->[m,i,j,k]=max(a)
-//                     !--error    78
-// ...
-
-a   = hypermat([1,3,3],1:9);
-assert_checkequal(max(a), 9);
-
-result = execstr("[n,i]=max(a)","errcatch","n");
-assert_checkequal(result, 0);
-assert_checkequal(n, 9);
-assert_checkfalse(or(i<>[1,3,3]));
-errmsg=msprintf(_("%s: Wrong number of output argument(s): %d to %d expected.\n"), "max", 1, 2);
-assert_checkerror("[m,i,j,k]=max(a)", errmsg, 78);
index 7a817bb..bceef4a 100644 (file)
@@ -28,7 +28,5 @@
 //
 //    Enrico Segre on Linux version  distribution RH9 with   as window manager
 //    Israel  July 27, 2003 at 10:7:54
-a=hypermat([1,3,3],1:9);
+a=matrix(1:9, [1,3,3]);
 assert_checktrue(execstr("int8(a)", "errcatch")==0);
-toto = (hypermat(size(a),int8(a(:))) == int8(a));
-assert_checkfalse(~(and(toto(:,:,1))));
index 3c9cc7f..f415380 100644 (file)
@@ -30,7 +30,5 @@
 //    Enrico Segre on Linux version  distribution RH9 with   as window manager
 //    Israel  July 27, 2003 at 10:7:54
 
-a=hypermat([1,3,3],1:9);
+a=matrix(1:9, [1,3,3]);
 assert_checktrue(execstr("int8(a)", "errcatch")==0);
-toto = (hypermat(size(a),int8(a(:))) == int8(a));
-assert_checkfalse(~(and(toto(:,:,1))));
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref b/scilab/modules/data_structures/tests/nonreg_tests/bug_6639.dia.ref
deleted file mode 100644 (file)
index d1b09d8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2010 - INRIA - Serge Steer
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-// <-- CLI SHELL MODE -->
-// <-- Non-regression test for bug 6639 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=6639
-//
-// <-- Short Description -->
-// "hypermat"  did not  remove higher dimensions equal to 1
-a=hypermat([3,2,1]);
-if type(a)<>1 then bugmes();quit;end
diff --git a/scilab/modules/data_structures/tests/nonreg_tests/bug_6639.tst b/scilab/modules/data_structures/tests/nonreg_tests/bug_6639.tst
deleted file mode 100644 (file)
index a66a50a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2010 - INRIA - Serge Steer
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-// <-- CLI SHELL MODE -->
-
-// <-- Non-regression test for bug 6639 -->
-//
-// <-- Bugzilla URL -->
-// http://bugzilla.scilab.org/show_bug.cgi?id=6639
-//
-// <-- Short Description -->
-// "hypermat"  did not  remove higher dimensions equal to 1
-a=hypermat([3,2,1]);
-if type(a)<>1 then pause,end
index 22ab8be..06895ac 100644 (file)
 //
 // <-- Short Description -->
 // Error messages in modules/data_structures/src/c/hmops.c are not standard.
-M = hypermat([2 3 2 2],1:24)
+M = matrix(1:24, [2 3 2 2])
  M  = 
 (:,:,1,1)
-    1.    3.    5.
-    2.    4.    6.
+   1.   3.   5.
+   2.   4.   6.
 (:,:,2,1)
-    7.    9.     11.
-    8.    10.    12.
+   7.   9.    11.
+   8.   10.   12.
 (:,:,1,2)
-    13.    15.    17.
-    14.    16.    18.
+   13.   15.   17.
+   14.   16.   18.
 (:,:,2,2)
-    19.    21.    23.
-    20.    22.    24.
+   19.   21.   23.
+   20.   22.   24.
 errmsg1=msprintf(_("Invalid index.\n"));
-assert_checkerror("M(:,:,1,2,3)",errmsg1);
index 03a4edb..2ecdc6e 100644 (file)
@@ -15,6 +15,5 @@
 // <-- Short Description -->
 // Error messages in modules/data_structures/src/c/hmops.c are not standard.
 
-M = hypermat([2 3 2 2],1:24)
+M = matrix(1:24, [2 3 2 2])
 errmsg1=msprintf(_("Invalid index.\n"));
-assert_checkerror("M(:,:,1,2,3)",errmsg1);
index 231c20a..60b124b 100644 (file)
@@ -334,7 +334,7 @@ assert_checkequal(S(2).a.b, list([],[0,1]));
 clear S;
 S(1,2).a(1,2).b(1,2,3)=4;
 assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, list([], hypermat([1 2 3], [0;0;0;0;0;4])));
+assert_checkequal(S(2).a.b, list([], matrix( [0;0;0;0;0;4], [1 2 3])));
 tl=tlist(["ltype" "f1"], 12);
 assert_checkequal(typeof(tl), "ltype");
 tl(1) = 12;
index 5af6913..5bae097 100644 (file)
@@ -401,7 +401,7 @@ assert_checkequal(S(2).a.b, list([],[0,1]));
 clear S;
 S(1,2).a(1,2).b(1,2,3)=4;
 assert_checkequal(S(1).a, []);
-assert_checkequal(S(2).a.b, list([], hypermat([1 2 3], [0;0;0;0;0;4])));
+assert_checkequal(S(2).a.b, list([], matrix( [0;0;0;0;0;4], [1 2 3])));
 
 tl=tlist(["ltype" "f1"], 12);
 assert_checkequal(typeof(tl), "ltype");
index 2beacd4..5acd476 100644 (file)
@@ -28,7 +28,7 @@
             <varlistentry>
                 <term>sizes</term>
                 <listitem>
-                    <para>vector of integers</para>
+                    <para>vector of non-negative integers</para>
                 </listitem>
             </varlistentry>
             <varlistentry>
@@ -85,6 +85,9 @@ matrix(a,3,2)
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
+                <link linkend="emptystr">emptystr</link>
+            </member>
+            <member>
                 <link linkend="rand">rand</link>
             </member>
             <member>
index b522ad6..0c6a630 100644 (file)
@@ -54,7 +54,7 @@
        squeeze(M1)
        squeeze(M1(:,:,1))
        
-       M2 = hypermat([2 1 2 1],1:4)
+       M2 = matrix(1:4, [2 1 2 1])
        squeeze(M2)
        ]]></programlisting>
     </refsection>
@@ -62,7 +62,7 @@
         <title>See also</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
+                <link linkend="matrix">matrix</link>
             </member>
             <member>
                 <link linkend="hypermatrices">hypermatrices</link>
index 974b1e0..54f6afe 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Remark</title>
-        <para>
-            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link> and <link linkend="hypermat">hypermatrices</link>.
-        </para>
+      <note>This function applies, with identical rules to <link linkend="sparse">sparse matrices</link>
+      </note>
     </refsection>
     <refsection>
         <title>Examples</title>
index 4ca4e1f..0dea723 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    
-    <refsection role="remark">
-        <title>Remark</title>
-        <para>
-            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link> and <link linkend="hypermat">hypermatrices</link>.
-        </para>
+        <note>
+            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link>.
+        </note>
     </refsection>
     
     <refsection role="examples">
index c496033..c34cc7d 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Remark</title>
-        <para>
-            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link> and <link linkend="hypermat">hypermatrices</link>.
-        </para>
+        <note>This function applies with identical rules to <link linkend="sparse">sparse matrices</link>.
+      </note>
     </refsection>
     <refsection>
         <title>Examples</title>
index ace9456..9fc3b42 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Remark</title>
-        <para>
-            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link> and <link linkend="hypermat">hypermatrices</link>.
-        </para>
+        <note>This function applies with identical rules to <link linkend="sparse">sparse matrices</link>
+        </note>
     </refsection>
     <refsection>
         <title>Examples</title>
index 91ff816..f58d74a 100644 (file)
@@ -2,7 +2,7 @@
 <!--
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2013 - Scilab Enterprises - Charlotte HECQUET
- * 
+ *
  * Copyright (C) 2012 - 2016 - Scilab Enterprises
  *
  * This file is hereby licensed under the terms of the GNU GPL v2.0,
         <programlisting role="example">
             A = [1 2; 3 4]
             num2cell(A)
-            M = hypermat([2 3 2 2],1:24)
-            c = num2cell(M,[1 2])
+            M = matrix(1:24, [2 3 2 2])
+            c=num2cell(M,[1 2])
             size(c)
             size(c{1})
-            
+
             A = ["a", "b"; "c" "d"]
             num2cell(A)
         </programlisting>
index ff7afb7..08b9e1f 100644 (file)
@@ -30,7 +30,7 @@
             <varlistentry>
                 <term>sizes  </term>
                 <listitem>
-                    <para>vecteur d'entiers
+                    <para>vecteur d'entiers positifs
                     </para>
                 </listitem>
             </varlistentry>
@@ -85,6 +85,9 @@ matrix(a,3,2)
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
+                <link linkend="emptystr">emptystr</link>
+            </member>
+            <member>
                 <link linkend="rand">rand</link>
             </member>
             <member>
index 3579cdd..2149355 100644 (file)
@@ -50,7 +50,7 @@
         <title>Voir aussi</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
+                <link linkend="matrix">matrix</link>
             </member>
             <member>
                 <link linkend="hypermatrices">hypermatrices</link>
index 81b65de..16d1fea 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Remarque</title>
-        <para>Cette fonction s'applique avec les mêmes règles aux matrices creuses et aux hypermatrices.</para>
+        <note>
+            Cette fonction s'applique avec les mêmes règles aux <link linkend="sparse">matrices creuses</link> et aux hypermatrices.
+        </note>
     </refsection>
     <refsection>
         <title>Exemples</title>
index 6b8a90c..5d3514a 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="matrix">
-    
     <refnamediv>
-        
         <refname>matrix</refname>
-        
         <refpurpose>ベクトルまたは行列を異なる大きさの行列に成形する</refpurpose>
-        
     </refnamediv>
-    
     <refsynopsisdiv>
-        
         <title>呼び出し手順</title>
-        
         <synopsis>y=matrix(v,n,m)
-            
             y=matrix(v,[sizes])
-            
         </synopsis>
-        
     </refsynopsisdiv>
-    
     <refsection>
-        
         <title>引数</title>
-        
         <variablelist>
-            
             <varlistentry>
-                
                 <term>v</term>
-                
                 <listitem>
-                    
                     <para>ベクトル, 行列またはハイパー行列</para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
             <varlistentry>
-                
                 <term>n,m</term>
-                
                 <listitem>
-                    
                     <para>整数</para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
             <varlistentry>
-                
                 <term>sizes</term>
-                
                 <listitem>
-                    
                     <para>整数ベクトル</para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
             <varlistentry>
-                
                 <term>y</term>
-                
                 <listitem>
-                    
                     <para>ベクトル, 行列またはハイパー行列</para>
-                    
                 </listitem>
-                
             </varlistentry>
-            
         </variablelist>
-        
     </refsection>
-    
     <refsection>
-        
         <title>説明</title>
-        
         <para>
-            
             <literal>n</literal> x <literal>m</literal>個のエントリを有する
-            
             ベクトルまたは行列の場合,
-            
             コマンド <literal>y=matrix(v,n,m)</literal> または同様な
-            
             <literal>y=matrix(v,[n,m])</literal> は
-            
             <literal>v</literal> ベクトル(または行列)を,
-            
             <literal>v</literal>のエントリを列方向でスタックすることにより
-            
             <literal>nxm</literal> の行列に変換します.
-            
         </para>
-        
         <para>
-            
             m または nの次元の一つが -1 に等しい場合,もう一つの次元で
-            
             size(v,'*')を割った数が自動的に代入されます.
-            
         </para>
-        
         <para>
-            
             <literal>prod(size(v))==prod(sizes)</literal>のようなハイパー行列の場合, 
-            
             コマンド <literal>y=matrix(v,sizes)</literal> (または
-            
             等価な <literal>y=matrix(v,n1,n2,...nm)</literal>) は,
-            
             <literal>v</literal>のエントリを
-            
             "列方向"(つまり,最初の次元が最初に変わる)にスタックする
-            
             ことにより<literal>v</literal> を行列またはハイパー行列に変換します.
-            
             <literal>y=matrix(v,sizes)</literal>
-            
             は,sizes がスカラーまたは2要素のベクトルの場合,通常の行列となります.
-            
         </para>
-        
     </refsection>
-    
     <refsection>
-        
         <title>例</title>
-        
         <programlisting role="example"><![CDATA[ 
 a=[1 2 3;4 5 6]
 matrix(a,1,6)
 matrix(a,1,-1)
 matrix(a,3,2)
  ]]></programlisting>
-        
     </refsection>
-    
     <refsection role="see also">
-        
         <title>参照</title>
-        
         <simplelist type="inline">
-            
             <member>
-                
                 <link linkend="matrices">matrices</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="hypermatrices">hypermatrices</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="ones">ones</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="zeros">zeros</link>
-                
             </member>
-            
             <member>
-                
+                <link linkend="emptystr">emptystr</link>
+            </member>
+            <member>
                 <link linkend="rand">rand</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="poly">poly</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="empty">empty</link>
-                
             </member>
-            
         </simplelist>
-        
     </refsection>
-    
 </refentry>
-
index 5706569..40f753c 100644 (file)
@@ -96,7 +96,7 @@
        squeeze(M1)
        squeeze(M1(:,:,1))
        
-       M2 = hypermat([2 1 2 1],1:4)
+       M2 = matrix(1:4, [2 1 2 1])
        squeeze(M2)
        ]]></programlisting>
         
         <simplelist type="inline">
             
             <member>
-                
-                <link linkend="hypermat">hypermat</link>
-                
+                <link linkend="matrix">matrix</link>
             </member>
             
             <member>
index b3bbcfb..1829870 100644 (file)
             </listitem>
             
         </itemizedlist>
-        
+      <note>This function applies with identical rules to <link linkend="sparse">sparse matrices</link></note>
     </refsection>
-    
-    <refsection>
-        
-        <title>注意</title>
-        
-        <para>
-            
-            この関数には,
-            
-            <link linkend="sparse">疎行列</link> および
-            
-            <link linkend="hypermat">ハイパー行列</link>と
-            
-            同じ規則が適用されます.
-            
-        </para>
-        
-    </refsection>
-    
-    <refsection>
-        
+
+  <refsection>
         <title>例</title>
-        
         <programlisting role="example"><![CDATA[ 
 A=[1,2;3,4];
 cumprod(A)
index ac3be44..9db7e0d 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    
-    <refsection role="remark">
-        <title>注意</title>
-        <para>
-            この関数には,
-            <link linkend="sparse">疎行列</link> および
-            <link linkend="hypermat">ハイパー行列</link>と
-            同じ規則が適用されます.
-        </para>
+        <note>
+            This function applies with identical rules to <link linkend="sparse">sparse matrices</link>
+        </note>
     </refsection>
     
     <refsection role="examples">
index cced3ef..27e1157 100644 (file)
  -->
 
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="prod" xml:lang="ja">
-    
     <refnamediv>
-        
         <refname>prod</refname>
-        
         <refpurpose>配列要素の積</refpurpose>
-        
     </refnamediv>
-    
     <refsynopsisdiv>
-        
         <title>呼び出し手順</title>
-        
         <synopsis>y=prod(x)
-            
             y=prod(x,orientation)
-            
             y=prod(x,outtype)
-            
             y=prod(x,orientation,outtype)
-            
         </synopsis>
-        
     </refsynopsisdiv>
     
     <refsection>
                     評価は浮動小数点演算により行われます.
                     
                 </para>
-                
                 <para>
-                    
                     デフォルト値は <literal>outtype="native"</literal>です.
-                    
                 </para>
-                
             </listitem>
-            
             <listitem>
-                
                 <para>論理値の配列の場合,</para>
-                
                 <para>
-                    
                     <literal>outtype="native"</literal>の時,
-                    
                     評価は論理値演算(* は &amp;で置換されます)で行われます.
-                    
                 </para>
-                
                 <para>
-                    
                     <literal>outtype="double"</literal>の時,
-                    
                     評価は浮動小数点演算(%t は1, %f は 0 で置換されます)
-                    
                     により行われます.
-                    
                 </para>
-                
                 <para>
-                    
                     デフォルト値は,
-                    
                     <literal>outtype="double"</literal>です. このオプションは
-                    
                     Matlabとの互換性のために使用されます.
-                    
                 </para>
-                
             </listitem>
-            
         </itemizedlist>
-        
-    </refsection>
-    
-    <refsection>
-        
-        <title>注意</title>
-        
-        <para>
-            
-            この関数には,
-            
-            <link linkend="sparse">疎行列</link> および
-            
-            <link linkend="hypermat">ハイパー行列</link>と
-            
-            同じ規則が適用されます.
-            
-        </para>
-        
+      <note>This function applies with identical rules to <link linkend="sparse">sparse matrices</link>.
+      </note>
+
     </refsection>
-    
     <refsection>
-        
         <title>例</title>
-        
         <programlisting role="example"><![CDATA[ 
 A=[1,2;3,4];
 prod(A)
@@ -393,30 +340,17 @@ B=[%t %t %f %f];
 prod(B) //evaluation in float
 prod(B,"native") //similar to and(B)
  ]]></programlisting>
-        
     </refsection>
-    
     <refsection role="see also">
-        
         <title>参照</title>
-        
         <simplelist type="inline">
-            
             <member>
-                
                 <link linkend="cumprod">cumprod</link>
-                
             </member>
-            
             <member>
-                
                 <link linkend="sum">sum</link>
-                
             </member>
-            
         </simplelist>
-        
     </refsection>
-    
 </refentry>
 
index b91e75c..8d23e14 100644 (file)
             </listitem>
             
         </itemizedlist>
+      <note>This function applies with identical rules to <link linkend="sparse">sparse matrices</link></note>
         
     </refsection>
-    
-    <refsection>
-        
-        <title>注意</title>
-        
-        <para>
-            
-            この関数には,
-            
-            <link linkend="sparse">疎行列</link> および
-            
-            <link linkend="hypermat">ハイパー行列</link>と
-            
-            同じ規則が適用されます.
-            
-        </para>
-        
-    </refsection>
-    
     <refsection>
         
         <title>例</title>
index 92aaca6..ec7dde6 100644 (file)
         <programlisting role="example"> 
             A = [1 2; 3 4]
             num2cell(A)
-            M = hypermat([2 3 2 2],1:24)
-            c = num2cell(M,[1 2])
+            M = matrix(1:24, [2 3 2 2])
+            c=num2cell(M,[1 2])
             size(c)
             size(c{1})
             
index a799d54..5484138 100644 (file)
@@ -87,6 +87,9 @@ matrix(a,3,2)
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
+                <link linkend="emptystr">emptystr</link>
+            </member>
+            <member>
                 <link linkend="rand">rand</link>
             </member>
             <member>
index 662eab3..c593822 100644 (file)
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="squeeze" xml:lang="pt">
     <refnamediv>
         <refname>squeeze</refname>
-        <refpurpose>remoção de dimensões singletons</refpurpose>
+        <refpurpose>remoção de dimensões singletons</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
+        <title>Seqüência de Chamamento</title>
         <synopsis>hypOut = squeeze(hypIn)</synopsis>
     </refsynopsisdiv>
     <refsection>
-        <title>Parâmetros</title>
+        <title>Parâmetros</title>
         <variablelist>
             <varlistentry>
                 <term>hypIn</term>
         </variablelist>
     </refsection>
     <refsection>
-        <title>Descrição</title>
-        <para>Remove dimensões singletons de uma hipermatriz, i.e., qualquer
-            dimensão para a qual o tamanho é 1. Se a entrada é uma matriz, ela não é
+        <title>Descrição</title>
+        <para>Remove dimensões singletons de uma hipermatriz, i.e., qualquer
+            dimensão para a qual o tamanho é 1. Se a entrada é uma matriz, ela não é
             afetada.
         </para>
     </refsection>
     <refsection role="see also">
-        <title>Ver Também</title>
+        <title>Ver Também</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
+                <link linkend="matrix">matrix</link>
             </member>
             <member>
                 <link linkend="hypermatrices">hypermatrices</link>
index 5b7e3b8..a6eb10e 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    
-    <refsection role="remark">
-        <title>Remark</title>
-        <para>
-            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link> and <link linkend="hypermat">hypermatrices</link>.
-        </para>
+        <note>
+            This function applies, with identical rules to <link linkend="sparse">sparse matrices</link>.
+        </note>
     </refsection>
     
     <refsection role="examples">
index da8912c..e5e469b 100644 (file)
@@ -85,6 +85,9 @@ matrix(a,3,2)
                 <link linkend="zeros">zeros</link>
             </member>
             <member>
+                <link linkend="emptystr">emptystr</link>
+            </member>
+            <member>
                 <link linkend="rand">rand</link>
             </member>
             <member>
index f2133fe..c8d4670 100644 (file)
@@ -55,7 +55,7 @@
        squeeze(M1)
        squeeze(M1(:,:,1))
        
-       M2 = hypermat([2 1 2 1],1:4)
+       M2 = matrix(1:4, [2 1 2 1])
        squeeze(M2)
        ]]></programlisting>
     </refsection>
         <title>Смотрите также</title>
         <simplelist type="inline">
             <member>
-                <link linkend="hypermat">hypermat</link>
+                <link linkend="matrix">matrix</link>
             </member>
             <member>
-                <link linkend="hypermatrices">hypermatrices</link>
+                <link linkend="hypermatrices">гиперматрицы</link>
             </member>
         </simplelist>
     </refsection>
index a0cfec9..7cee2f2 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Примечание</title>
-        <para>
-            Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым 
-                матрицам
-            </link>
-            и <link linkend="hypermat">гиперматрицам</link>.
-        </para>
+      <note>Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым 
+                матрицам</link>
+      </note>
     </refsection>
     <refsection>
         <title>Примеры</title>
index a44f9b1..aee7bf4 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    
-    <refsection role="remark">
-        <title>Примечание</title>
-        <para>
-            Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым
-                матрицам
-            </link>
-            и <link linkend="hypermat">гиперматрицам</link>.
-        </para>
+        <note>
+            This function applies with identical rules to <link linkend="sparse">sparse matrices</link>
+        </note>
     </refsection>
     
     <refsection role="examples">
index ba8d2f3..244f4b2 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Примечание</title>
-        <para>
-            Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым 
-                матрицам
-            </link>
-            и <link linkend="hypermat">гиперматрицам</link>.
-        </para>
+      <note>Эта функция применяется с аналогичными правилами к 
+          <link linkend="sparse">разряжённым матрицам</link>.
+      </note>
     </refsection>
     <refsection>
         <title>Примеры</title>
index 2ac809a..4365095 100644 (file)
                 </para>
             </listitem>
         </itemizedlist>
-    </refsection>
-    <refsection>
-        <title>Примечание</title>
-        <para>
-            Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым 
-                матрицам
-            </link>
-            и <link linkend="hypermat">гиперматрицам</link>.
-        </para>
+      <note>
+        Эта функция применяется с аналогичными правилами к <link linkend="sparse">разряжённым 
+        матрицам</link>.
+      </note>
     </refsection>
     <refsection>
         <title>Примеры</title>
index 39f27f5..87e4607 100644 (file)
@@ -51,16 +51,14 @@ function z = bitxor(x,y)
 
     if    (type(x)==1  & (x-floor(x)<>0 | x<0)) ..
         | (type(x)==8  & (inttype(x)<10) ) ..
-        | (type(x)==17 & (type(x.entries<>1) | type(x.entries<>8)) & find(x.entries>0)<>[]) ..
-        | (type(x)<>1  & type(x)<>8 & type(x)<>17) then
+        | (type(x)<>1  & type(x)<>8) then
 
         error(msprintf(gettext("%s: Wrong type for input argument #%d: Scalar/matrix of unsigned integers expected.\n"),"bitxor",1));
     end
 
     if    (type(y)==1  & (y-floor(y)<>0 | y<0)) ..
         | (type(y)==8  & (inttype(y)<10) ) ..
-        | (type(y)==17 & (type(y.entries<>1) | type(y.entries<>8)) & find(y.entries>0)<>[]) ..
-        | (type(y)<>1  & type(y)<>8 & type(y)<>17) then
+        | (type(y)<>1  & type(y)<>8) then
 
         error(msprintf(gettext("%s: Wrong type for input argument #%d: Scalar/matrix of unsigned integers expected.\n"),"bitxor",2));
     end
index 76ff4a6..6c95814 100644 (file)
@@ -84,20 +84,10 @@ function  y = cat(dims, varargin)
         ytemp = [];
     end
 
-    if typeof(varargin(1))=="hypermat" then
-        vartype = typeof(varargin(1).entries);
-    else
-        vartype = typeof(varargin(1));
-    end
+    vartype = typeof(varargin(1));
 
     for j=2:size(varargin)
-        if typeof(varargin(j))=="hypermat" then
-            if typeof(varargin(j).entries) ==vartype
-                vartype = typeof(varargin(j).entries);
-            else
-                error(msprintf(gettext("%s: Wrong type for input arguments: Same types expected.\n"),"cat"));
-            end
-        elseif  typeof(varargin(j)) ==vartype
+        if  typeof(varargin(j)) ==vartype
             vartype = typeof(varargin(j));
         else
             error(msprintf(gettext("%s: Wrong type for input arguments: Same types expected.\n"),"cat"));
index 2dcb91b..59b5517 100644 (file)
@@ -22,7 +22,7 @@ function y=factorial(n)
         error(msprintf(gettext("%s: Wrong number of input argument(s): %d expected.\n"),"factorial",1));
     end
 
-    if (type(n) <> 1 & (typeof(n)<>"hypermat" | type(n.entries)<>1)) | (~isempty(n) & (or((n-floor(n)<>0)) | or(n<0))) then
+    if (type(n) <> 1) | (~isempty(n) & (or((n-floor(n)<>0)) | or(n<0))) then
         error(msprintf(gettext("%s: Wrong value for input argument #%d: Scalar/vector/matrix/hypermatrix of positive integers expected.\n"),"factorial",1));
     elseif isempty(n)
         y=n
index 48eb383..1051179 100644 (file)
@@ -84,9 +84,6 @@ function mat = resize_matrix(mat, varargin)
     padding = []
     // Default type of the result:
     resType = typeof(mat)
-    if resType=="hypermat" then
-        resType = typeof(mat(1))
-    end
 
     // ARGUMENTS ANALYSIS & CHECKING
     // -----------------------------
@@ -95,11 +92,10 @@ function mat = resize_matrix(mat, varargin)
         error(msprintf(msg, "resize_matrix", 2, 5))
     end
 
-    if ~((typeof(mat)=="hypermat" | or(type(mat)~=[15 16 17])) ..
+    if ~(or(type(mat)~=[15 16 17]) ..
         & or(type(mat(:))==[1 2 4 5 6 8 10]))
         msg = _("%s: Wrong type of input argument #%d: ""%s"" not supported.\n")
         error(msprintf(msg, "resize_matrix", 1, typeof(mat(:))))
-        // typeof(hypermat(rational)): "rational" overrides "hypermat"...
     end
 
     arg = varargin(1)
index e2d096b..296f05e 100644 (file)
@@ -18,7 +18,7 @@
 //==============================================================================
 A = ones(2, 3, 3);
 A(2, 2, 2) = 2;
-B = hypermat([2, 2, 2], 1:8);
+B = matrix(1:8, [2, 2, 2]);
 // A.*.B must be the hypermatrix B pasted on each element of A multiplied by the
 // value of the element of A
 res = A .*. B;
@@ -42,7 +42,7 @@ assert_checkalmostequal([6, 6, 3], size(res));
 assert_checkalmostequal(3 .* A, res(3:4, 1:3, 1:3));
 D = [1 1; 0 0];
 res_mat = C .*. D;
-D = hypermat([2, 2, 1], [1 0 1 0]);
-C = hypermat([3, 2, 1], [1 3 5 2 4 6]);
+D = matrix([1 0 1 0],[2, 2, 1]);
+C = matrix([1 3 5 2 4 6], [3, 2, 1]);
 res = C .*. D;
 assert_checkalmostequal(res_mat, res(:,:,1));
index 166f95f..51cf03e 100644 (file)
@@ -23,7 +23,7 @@
 A = ones(2, 3, 3);
 A(2, 2, 2) = 2;
 
-B = hypermat([2, 2, 2], 1:8);
+B = matrix(1:8, [2, 2, 2]);
 
 // A.*.B must be the hypermatrix B pasted on each element of A multiplied by the
 // value of the element of A
@@ -58,8 +58,8 @@ assert_checkalmostequal(3 .* A, res(3:4, 1:3, 1:3));
 D = [1 1; 0 0];
 res_mat = C .*. D;
 
-D = hypermat([2, 2, 1], [1 0 1 0]);
-C = hypermat([3, 2, 1], [1 3 5 2 4 6]);
+D = matrix([1 0 1 0],[2, 2, 1]);
+C = matrix([1 3 5 2 4 6], [3, 2, 1]);
 
 res = C .*. D;
 
index d0a7bf9..db7ecd0 100644 (file)
@@ -247,10 +247,10 @@ checkBitset(uint16Value, uint16Pos, uint16BitValue, %f, 16);
 checkBitset(uint32Value, uint32Pos, uint32BitValue + 1, %t, 32);
 checkBitset(uint32Value, uint32Pos, uint32BitValue, %f, 32);
 // create value to check
-value = hypermat([2 3 1 2], 1:12);
+value = matrix(1:12, [2 3 1 2]);
 position = ones(value)*3;
 position(1:6) = 4;
-bitValue = hypermat(size(value), zeros(1:12));
+bitValue = matrix(zeros(1:12), size(value));
 [dbValue, dbPos, dbBitValue, ...
 uint8Value, uint8Pos, uint8BitValue, ...
 uint16Value, uint16Pos, uint16BitValue, ...
@@ -258,8 +258,8 @@ uint32Value, uint32Pos, uint32BitValue] = createValues(value, position, bitValue
 // create references
 refOne = [9, 10, 11, 12, 13, 14, 7, 12, 13, 14, 15, 12];
 refZero = [1, 2, 3, 4, 5, 6, 3, 8, 9, 10, 11, 8];
-refOne = hypermat([2 3 1 2], refOne);
-refZero = hypermat([2 3 1 2], refZero);
+refOne = matrix(refOne, [2 3 1 2]);
+refZero = matrix(refZero, [2 3 1 2]);
 [dbRefOne, dbRefZero, ...
 uint8RefOne, uint8RefZero, ...
 uint16RefOne, uint16RefZero, ...
index b803394..bb8ab17 100644 (file)
@@ -263,10 +263,10 @@ checkBitset(uint32Value, uint32Pos, uint32BitValue + 1, %t, 32);
 checkBitset(uint32Value, uint32Pos, uint32BitValue, %f, 32);
 
 // create value to check
-value = hypermat([2 3 1 2], 1:12);
+value = matrix(1:12, [2 3 1 2]);
 position = ones(value)*3;
 position(1:6) = 4;
-bitValue = hypermat(size(value), zeros(1:12));
+bitValue = matrix(zeros(1:12), size(value));
 [dbValue, dbPos, dbBitValue, ...
 uint8Value, uint8Pos, uint8BitValue, ...
 uint16Value, uint16Pos, uint16BitValue, ...
@@ -275,8 +275,8 @@ uint32Value, uint32Pos, uint32BitValue] = createValues(value, position, bitValue
 // create references
 refOne = [9, 10, 11, 12, 13, 14, 7, 12, 13, 14, 15, 12];
 refZero = [1, 2, 3, 4, 5, 6, 3, 8, 9, 10, 11, 8];
-refOne = hypermat([2 3 1 2], refOne);
-refZero = hypermat([2 3 1 2], refZero);
+refOne = matrix(refOne, [2 3 1 2]);
+refZero = matrix(refZero, [2 3 1 2]);
 [dbRefOne, dbRefZero, ...
 uint8RefOne, uint8RefZero, ...
 uint16RefOne, uint16RefZero, ...
index db1be95..339a2f1 100644 (file)
@@ -14,5 +14,5 @@
 a(1:2,1:2,1:2)=0;
 a(:)=(1:8).^2;
 res = sqrt(a);
-expected = hypermat([2 2 2],1:8);
+expected = matrix(1:8, [2 2 2]);
 assert_checkequal(res, expected);
index dfa3169..1d1e41f 100644 (file)
@@ -17,5 +17,5 @@
 a(1:2,1:2,1:2)=0;
 a(:)=(1:8).^2;
 res = sqrt(a);
-expected = hypermat([2 2 2],1:8);
+expected = matrix(1:8, [2 2 2]);
 assert_checkequal(res, expected);
index 7c80973..fec4296 100644 (file)
@@ -25,12 +25,12 @@ assert_checkequal(k, 5);
 A(1,1,8) = -1;
 [m,k] = min(A(1,1,:));
 assert_checkequal(k, 8);
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 [m k] = max(M(1,1,:));
 assert_checkequal(k, 4);
 [m k] = max(M(1,1,1,:));
 assert_checkequal(k, 2);
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 [m k] = min(M(1,1,:));
 assert_checkequal(k, 1);
 [m k] = min(M(1,1,1,:));
index 04a1df1..050a6e0 100644 (file)
@@ -1,48 +1,47 @@
-// =============================================================================\r
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-//  This file is distributed under the same license as the Scilab package.\r
-// =============================================================================\r
-\r
-// <-- CLI SHELL MODE -->\r
-\r
-// <-- Non-regression test for bug 6702 -->\r
-//\r
-// <-- Bugzilla URL -->\r
-// http://bugzilla.scilab.org/show_bug.cgi?id=6702\r
-//\r
-// <-- Short Description -->\r
-//    When we compute the maximum of the last column of an hypermatrix, the\r
-//    [m,k]=max() and [m,k] = min() syntax return a vector in k, instead of a scalar.\r
-// =============================================================================\r
-\r
-A = ones(9,9,9);\r
-[m, k] = max(A(1,1,:));\r
-assert_checkequal(k, 1);\r
-\r
-[m, k] = min(A(1,1,:));\r
-assert_checkequal(k, 1);\r
-\r
-A(1,1,5) = 7;\r
-[m,k] = max(A(1,1,:));\r
-assert_checkequal(k, 5);\r
-\r
-A(1,1,8) = -1;\r
-[m,k] = min(A(1,1,:));\r
-assert_checkequal(k, 8);\r
-\r
-M = hypermat([2 3 2 2],1:24);\r
-[m k] = max(M(1,1,:));\r
-assert_checkequal(k, 4);\r
-\r
-[m k] = max(M(1,1,1,:));\r
-assert_checkequal(k, 2);\r
-\r
-M = hypermat([2 3 2 2],1:24);\r
-[m k] = min(M(1,1,:));\r
-assert_checkequal(k, 1);\r
-\r
-[m k] = min(M(1,1,1,:));\r
-assert_checkequal(k, 1);\r
-\r\r
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- CLI SHELL MODE -->
+
+// <-- Non-regression test for bug 6702 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=6702
+//
+// <-- Short Description -->
+//    When we compute the maximum of the last column of an hypermatrix, the
+//    [m,k]=max() and [m,k] = min() syntax return a vector in k, instead of a scalar.
+// =============================================================================
+
+A = ones(9,9,9);
+[m, k] = max(A(1,1,:));
+assert_checkequal(k, 1);
+
+[m, k] = min(A(1,1,:));
+assert_checkequal(k, 1);
+
+A(1,1,5) = 7;
+[m,k] = max(A(1,1,:));
+assert_checkequal(k, 5);
+
+A(1,1,8) = -1;
+[m,k] = min(A(1,1,:));
+assert_checkequal(k, 8);
+
+M = matrix(1:24, [2 3 2 2]);
+[m k] = max(M(1,1,:));
+assert_checkequal(k, 4);
+
+[m k] = max(M(1,1,1,:));
+assert_checkequal(k, 2);
+
+M = matrix(1:24, [2 3 2 2]);
+[m k] = min(M(1,1,:));
+assert_checkequal(k, 1);
+
+[m k] = min(M(1,1,1,:));
+assert_checkequal(k, 1);
index 9a4d7af..ff36e1d 100644 (file)
@@ -14,7 +14,7 @@
 //
 // <-- Short Description -->
 // size with 2 input arguments did not work for hypermatrix.
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 ref = [2 3 2 2];
 s = size(M);
 if ~or(s == ref) then bugmes();quit;end
index bacfdda..b6e057d 100644 (file)
@@ -15,7 +15,7 @@
 // <-- Short Description -->
 // size with 2 input arguments did not work for hypermatrix.
 
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 ref = [2 3 2 2];
 s = size(M);
 if ~or(s == ref) then pause, end
index 9f2917c..cb80593 100644 (file)
-// =============================================================================\r
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
-// Copyright (C) 2008 - INRIA - Allan CORNET\r
-// Copyright (C) 2009 - INRIA - Michael Baudin, Antoine Elias\r
-// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin\r
-// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS\r
-//\r
-//  This file is distributed under the same license as the Scilab package.\r
-// =============================================================================\r
-\r
-//\r
-// <-- CLI SHELL MODE -->\r
-// <-- Bugzilla URL -->\r
-//\r
-\r
-\r
-// Bibliography :\r
-// "IEEE Standard for Floating-Point Arithmetic"\r
-// IEEE Std 754-2008\r
-// 29 August 2008\r
-// (Revision of IEEE Std 754-1985)\r
-\r
-// Check that properties of double precision floating point numbers\r
-// are the one which are expected.\r
-// Strict equality is required here.\r
-radix = number_properties("radix");\r
-assert_checkequal ( radix , 2 );\r
-p = number_properties("digits");\r
-assert_checkequal ( p , 53 );\r
-eps = number_properties("eps");\r
-assert_checkequal ( eps , 1.11022302462515650e-016 );\r
-assert_checkequal ( %eps , 2.22044604925031310e-016 );\r
-huge = number_properties("huge");\r
-assert_checkequal ( huge , 1.797693134862315708e+308 );\r
-tiny = number_properties("tiny");\r
-assert_checkequal ( tiny , 2.22507385850720140e-308 );\r
-denorm = number_properties("denorm");\r
-assert_checkequal ( denorm , %t );\r
-tiniest = number_properties("tiniest");\r
-assert_checkequal ( tiniest , 4.94065645841246540e-324 );\r
-minexp = number_properties("minexp");\r
-assert_checkequal ( minexp , -1021 );\r
-maxexp = number_properties("maxexp");\r
-assert_checkequal ( maxexp , 1024 );\r
-\r
-// Check that elementary operators +,-,*,/,sqrt and modulo\r
-// satisfy basic IEEE requirements.\r
-\r
-expectedadd = [\r
--%inf  -%inf   -%inf   -%inf   -%inf   %nan    %nan\r
--%inf  -2      -1      -1      0       %inf    %nan\r
--%inf  -1      -0      0       1       %inf    %nan\r
--%inf  -1      0       0       1       %inf    %nan\r
--%inf  0       1       1       2       %inf    %nan\r
-%nan   %inf    %inf    %inf    %inf    %inf    %nan\r
-%nan   %nan    %nan    %nan    %nan    %nan    %nan];\r
-\r
-expectedminus = [\r
-%nan   -%inf   -%inf   -%inf   -%inf   -%inf   %nan\r
-%inf   0       -1      -1      -2      -%inf   %nan\r
-%inf   1       0       -0      -1      -%inf   %nan\r
-%inf   1       0       0       -1      -%inf   %nan\r
-%inf   2       1       1       0       -%inf   %nan\r
-%inf   %inf    %inf    %inf    %inf    %nan    %nan\r
-%nan   %nan    %nan    %nan    %nan    %nan    %nan];\r
-\r
-expectedmult = [\r
-%inf   %inf    %nan    %nan    -%inf   -%inf   %nan\r
-%inf   1       0       -0      -1      -%inf   %nan\r
-%nan   0       0       -0      -0      %nan    %nan\r
-%nan   -0      -0      0       0       %nan    %nan\r
--%inf  -1      -0      0       1       %inf    %nan\r
--%inf  -%inf   %nan    %nan    %inf    %inf    %nan\r
-%nan   %nan    %nan    %nan    %nan    %nan    %nan];\r
-\r
-expecteddiv = [\r
-%nan   %inf    %inf    -%inf   -%inf   %nan    %nan\r
-0      1       %inf    -%inf   -1      -0      %nan\r
-0      0       %nan    %nan    -0      -0      %nan\r
--0     -0      %nan    %nan    0       0       %nan\r
--0     -1      -%inf   %inf    1       0       %nan\r
-%nan   -%inf   -%inf   %inf    %inf    %nan    %nan\r
-%nan   %nan    %nan    %nan    %nan    %nan    %nan];\r
-\r
-// See http://bugzilla.scilab.org/show_bug.cgi?id=2409\r
-// We must use imult(%inf) to get the mathematical number i * inf\r
-// since %i * %inf produces imult(%inf), as expected by the \r
-// intermediate multiplication 0*%inf = %nan.\r
-expectedsqrt = [\r
-imult(%inf)\r
-%i\r
-0\r
-0\r
-1.\r
-%inf\r
-%nan];\r
-\r
-expectedmodulo = [\r
-%nan  %nan  %nan  %nan  %nan  %nan  %nan\r
-%nan     0. %nan  %nan     0. %nan  %nan\r
-%nan     0. %nan  %nan     0. %nan  %nan\r
-%nan     0. %nan  %nan     0. %nan  %nan\r
-%nan     0. %nan  %nan     0. %nan  %nan\r
-%nan  %nan   %nan  %nan  %nan  %nan  %nan\r
-%nan  %nan   %nan  %nan  %nan  %nan  %nan];\r
-\r
-left=[-%inf,-1,-0,+0,1,%inf,%nan];\r
-right=left;\r
-n=size(left,2);\r
-\r
-computedadd = zeros(n,n);\r
-computedminus = zeros(n,n);\r
-computedmult = zeros(n,n);\r
-computeddiv = zeros(n,n);\r
-computedsqrt = zeros(n);\r
-computedsqrt = zeros(n);\r
-computedmodulo = zeros(n,n);\r
-ieee(2)\r
-for i=1:n\r
-    l=left(i);\r
-    computedsqrt (i) = sqrt(l);\r
-    for j=1:n\r
-        r=right(j);\r
-        computedadd (i,j)=l+r;\r
-        computedminus (i,j)=l-r;\r
-        computedmult (i,j)=l*r;\r
-        computeddiv (i,j)=l/r;\r
-        computedmodulo (i,j) = modulo(l , r);\r
-    end\r
-end\r
-\r
-assert_checkequal ( computedadd    , expectedadd );\r
-assert_checkequal ( computedminus  , expectedminus );\r
-assert_checkequal ( computedmult   , expectedmult );\r
-assert_checkequal ( computeddiv    , expecteddiv );\r
-assert_checkequal ( computedsqrt   , expectedsqrt );\r
-assert_checkequal ( computedmodulo , expectedmodulo );\r
-\r
-ieee(0)\r
-\r\r
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Allan CORNET
+// Copyright (C) 2009 - INRIA - Michael Baudin, Antoine Elias
+// Copyright (C) 2010-2011 - DIGITEO - Michael Baudin
+// Copyright (C) 2012 - Scilab Enterprises - Adeline CARNIS
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+//
+// <-- CLI SHELL MODE -->
+// <-- Bugzilla URL -->
+//
+
+
+// Bibliography :
+// "IEEE Standard for Floating-Point Arithmetic"
+// IEEE Std 754-2008
+// 29 August 2008
+// (Revision of IEEE Std 754-1985)
+
+// Check that properties of double precision floating point numbers
+// are the one which are expected.
+// Strict equality is required here.
+radix = number_properties("radix");
+assert_checkequal ( radix , 2 );
+p = number_properties("digits");
+assert_checkequal ( p , 53 );
+eps = number_properties("eps");
+assert_checkequal ( eps , 1.11022302462515650e-016 );
+assert_checkequal ( %eps , 2.22044604925031310e-016 );
+huge = number_properties("huge");
+assert_checkequal ( huge , 1.797693134862315708e+308 );
+tiny = number_properties("tiny");
+assert_checkequal ( tiny , 2.22507385850720140e-308 );
+denorm = number_properties("denorm");
+assert_checkequal ( denorm , %t );
+tiniest = number_properties("tiniest");
+assert_checkequal ( tiniest , 4.94065645841246540e-324 );
+minexp = number_properties("minexp");
+assert_checkequal ( minexp , -1021 );
+maxexp = number_properties("maxexp");
+assert_checkequal ( maxexp , 1024 );
+
+// Check that elementary operators +,-,*,/,sqrt and modulo
+// satisfy basic IEEE requirements.
+
+expectedadd = [
+-%inf  -%inf   -%inf   -%inf   -%inf   %nan    %nan
+-%inf  -2      -1      -1      0       %inf    %nan
+-%inf  -1      -0      0       1       %inf    %nan
+-%inf  -1      0       0       1       %inf    %nan
+-%inf  0       1       1       2       %inf    %nan
+%nan   %inf    %inf    %inf    %inf    %inf    %nan
+%nan   %nan    %nan    %nan    %nan    %nan    %nan];
+
+expectedminus = [
+%nan   -%inf   -%inf   -%inf   -%inf   -%inf   %nan
+%inf   0       -1      -1      -2      -%inf   %nan
+%inf   1       0       -0      -1      -%inf   %nan
+%inf   1       0       0       -1      -%inf   %nan
+%inf   2       1       1       0       -%inf   %nan
+%inf   %inf    %inf    %inf    %inf    %nan    %nan
+%nan   %nan    %nan    %nan    %nan    %nan    %nan];
+
+expectedmult = [
+%inf   %inf    %nan    %nan    -%inf   -%inf   %nan
+%inf   1       0       -0      -1      -%inf   %nan
+%nan   0       0       -0      -0      %nan    %nan
+%nan   -0      -0      0       0       %nan    %nan
+-%inf  -1      -0      0       1       %inf    %nan
+-%inf  -%inf   %nan    %nan    %inf    %inf    %nan
+%nan   %nan    %nan    %nan    %nan    %nan    %nan];
+
+expecteddiv = [
+%nan   %inf    %inf    -%inf   -%inf   %nan    %nan
+0      1       %inf    -%inf   -1      -0      %nan
+0      0       %nan    %nan    -0      -0      %nan
+-0     -0      %nan    %nan    0       0       %nan
+-0     -1      -%inf   %inf    1       0       %nan
+%nan   -%inf   -%inf   %inf    %inf    %nan    %nan
+%nan   %nan    %nan    %nan    %nan    %nan    %nan];
+
+// See http://bugzilla.scilab.org/show_bug.cgi?id=2409
+// We must use imult(%inf) to get the mathematical number i * inf
+// since %i * %inf produces imult(%inf), as expected by the
+// intermediate multiplication 0*%inf = %nan.
+expectedsqrt = [
+imult(%inf)
+%i
+0
+0
+1.
+%inf
+%nan];
+
+expectedmodulo = [
+%nan  %nan  %nan  %nan  %nan  %nan  %nan
+%nan     0. %nan  %nan     0. %nan  %nan
+%nan     0. %nan  %nan     0. %nan  %nan
+%nan     0. %nan  %nan     0. %nan  %nan
+%nan     0. %nan  %nan     0. %nan  %nan
+%nan  %nan   %nan  %nan  %nan  %nan  %nan
+%nan  %nan   %nan  %nan  %nan  %nan  %nan];
+
+left=[-%inf,-1,-0,+0,1,%inf,%nan];
+right=left;
+n=size(left,2);
+
+computedadd = zeros(n,n);
+computedminus = zeros(n,n);
+computedmult = zeros(n,n);
+computeddiv = zeros(n,n);
+computedsqrt = zeros(n);
+computedsqrt = zeros(n);
+computedmodulo = zeros(n,n);
+ieee(2)
+for i=1:n
+    l=left(i);
+    computedsqrt (i) = sqrt(l);
+    for j=1:n
+        r=right(j);
+        computedadd (i,j)=l+r;
+        computedminus (i,j)=l-r;
+        computedmult (i,j)=l*r;
+        computeddiv (i,j)=l/r;
+        computedmodulo (i,j) = modulo(l , r);
+    end
+end
+
+assert_checkequal ( computedadd    , expectedadd );
+assert_checkequal ( computedminus  , expectedminus );
+assert_checkequal ( computedmult   , expectedmult );
+assert_checkequal ( computeddiv    , expecteddiv );
+assert_checkequal ( computedsqrt   , expectedsqrt );
+assert_checkequal ( computedmodulo , expectedmodulo );
+
+ieee(0)
diff --git a/scilab/modules/elementary_functions/tests/unit_tests/cat.dia.ref b/scilab/modules/elementary_functions/tests/unit_tests/cat.dia.ref
new file mode 100644 (file)
index 0000000..5254d3e
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Pierre-Aimé AGNEL
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// Unit tests for cat.sci function
+// first example : concatenation according to the rows 
+dims=1; A1=[1 2 3]; A2=[4 5 6 ; 7 8 9]; A3=[10 11 12];
+y=cat(dims, A1, A2, A3);
+res = [1 2 3; 4 5 6; 7 8 9; 10 11 12];
+assert_checkequal(y, res);,
+// second example :  concatenation according to the columns
+dims=2; A1=[1 2 3]'; A2=[4 5;7 8;9 10];
+y=cat(dims, A1, A2)
+ y  = 
+   1.   4.   5. 
+   2.   7.   8. 
+   3.   9.   10.
+res = [1 4 5; 2 7 8; 3 9 10];
+assert_checkequal(y, res);,
+// third example : concatenation according to the 3th dimension 
+dims=3; A1=matrix(1:12,[2,2,3]); A2=[13 15;14 16]; A3=matrix(17:32,[2,2,4]);
+y=cat(dims, A1, A2, A3);
+res = matrix( [1:32], [2, 2, 8] );
+assert_checkequal(y, res);
diff --git a/scilab/modules/elementary_functions/tests/unit_tests/cat.tst b/scilab/modules/elementary_functions/tests/unit_tests/cat.tst
new file mode 100644 (file)
index 0000000..58e93a9
--- /dev/null
@@ -0,0 +1,26 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2016 - Scilab Enterprises - Pierre-Aimé AGNEL
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// Unit tests for cat.sci function
+// first example : concatenation according to the rows
+dims=1; A1=[1 2 3]; A2=[4 5 6 ; 7 8 9]; A3=[10 11 12];
+y=cat(dims, A1, A2, A3);
+res = [1 2 3; 4 5 6; 7 8 9; 10 11 12];
+assert_checkequal(y, res);,
+
+// second example :  concatenation according to the columns
+dims=2; A1=[1 2 3]'; A2=[4 5;7 8;9 10];
+y=cat(dims, A1, A2)
+res = [1 4 5; 2 7 8; 3 9 10];
+assert_checkequal(y, res);,
+
+// third example : concatenation according to the 3th dimension
+dims=3; A1=matrix(1:12,[2,2,3]); A2=[13 15;14 16]; A3=matrix(17:32,[2,2,4]);
+y=cat(dims, A1, A2, A3);
+res = matrix( [1:32], [2, 2, 8] );
+
+assert_checkequal(y, res);
index 734aba2..3b3bc45 100644 (file)
@@ -14,7 +14,7 @@ c_d=1+2*%i;
 A=[1+2*%i, 3+2*%i; 0, 0];
 spA=sparse(A);
 s=poly(0,"s");
-M = hypermat([1 2 2],1:4);
+M = matrix(1:4, [1 2 2]);
 M(:,1,1)=%i;
 assert_checkequal(conj(%nan), %nan);
 assert_checkequal(conj(%inf), %inf);
index 041dd00..f46874c 100644 (file)
@@ -14,8 +14,8 @@ d=1;
 c_d=1+2*%i;
 A=[1+2*%i, 3+2*%i; 0, 0];
 spA=sparse(A);
-s = poly(0,"s");
-M = hypermat([1 2 2],1:4);
+s=poly(0,"s");
+M = matrix(1:4, [1 2 2]);
 M(:,1,1)=%i;
 
 assert_checkequal(conj(%nan), %nan);
index 3798c22..f6ab0fe 100644 (file)
@@ -147,11 +147,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
 //=======================================================================
@@ -172,18 +172,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
@@ -200,11 +200,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
 //=======================================================================
@@ -236,18 +236,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 913b520..fc8ac0a 100644 (file)
@@ -180,11 +180,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
 
@@ -208,20 +208,20 @@ 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));
 
 //=======================================================================
@@ -240,11 +240,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
 //=======================================================================
@@ -279,19 +279,19 @@ 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);
 
 //=======================================================================
index dc39bad..41e824d 100644 (file)
@@ -146,11 +146,11 @@ end
 d=[1 10;254 9];d(1,1,2)=1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumsum(d,typ(:)), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-    assert_checkequal(cumsum(d,"*",typ(:)), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-    assert_checkequal(cumsum(d,1,typ(:)), hypermat([2,2,2],[1;255;10;19;1;1;0;0]));
-    assert_checkequal(cumsum(d,2,typ(:)), hypermat([2,2,2],[1;254;11;263;1;0;1;0]));
-    assert_checkequal(cumsum(d,3,typ(:)), hypermat([2,2,2],[1;254;10;9;2;254;10;9]));
+    assert_checkequal(cumsum(d,typ(:)), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+    assert_checkequal(cumsum(d,"*",typ(:)), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+    assert_checkequal(cumsum(d,1,typ(:)), matrix([1;255;10;19;1;1;0;0], [2,2,2]));
+    assert_checkequal(cumsum(d,2,typ(:)), matrix([1;254;11;263;1;0;1;0], [2,2,2]));
+    assert_checkequal(cumsum(d,3,typ(:)), matrix([1;254;10;9;2;254;10;9], [2,2,2]));
     assert_checkequal(cumsum(d,5,typ(:)), d);
 end
 //=======================================================================
@@ -171,18 +171,18 @@ assert_checkequal(cumsum(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(cumsum(i,typ(:)), hypermat([2,2,2],uint8([1;255;9;18;19;19;19;19])));
-    assert_checkequal(cumsum(i,"*",typ(:)), hypermat([2,2,2],uint8([1;255;9;18;19;19;19;19])));
-    assert_checkequal(cumsum(i,1,typ(:)), hypermat([2,2,2],uint8([1;255;10;19;1;1;0;0])));
-    assert_checkequal(cumsum(i,2,typ(:)), hypermat([2,2,2],uint8([1;254;11;7;1;0;1;0])));
-    assert_checkequal(cumsum(i,3,typ(:)), hypermat([2,2,2],uint8([1;254;10;9;2;254;10;9])));
+    assert_checkequal(cumsum(i,typ(:)), matrix(uint8([1;255;9;18;19;19;19;19]), [2,2,2]));
+    assert_checkequal(cumsum(i,"*",typ(:)), matrix(uint8([1;255;9;18;19;19;19;19]), [2,2,2]));
+    assert_checkequal(cumsum(i,1,typ(:)), matrix(uint8([1;255;10;19;1;1;0;0]), [2,2,2]));
+    assert_checkequal(cumsum(i,2,typ(:)), matrix(uint8([1;254;11;7;1;0;1;0]), [2,2,2]));
+    assert_checkequal(cumsum(i,3,typ(:)), matrix(uint8([1;254;10;9;2;254;10;9]), [2,2,2]));
     assert_checkequal(cumsum(i,5,typ(:)), double(i));
 end
-assert_checkequal(cumsum(i,"double"), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-assert_checkequal(cumsum(i,"*","double"), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-assert_checkequal(cumsum(i,1,"double"), hypermat([2,2,2],[1;255;10;19;1;1;0;0]));
-assert_checkequal(cumsum(i,2,"double"), hypermat([2,2,2],[1;254;11;263;1;0;1;0]));
-assert_checkequal(cumsum(i,3,"double"), hypermat([2,2,2],[1;254;10;9;2;254;10;9]));
+assert_checkequal(cumsum(i,"double"), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+assert_checkequal(cumsum(i,"*","double"), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+assert_checkequal(cumsum(i,1,"double"), matrix([1;255;10;19;1;1;0;0], [2,2,2]));
+assert_checkequal(cumsum(i,2,"double"), matrix([1;254;11;263;1;0;1;0], [2,2,2]));
+assert_checkequal(cumsum(i,3,"double"), matrix([1;254;10;9;2;254;10;9], [2,2,2]));
 assert_checkequal(cumsum(i,5,"double"), double(i));
 //=======================================================================
 //Matrices of Polynomials
@@ -199,11 +199,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(cumsum(p,typ(:)), hypermat([2,2,2],[s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2]));
-    assert_checkequal(cumsum(p,"*",typ(:)), hypermat([2,2,2],[s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2]));
-    assert_checkequal(cumsum(p,1,typ(:)), hypermat([2,2,2],[s;s+s^2;1+s;1+s;-1;-1;0*s;0*s]));
-    assert_checkequal(cumsum(p,2,typ(:)), hypermat([2,2,2],[s;s^2;1+2*s;s^2;-1;0*s;-1;0*s]));
-    assert_checkequal(cumsum(p,3,typ(:)), hypermat([2,2,2],[s;s^2;1+s;0*s;-1+s;s^2;1+s;0*s]));
+    assert_checkequal(cumsum(p,typ(:)), matrix([s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2], [2,2,2]));
+    assert_checkequal(cumsum(p,"*",typ(:)), matrix([s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2], [2,2,2]));
+    assert_checkequal(cumsum(p,1,typ(:)), matrix([s;s+s^2;1+s;1+s;-1;-1;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumsum(p,2,typ(:)), matrix([s;s^2;1+2*s;s^2;-1;0*s;-1;0*s], [2,2,2]));
+    assert_checkequal(cumsum(p,3,typ(:)), matrix([s;s^2;1+s;0*s;-1+s;s^2;1+s;0*s], [2,2,2]));
     assert_checkequal(cumsum(p,5,typ(:)), p);
 end
 //=======================================================================
@@ -235,18 +235,18 @@ assert_checkequal(cumsum(b,3,"native"), b);
 //with hypermatrices
 b=[%t %t;%f %t];b(1,1,2)=%f;
 for typ=list(list(),list("double"));
-    assert_checkequal(cumsum(b,typ(:)), hypermat([2,2,2],[1;1;2;3;3;3;3;3]));
-    assert_checkequal(cumsum(b,"*",typ(:)), hypermat([2,2,2],[1;1;2;3;3;3;3;3]));
-    assert_checkequal(cumsum(b,1,typ(:)), hypermat([2,2,2],[1;1;1;2;0;0;0;0]));
-    assert_checkequal(cumsum(b,2,typ(:)), hypermat([2,2,2],[1;0;2;1;0;0;0;0]));
-    assert_checkequal(cumsum(b,3,typ(:)), hypermat([2,2,2],[1;0;1;1;1;0;1;1]));
+    assert_checkequal(cumsum(b,typ(:)), matrix([1;1;2;3;3;3;3;3], [2,2,2]));
+    assert_checkequal(cumsum(b,"*",typ(:)), matrix([1;1;2;3;3;3;3;3], [2,2,2]));
+    assert_checkequal(cumsum(b,1,typ(:)), matrix([1;1;1;2;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumsum(b,2,typ(:)), matrix([1;0;2;1;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumsum(b,3,typ(:)), matrix([1;0;1;1;1;0;1;1], [2,2,2]));
     assert_checkequal(cumsum(b,5,typ(:)), double(b));
 end
-assert_checkequal(cumsum(b,"native"), hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t]));
-assert_checkequal(cumsum(b,"*","native"), hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t]));
-assert_checkequal(cumsum(b,1,"native"), hypermat([2,2,2],[%t;%t;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumsum(b,2,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumsum(b,3,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%t;%f;%t;%t]));
+assert_checkequal(cumsum(b,"native"), matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2]));
+assert_checkequal(cumsum(b,"*","native"), matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2]));
+assert_checkequal(cumsum(b,1,"native"), matrix([%t;%t;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumsum(b,2,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumsum(b,3,"native"), matrix([%t;%f;%t;%t;%t;%f;%t;%t], [2,2,2]));
 assert_checkequal(cumsum(b,5,"native"), b);
 //=======================================================================
 //sparse matrices of floats
index 77e98be..c46a53c 100644 (file)
@@ -181,11 +181,11 @@ end
 d=[1 10;254 9];d(1,1,2)=1;
 T=list(list(),list("native"),list("double"));
 for typ=T
-    assert_checkequal(cumsum(d,typ(:)), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-    assert_checkequal(cumsum(d,"*",typ(:)), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-    assert_checkequal(cumsum(d,1,typ(:)), hypermat([2,2,2],[1;255;10;19;1;1;0;0]));
-    assert_checkequal(cumsum(d,2,typ(:)), hypermat([2,2,2],[1;254;11;263;1;0;1;0]));
-    assert_checkequal(cumsum(d,3,typ(:)), hypermat([2,2,2],[1;254;10;9;2;254;10;9]));
+    assert_checkequal(cumsum(d,typ(:)), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+    assert_checkequal(cumsum(d,"*",typ(:)), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+    assert_checkequal(cumsum(d,1,typ(:)), matrix([1;255;10;19;1;1;0;0], [2,2,2]));
+    assert_checkequal(cumsum(d,2,typ(:)), matrix([1;254;11;263;1;0;1;0], [2,2,2]));
+    assert_checkequal(cumsum(d,3,typ(:)), matrix([1;254;10;9;2;254;10;9], [2,2,2]));
     assert_checkequal(cumsum(d,5,typ(:)), d);
 end
 
@@ -209,20 +209,19 @@ assert_checkequal(cumsum(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(cumsum(i,typ(:)), hypermat([2,2,2],uint8([1;255;9;18;19;19;19;19])));
-    assert_checkequal(cumsum(i,"*",typ(:)), hypermat([2,2,2],uint8([1;255;9;18;19;19;19;19])));
-    assert_checkequal(cumsum(i,1,typ(:)), hypermat([2,2,2],uint8([1;255;10;19;1;1;0;0])));
-    assert_checkequal(cumsum(i,2,typ(:)), hypermat([2,2,2],uint8([1;254;11;7;1;0;1;0])));
-    assert_checkequal(cumsum(i,3,typ(:)), hypermat([2,2,2],uint8([1;254;10;9;2;254;10;9])));
+    assert_checkequal(cumsum(i,typ(:)), matrix(uint8([1;255;9;18;19;19;19;19]), [2,2,2]));
+    assert_checkequal(cumsum(i,"*",typ(:)), matrix(uint8([1;255;9;18;19;19;19;19]), [2,2,2]));
+    assert_checkequal(cumsum(i,1,typ(:)), matrix(uint8([1;255;10;19;1;1;0;0]), [2,2,2]));
+    assert_checkequal(cumsum(i,2,typ(:)), matrix(uint8([1;254;11;7;1;0;1;0]), [2,2,2]));
+    assert_checkequal(cumsum(i,3,typ(:)), matrix(uint8([1;254;10;9;2;254;10;9]), [2,2,2]));
     assert_checkequal(cumsum(i,5,typ(:)), double(i));
 end
 
-
-assert_checkequal(cumsum(i,"double"), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-assert_checkequal(cumsum(i,"*","double"), hypermat([2,2,2],[1;255;265;274;275;275;275;275]));
-assert_checkequal(cumsum(i,1,"double"), hypermat([2,2,2],[1;255;10;19;1;1;0;0]));
-assert_checkequal(cumsum(i,2,"double"), hypermat([2,2,2],[1;254;11;263;1;0;1;0]));
-assert_checkequal(cumsum(i,3,"double"), hypermat([2,2,2],[1;254;10;9;2;254;10;9]));
+assert_checkequal(cumsum(i,"double"), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+assert_checkequal(cumsum(i,"*","double"), matrix([1;255;265;274;275;275;275;275], [2,2,2]));
+assert_checkequal(cumsum(i,1,"double"), matrix([1;255;10;19;1;1;0;0], [2,2,2]));
+assert_checkequal(cumsum(i,2,"double"), matrix([1;254;11;263;1;0;1;0], [2,2,2]));
+assert_checkequal(cumsum(i,3,"double"), matrix([1;254;10;9;2;254;10;9], [2,2,2]));
 assert_checkequal(cumsum(i,5,"double"), double(i));
 
 //=======================================================================
@@ -241,11 +240,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(cumsum(p,typ(:)), hypermat([2,2,2],[s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2]));
-    assert_checkequal(cumsum(p,"*",typ(:)), hypermat([2,2,2],[s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2]));
-    assert_checkequal(cumsum(p,1,typ(:)), hypermat([2,2,2],[s;s+s^2;1+s;1+s;-1;-1;0*s;0*s]));
-    assert_checkequal(cumsum(p,2,typ(:)), hypermat([2,2,2],[s;s^2;1+2*s;s^2;-1;0*s;-1;0*s]));
-    assert_checkequal(cumsum(p,3,typ(:)), hypermat([2,2,2],[s;s^2;1+s;0*s;-1+s;s^2;1+s;0*s]));
+    assert_checkequal(cumsum(p,typ(:)), matrix([s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2], [2,2,2]));
+    assert_checkequal(cumsum(p,"*",typ(:)), matrix([s;s+s^2;1+2*s+s^2;1+2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2;2*s+s^2], [2,2,2]));
+    assert_checkequal(cumsum(p,1,typ(:)), matrix([s;s+s^2;1+s;1+s;-1;-1;0*s;0*s], [2,2,2]));
+    assert_checkequal(cumsum(p,2,typ(:)), matrix([s;s^2;1+2*s;s^2;-1;0*s;-1;0*s], [2,2,2]));
+    assert_checkequal(cumsum(p,3,typ(:)), matrix([s;s^2;1+s;0*s;-1+s;s^2;1+s;0*s], [2,2,2]));
     assert_checkequal(cumsum(p,5,typ(:)), p);
 end
 
@@ -281,19 +280,19 @@ assert_checkequal(cumsum(b,3,"native"), b);
 //with hypermatrices
 b=[%t %t;%f %t];b(1,1,2)=%f;
 for typ=list(list(),list("double"));
-    assert_checkequal(cumsum(b,typ(:)), hypermat([2,2,2],[1;1;2;3;3;3;3;3]));
-    assert_checkequal(cumsum(b,"*",typ(:)), hypermat([2,2,2],[1;1;2;3;3;3;3;3]));
-    assert_checkequal(cumsum(b,1,typ(:)), hypermat([2,2,2],[1;1;1;2;0;0;0;0]));
-    assert_checkequal(cumsum(b,2,typ(:)), hypermat([2,2,2],[1;0;2;1;0;0;0;0]));
-    assert_checkequal(cumsum(b,3,typ(:)), hypermat([2,2,2],[1;0;1;1;1;0;1;1]));
+    assert_checkequal(cumsum(b,typ(:)), matrix([1;1;2;3;3;3;3;3], [2,2,2]));
+    assert_checkequal(cumsum(b,"*",typ(:)), matrix([1;1;2;3;3;3;3;3], [2,2,2]));
+    assert_checkequal(cumsum(b,1,typ(:)), matrix([1;1;1;2;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumsum(b,2,typ(:)), matrix([1;0;2;1;0;0;0;0], [2,2,2]));
+    assert_checkequal(cumsum(b,3,typ(:)), matrix([1;0;1;1;1;0;1;1], [2,2,2]));
     assert_checkequal(cumsum(b,5,typ(:)), double(b));
 end
 
-assert_checkequal(cumsum(b,"native"), hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t]));
-assert_checkequal(cumsum(b,"*","native"), hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t]));
-assert_checkequal(cumsum(b,1,"native"), hypermat([2,2,2],[%t;%t;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumsum(b,2,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%f;%f;%f;%f]));
-assert_checkequal(cumsum(b,3,"native"), hypermat([2,2,2],[%t;%f;%t;%t;%t;%f;%t;%t]));
+assert_checkequal(cumsum(b,"native"), matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2]));
+assert_checkequal(cumsum(b,"*","native"), matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2]));
+assert_checkequal(cumsum(b,1,"native"), matrix([%t;%t;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumsum(b,2,"native"), matrix([%t;%f;%t;%t;%f;%f;%f;%f], [2,2,2]));
+assert_checkequal(cumsum(b,3,"native"), matrix([%t;%f;%t;%t;%t;%f;%t;%t], [2,2,2]));
 assert_checkequal(cumsum(b,5,"native"), b);
 
 //=======================================================================
index 80ec178..741f41c 100644 (file)
@@ -14,7 +14,7 @@ if find(beers=="Foster") <> 5 then bugmes();quit;end
 A=[0.3873779    0.9222899    0.9488184    0.3435337    0.3760119];
 if find(A<0.4) <> [1 4 5] then bugmes();quit;end
 if find(A>0.4) <> [2 3] then bugmes();quit;end
-A=[];A(2,3,2) = 0;A(:)=1:12;
+A=matrix(1:12, [2,3,2]);
 [i,j,k]=find(A>5);
 if A(i(1),j(1),k(1)) <> 6 then bugmes();quit;end
 [i,j,k]=find(A<=5);
index 5c550f3..85b99d7 100644 (file)
@@ -18,7 +18,7 @@ A=[0.3873779    0.9222899    0.9488184    0.3435337    0.3760119];
 if find(A<0.4) <> [1 4 5] then pause, end
 if find(A>0.4) <> [2 3] then pause, end
 
-A=[];A(2,3,2) = 0;A(:)=1:12;
+A=matrix(1:12, [2,3,2]);
 [i,j,k]=find(A>5);
 if A(i(1),j(1),k(1)) <> 6 then pause, end
 
index b70fc52..9d8a224 100644 (file)
@@ -22,7 +22,7 @@ assert_checkequal([4 3 2 1; 8 7 6 5], y);
 // Along dimension 3:
 x = matrix(1:24, [3 2 4]);
 dim = 3;
-ref = hypermat([3 2 4], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6]);
+ref = matrix( [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6], [3 2 4]);
 y = flipdim(x, dim);
 assert_checkequal(y, ref);
 // Complexes:
@@ -32,7 +32,7 @@ assert_checkequal(y, ref*%i);
 y = flipdim(int16(x), dim);
 assert_checkequal(y, int16(ref));
 // Booleans:
-ref_bool = hypermat([3 2 4], [%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%F;%F;%F;%T;%T;%F;%F;%F;%F;%F;%F;%F]);
+ref_bool = matrix([%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%F;%F;%F;%T;%T;%F;%F;%F;%F;%F;%F;%F], [3 2 4]);
 y = flipdim(x < 15, 2);
 assert_checkequal(y, ref_bool);
 // Texts:
@@ -59,6 +59,6 @@ assert_checkequal(y, ref_r);
 // Hypermatrices:
 x = matrix(1:48, [3 2 4 2]);
 dim = 3;
-ref = hypermat([3 2 4 2], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6;43;44;45;46;47;48;37;38;39;40;41;42;31;32;33;34;35;36;25;26;27;28;29;30]);
+ref = matrix([19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6;43;44;45;46;47;48;37;38;39;40;41;42;31;32;33;34;35;36;25;26;27;28;29;30], [3 2 4 2]);
 y = flipdim(x, dim);
 assert_checkequal(y, ref);
index 14b8b8a..cc17a35 100644 (file)
@@ -24,7 +24,7 @@ assert_checkequal([4 3 2 1; 8 7 6 5], y);
 // Along dimension 3:
 x = matrix(1:24, [3 2 4]);
 dim = 3;
-ref = hypermat([3 2 4], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6]);
+ref = matrix( [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6], [3 2 4]);
 y = flipdim(x, dim);
 assert_checkequal(y, ref);
 
@@ -37,7 +37,7 @@ y = flipdim(int16(x), dim);
 assert_checkequal(y, int16(ref));
 
 // Booleans:
-ref_bool = hypermat([3 2 4], [%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%F;%F;%F;%T;%T;%F;%F;%F;%F;%F;%F;%F]);
+ref_bool = matrix([%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%T;%F;%F;%F;%T;%T;%F;%F;%F;%F;%F;%F;%F], [3 2 4]);
 y = flipdim(x < 15, 2);
 assert_checkequal(y, ref_bool);
 
@@ -68,6 +68,6 @@ assert_checkequal(y, ref_r);
 // Hypermatrices:
 x = matrix(1:48, [3 2 4 2]);
 dim = 3;
-ref = hypermat([3 2 4 2], [19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6;43;44;45;46;47;48;37;38;39;40;41;42;31;32;33;34;35;36;25;26;27;28;29;30]);
+ref = matrix([19;20;21;22;23;24;13;14;15;16;17;18;7;8;9;10;11;12;1;2;3;4;5;6;43;44;45;46;47;48;37;38;39;40;41;42;31;32;33;34;35;36;25;26;27;28;29;30], [3 2 4 2]);
 y = flipdim(x, dim);
 assert_checkequal(y, ref);
index 68fdbcd..2e5122b 100644 (file)
@@ -22,23 +22,23 @@ assert_checkequal(iscolumn(["s"; "t"; "u"]), %t);
 assert_checkequal(iscolumn(["s"; "t"; "u"]'), %f);
 assert_checkequal(iscolumn(["s" "t" "u";"s" "t" "u"]), %f);
 assert_checkequal(iscolumn("s"), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],["s";"s";"s"])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],["s";"s";"s"])), %f);
+assert_checkequal(iscolumn(matrix(["s";"s";"s"], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix(["s";"s";"s"], [1,1,3])), %f);
 // Polynomials
 s=poly(0,"s");
 assert_checkequal(iscolumn([1+s; 2+s]), %t);
 assert_checkequal(iscolumn([1+s; 2+s]'), %f);
 assert_checkequal(iscolumn([1+s 2+s; 3+s 4+s]), %f);
 assert_checkequal(iscolumn(1+s), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],[s;s;s])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],[s;s;s])), %f);
+assert_checkequal(iscolumn(matrix([s;s;s], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix([s;s;s], [1,1,3])), %f);
 // Booleans
 assert_checkequal(iscolumn([%t; %f]), %t);
 assert_checkequal(iscolumn([%t; %f]'), %f);
 assert_checkequal(iscolumn([%t %f; %f %t]), %f);
 assert_checkequal(iscolumn(%t), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],[%t;%t;%t])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],[%t;%t;%t])), %f);
+assert_checkequal(iscolumn(matrix([%t;%t;%t], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix([%t;%t;%t], [1,1,3])), %f);
 // Sparses
 assert_checkequal(iscolumn(sparse([1; 0; 2])), %t);
 assert_checkequal(iscolumn(sparse([1; 0; 2])'), %f);
index e13dfd6..f7ed914 100644 (file)
@@ -24,8 +24,8 @@ assert_checkequal(iscolumn(["s"; "t"; "u"]), %t);
 assert_checkequal(iscolumn(["s"; "t"; "u"]'), %f);
 assert_checkequal(iscolumn(["s" "t" "u";"s" "t" "u"]), %f);
 assert_checkequal(iscolumn("s"), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],["s";"s";"s"])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],["s";"s";"s"])), %f);
+assert_checkequal(iscolumn(matrix(["s";"s";"s"], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix(["s";"s";"s"], [1,1,3])), %f);
 
 // Polynomials
 s=poly(0,"s");
@@ -33,16 +33,16 @@ assert_checkequal(iscolumn([1+s; 2+s]), %t);
 assert_checkequal(iscolumn([1+s; 2+s]'), %f);
 assert_checkequal(iscolumn([1+s 2+s; 3+s 4+s]), %f);
 assert_checkequal(iscolumn(1+s), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],[s;s;s])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],[s;s;s])), %f);
+assert_checkequal(iscolumn(matrix([s;s;s], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix([s;s;s], [1,1,3])), %f);
 
 // Booleans
 assert_checkequal(iscolumn([%t; %f]), %t);
 assert_checkequal(iscolumn([%t; %f]'), %f);
 assert_checkequal(iscolumn([%t %f; %f %t]), %f);
 assert_checkequal(iscolumn(%t), %t);
-assert_checkequal(iscolumn(hypermat([3,1,1],[%t;%t;%t])), %t);
-assert_checkequal(iscolumn(hypermat([1,1,3],[%t;%t;%t])), %f);
+assert_checkequal(iscolumn(matrix([%t;%t;%t], [3,1,1])), %t);
+assert_checkequal(iscolumn(matrix([%t;%t;%t], [1,1,3])), %f);
 
 // Sparses
 assert_checkequal(iscolumn(sparse([1; 0; 2])), %t);
index ed31526..6913f57 100644 (file)
@@ -22,20 +22,20 @@ assert_checkequal(ismatrix(["s" "t" "u"]), %t);
 assert_checkequal(ismatrix(["s" "t" "u"]'), %t);
 assert_checkequal(ismatrix(["s" "t" "u";"s" "t" "u"]), %t);
 assert_checkequal(ismatrix("s"), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],["s";"s";"s";"s";"s";"s";"s";"s"])), %f);
+assert_checkequal(ismatrix(matrix(["s";"s";"s";"s";"s";"s";"s";"s"], [2,2,2])), %f);
 // Polynomials
 s=poly(0,"s");
 assert_checkequal(ismatrix([1+s 2+s]), %t);
 assert_checkequal(ismatrix([1+s 2+s]'), %t);
 assert_checkequal(ismatrix([1+s 2+s 3+s; 3+s 4+s 5+s]), %t);
 assert_checkequal(ismatrix(1+s), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],[s;s;s;s;s;s;s;s;])), %f);
+assert_checkequal(ismatrix(matrix([s;s;s;s;s;s;s;s;], [2,2,2])), %f);
 // Booleans
 assert_checkequal(ismatrix([%t %f]), %t);
 assert_checkequal(ismatrix([%t %f]'), %t);
 assert_checkequal(ismatrix([%t %f %t; %f %t %f]), %t);
 assert_checkequal(ismatrix(%t), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t])), %f);
+assert_checkequal(ismatrix(matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2])), %f);
 // Sparses
 assert_checkequal(ismatrix(sparse([1 0 2])), %t);
 assert_checkequal(ismatrix(sparse([1 0 2])'), %t);
index f5a4f70..4cadfe4 100644 (file)
@@ -24,7 +24,7 @@ assert_checkequal(ismatrix(["s" "t" "u"]), %t);
 assert_checkequal(ismatrix(["s" "t" "u"]'), %t);
 assert_checkequal(ismatrix(["s" "t" "u";"s" "t" "u"]), %t);
 assert_checkequal(ismatrix("s"), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],["s";"s";"s";"s";"s";"s";"s";"s"])), %f);
+assert_checkequal(ismatrix(matrix(["s";"s";"s";"s";"s";"s";"s";"s"], [2,2,2])), %f);
 
 // Polynomials
 s=poly(0,"s");
@@ -32,14 +32,14 @@ assert_checkequal(ismatrix([1+s 2+s]), %t);
 assert_checkequal(ismatrix([1+s 2+s]'), %t);
 assert_checkequal(ismatrix([1+s 2+s 3+s; 3+s 4+s 5+s]), %t);
 assert_checkequal(ismatrix(1+s), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],[s;s;s;s;s;s;s;s;])), %f);
+assert_checkequal(ismatrix(matrix([s;s;s;s;s;s;s;s;], [2,2,2])), %f);
 
 // Booleans
 assert_checkequal(ismatrix([%t %f]), %t);
 assert_checkequal(ismatrix([%t %f]'), %t);
 assert_checkequal(ismatrix([%t %f %t; %f %t %f]), %t);
 assert_checkequal(ismatrix(%t), %t);
-assert_checkequal(ismatrix(hypermat([2,2,2],[%t;%t;%t;%t;%t;%t;%t;%t])), %f);
+assert_checkequal(ismatrix(matrix([%t;%t;%t;%t;%t;%t;%t;%t], [2,2,2])), %f);
 
 // Sparses
 assert_checkequal(ismatrix(sparse([1 0 2])), %t);
index 83fd658..f5e3f62 100644 (file)
@@ -22,23 +22,23 @@ assert_checkequal(isrow(["s" "t" "u"]), %t);
 assert_checkequal(isrow(["s" "t" "u"]'), %f);
 assert_checkequal(isrow(["s" "t" "u";"s" "t" "u"]), %f);
 assert_checkequal(isrow("s"), %t);
-assert_checkequal(isrow(hypermat([1,1,3],["s";"s";"s"])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],["s";"s"])), %f);
+assert_checkequal(isrow(matrix(["s";"s";"s"], [1,1,3])), %t);
+assert_checkequal(isrow(matrix(["s";"s"], [2,1,1])), %f);
 // Polynomials
 s=poly(0,"s");
 assert_checkequal(isrow([1+s 2+s]), %t);
 assert_checkequal(isrow([1+s 2+s]'), %f);
 assert_checkequal(isrow([1+s 2+s; 3+s 4+s]), %f);
 assert_checkequal(isrow(1+s), %t);
-assert_checkequal(isrow(hypermat([1,1,3],[s;s;s])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],[s;s])), %f);
+assert_checkequal(isrow(matrix([s;s;s], [1,1,3])), %t);
+assert_checkequal(isrow(matrix([s;s], [2,1,1])), %f);
 // Booleans
 assert_checkequal(isrow([%t %f]), %t);
 assert_checkequal(isrow([%t %f]'), %f);
 assert_checkequal(isrow([%t %f; %f %t]), %f);
 assert_checkequal(isrow(%t), %t);
-assert_checkequal(isrow(hypermat([1,1,3],[%t;%t;%t])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],[%t;%t])), %f);
+assert_checkequal(isrow(matrix([%t;%t;%t], [1,1,3])), %t);
+assert_checkequal(isrow(matrix([%t;%t], [2,1,1])), %f);
 // Sparses
 assert_checkequal(isrow(sparse([1 0 2])), %t);
 assert_checkequal(isrow(sparse([1 0 2])'), %f);
index 82f8b7e..7767cec 100644 (file)
@@ -24,8 +24,8 @@ assert_checkequal(isrow(["s" "t" "u"]), %t);
 assert_checkequal(isrow(["s" "t" "u"]'), %f);
 assert_checkequal(isrow(["s" "t" "u";"s" "t" "u"]), %f);
 assert_checkequal(isrow("s"), %t);
-assert_checkequal(isrow(hypermat([1,1,3],["s";"s";"s"])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],["s";"s"])), %f);
+assert_checkequal(isrow(matrix(["s";"s";"s"], [1,1,3])), %t);
+assert_checkequal(isrow(matrix(["s";"s"], [2,1,1])), %f);
 
 // Polynomials
 s=poly(0,"s");
@@ -33,16 +33,16 @@ assert_checkequal(isrow([1+s 2+s]), %t);
 assert_checkequal(isrow([1+s 2+s]'), %f);
 assert_checkequal(isrow([1+s 2+s; 3+s 4+s]), %f);
 assert_checkequal(isrow(1+s), %t);
-assert_checkequal(isrow(hypermat([1,1,3],[s;s;s])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],[s;s])), %f);
+assert_checkequal(isrow(matrix([s;s;s], [1,1,3])), %t);
+assert_checkequal(isrow(matrix([s;s], [2,1,1])), %f);
 
 // Booleans
 assert_checkequal(isrow([%t %f]), %t);
 assert_checkequal(isrow([%t %f]'), %f);
 assert_checkequal(isrow([%t %f; %f %t]), %f);
 assert_checkequal(isrow(%t), %t);
-assert_checkequal(isrow(hypermat([1,1,3],[%t;%t;%t])), %t);
-assert_checkequal(isrow(hypermat([2,1,1],[%t;%t])), %f);
+assert_checkequal(isrow(matrix([%t;%t;%t], [1,1,3])), %t);
+assert_checkequal(isrow(matrix([%t;%t], [2,1,1])), %f);
 
 // Sparses
 assert_checkequal(isrow(sparse([1 0 2])), %t);
index f0f7b4f..7d8cfd2 100644 (file)
@@ -22,23 +22,25 @@ assert_checkequal(issquare(["s" "t" "u"]), %f);
 assert_checkequal(issquare(["s" "t" "u"]'), %f);
 assert_checkequal(issquare(["s" "t";"s" "t"]), %t);
 assert_checkequal(issquare("s"), %t);
-assert_checkequal(issquare(hypermat([2,1,2],["s";"s";"s";"s"])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],["t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t"])), %f);
+assert_checkequal(issquare(matrix(["s";"s";"s";"s"], [2,1,2])), %t);
+assert_checkequal(issquare(matrix(["t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t"], [2,2,3])), %f);
 // Polynomials
 s=poly(0,"s");
 assert_checkequal(issquare([1+s 2+s]), %f);
 assert_checkequal(issquare([1+s 2+s]'), %f);
 assert_checkequal(issquare([1+s 2+s; 3+s 4+s]), %t);
 assert_checkequal(issquare(1+s), %t);
-assert_checkequal(issquare(hypermat([2,1,2],[s;s;s;s])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],[s;s;s;s;s;s;s;s;s;s;s;s])), %f);
+assert_checkequal(issquare(matrix([s;s;s;s], [2,1,2])), %t);
+assert_checkequal(issquare(matrix([s;s;s;s;s;s;s;s;s;s;s;s], [2,2,3])), %f);
 // Booleans
 assert_checkequal(issquare([%t %f]), %f);
 assert_checkequal(issquare([%t %f]'), %f);
 assert_checkequal(issquare([%t %f; %f %t]), %t);
 assert_checkequal(issquare(%t), %t);
-assert_checkequal(issquare(hypermat([2,1,2],[%t;%t;%t;%t])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t])), %f);
+assert_checkequal(issquare(matrix([%t;%t;%t;%t], [2,1,2])), %t);
+assert_checkequal(issquare(matrix([%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t], [2,2,3])), %f)
+ ans  =
+  T
 // Sparses
 assert_checkequal(issquare(sparse([1 0 2])), %f);
 assert_checkequal(issquare(sparse([1 0 2])'), %f);
index 5102574..e58cb4f 100644 (file)
@@ -24,8 +24,8 @@ assert_checkequal(issquare(["s" "t" "u"]), %f);
 assert_checkequal(issquare(["s" "t" "u"]'), %f);
 assert_checkequal(issquare(["s" "t";"s" "t"]), %t);
 assert_checkequal(issquare("s"), %t);
-assert_checkequal(issquare(hypermat([2,1,2],["s";"s";"s";"s"])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],["t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t"])), %f);
+assert_checkequal(issquare(matrix(["s";"s";"s";"s"], [2,1,2])), %t);
+assert_checkequal(issquare(matrix(["t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t";"t"], [2,2,3])), %f);
 
 // Polynomials
 s=poly(0,"s");
@@ -33,16 +33,16 @@ assert_checkequal(issquare([1+s 2+s]), %f);
 assert_checkequal(issquare([1+s 2+s]'), %f);
 assert_checkequal(issquare([1+s 2+s; 3+s 4+s]), %t);
 assert_checkequal(issquare(1+s), %t);
-assert_checkequal(issquare(hypermat([2,1,2],[s;s;s;s])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],[s;s;s;s;s;s;s;s;s;s;s;s])), %f);
+assert_checkequal(issquare(matrix([s;s;s;s], [2,1,2])), %t);
+assert_checkequal(issquare(matrix([s;s;s;s;s;s;s;s;s;s;s;s], [2,2,3])), %f);
 
 // Booleans
 assert_checkequal(issquare([%t %f]), %f);
 assert_checkequal(issquare([%t %f]'), %f);
 assert_checkequal(issquare([%t %f; %f %t]), %t);
 assert_checkequal(issquare(%t), %t);
-assert_checkequal(issquare(hypermat([2,1,2],[%t;%t;%t;%t])), %t);
-assert_checkequal(issquare(hypermat([2,2,3],[%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t])), %f);
+assert_checkequal(issquare(matrix([%t;%t;%t;%t], [2,1,2])), %t);
+assert_checkequal(issquare(matrix([%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t;%t], [2,2,3])), %f)
 
 // Sparses
 assert_checkequal(issquare(sparse([1 0 2])), %f);
index a972bba..ec0019e 100644 (file)
@@ -32,15 +32,15 @@ assert_checkequal(pmodulo(int8([-123 51]), int16(-7)),int8([3,2]));
 assert_checkequal(modulo( int8([-123 51]), int16([-7 5])),int8([-4,1]) );
 assert_checkequal(pmodulo(int8([-123 51]), int16([-7 5])),  int8([3,1]));
 // Hypermatrices
-m = hypermat([2 2 2],1:8);
-n = hypermat([2 2 2],-9:-2)
+m = matrix(1:8, [2 2 2]);
+n = matrix(-9:-2, [2 2 2])
  n  = 
 (:,:,1)
-  - 9.  - 7.
-  - 8.  - 6.
+  -9.  -7.
+  -8.  -6.
 (:,:,2)
-  - 5.  - 3.
-  - 4.  - 2.
+  -5.  -3.
+  -4.  -2.
 a=[1 3;2 4];a(:,:,2)=[0 2; 1 3];
 assert_checkequal(modulo(m, 5), a );
 assert_checkequal(pmodulo(m,5), a);
index c4de83f..2af7f25 100644 (file)
@@ -39,8 +39,8 @@ assert_checkequal(modulo( int8([-123 51]), int16([-7 5])),int8([-4,1]) );
 assert_checkequal(pmodulo(int8([-123 51]), int16([-7 5])),  int8([3,1]));
 
 // Hypermatrices
-m = hypermat([2 2 2],1:8);
-n = hypermat([2 2 2],-9:-2)
+m = matrix(1:8, [2 2 2]);
+n = matrix(-9:-2, [2 2 2])
 a=[1 3;2 4];a(:,:,2)=[0 2; 1 3];
 assert_checkequal(modulo(m, 5), a );
 assert_checkequal(pmodulo(m,5), a);
index 9cb70d4..cde67b0 100644 (file)
@@ -145,8 +145,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
@@ -172,15 +172,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
@@ -199,8 +199,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
@@ -237,15 +237,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);
 //=======================================================================
index 7e00cdd..9741b63 100644 (file)
@@ -179,8 +179,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
@@ -209,16 +209,16 @@ 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));
 
@@ -238,8 +238,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
@@ -280,16 +280,16 @@ 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);
 
index 5acf190..d3e98ce 100644 (file)
@@ -19,12 +19,12 @@ H_ref=[1/s,1/s,1/s;2/(1+s),2/(1+s),2/(1+s)];
 assert_checkequal(numer(H),numer(H_ref));
 assert_checkequal(denom(H),denom(H_ref));
 assert_checkequal(repmat([],2,2),[]);
-B_ref=int8(hypermat([2 4 2],[1;3;7;15;31;63;127;55;1;3;7;15;31;63;127;55]));
+B_ref=int8(matrix([1;3;7;15;31;63;127;55;1;3;7;15;31;63;127;55], [2 4 2]));
 assert_checkequal(repmat(int8([1,7,31,127;3,15,63,55]),1,1,2),B_ref);
-C_ref = hypermat([2 3 2 2], 1:24);
+C_ref = matrix(1:24, [2 3 2 2]);
 assert_checkequal(repmat(C_ref,1),C_ref);
 assert_checkequal(repmat(1:2, 2),[1 2 1 2; 1 2 1 2]);
-assert_checkequal(repmat(hypermat(2,1:2),2),[1 2 1 2; 1 2 1 2]);
+assert_checkequal(repmat(matrix(1:2, [1 2]),2),[1 2 1 2; 1 2 1 2]);
 assert_checkequal(repmat([1,2;3,4],[2,3]),[1,2,1,2,1,2;3,4,3,4,3,4;1,2,1,2,1,2;3,4,3,4,3,4]);
 assert_checkequal(repmat(int8([1,2;3,4]),[2,3]),int8([1,2,1,2,1,2;3,4,3,4,3,4;1,2,1,2,1,2;3,4,3,4,3,4]));
-assert_checkequal(repmat(hypermat(2,1:2),[2,3]),[1,2,1,2,1,2;1,2,1,2,1,2]);
+assert_checkequal(repmat(matrix(1:2, 1, 2),[2,3]),[1,2,1,2,1,2;1,2,1,2,1,2]);
index b2e165e..0798ee8 100644 (file)
@@ -21,12 +21,12 @@ H_ref=[1/s,1/s,1/s;2/(1+s),2/(1+s),2/(1+s)];
 assert_checkequal(numer(H),numer(H_ref));
 assert_checkequal(denom(H),denom(H_ref));
 assert_checkequal(repmat([],2,2),[]);
-B_ref=int8(hypermat([2 4 2],[1;3;7;15;31;63;127;55;1;3;7;15;31;63;127;55]));
+B_ref=int8(matrix([1;3;7;15;31;63;127;55;1;3;7;15;31;63;127;55], [2 4 2]));
 assert_checkequal(repmat(int8([1,7,31,127;3,15,63,55]),1,1,2),B_ref);
-C_ref = hypermat([2 3 2 2], 1:24);
+C_ref = matrix(1:24, [2 3 2 2]);
 assert_checkequal(repmat(C_ref,1),C_ref);
 assert_checkequal(repmat(1:2, 2),[1 2 1 2; 1 2 1 2]);
-assert_checkequal(repmat(hypermat(2,1:2),2),[1 2 1 2; 1 2 1 2]);
+assert_checkequal(repmat(matrix(1:2, [1 2]),2),[1 2 1 2; 1 2 1 2]);
 assert_checkequal(repmat([1,2;3,4],[2,3]),[1,2,1,2,1,2;3,4,3,4,3,4;1,2,1,2,1,2;3,4,3,4,3,4]);
 assert_checkequal(repmat(int8([1,2;3,4]),[2,3]),int8([1,2,1,2,1,2;3,4,3,4,3,4;1,2,1,2,1,2;3,4,3,4,3,4]));
-assert_checkequal(repmat(hypermat(2,1:2),[2,3]),[1,2,1,2,1,2;1,2,1,2,1,2]);
+assert_checkequal(repmat(matrix(1:2, 1, 2),[2,3]),[1,2,1,2,1,2;1,2,1,2,1,2]);
index 139bbeb..3d656c0 100644 (file)
@@ -150,8 +150,8 @@ d(1,1,2)=1;
 for typ=T
     assert_checkequal(sum(d, typ(:)), 275);
     assert_checkequal(sum(d, "*", typ(:)), 275);
-    assert_checkequal(sum(d, 1, typ(:)), hypermat([1,2,2],[255;19;1;0]));
-    assert_checkequal(sum(d, 2, typ(:)), hypermat([2,1,2],[11;263;1;0]));
+    assert_checkequal(sum(d, 1, typ(:)), matrix([255;19;1;0], [1,2,2]));
+    assert_checkequal(sum(d, 2, typ(:)), matrix([11;263;1;0], [2,1,2]));
     assert_checkequal(sum(d, 3, typ(:)), [2,10;254,9]);
     assert_checkequal(sum(d, 5, typ(:)), d);
 end
@@ -178,15 +178,15 @@ T = list(list(),list("native"));
 for typ=T
     assert_checkequal(sum(i, typ(:)), uint8(275));
     assert_checkequal(sum(i, "*", typ(:)), uint8(275));
-    assert_checkequal(sum(i, 1, typ(:)), hypermat([1,2,2],uint8([255;19;1;0])));
-    assert_checkequal(sum(i, 2, typ(:)), hypermat([2,1,2],uint8([11;263;1;0])));
+    assert_checkequal(sum(i, 1, typ(:)), matrix(uint8([255;19;1;0]), [1,2,2]));
+    assert_checkequal(sum(i, 2, typ(:)), matrix(uint8([11;263;1;0]), [2,1,2]));
     assert_checkequal(sum(i, 3, typ(:)), uint8([2,10;254,9]));
     assert_checkequal(sum(i, 5, typ(:)), double(i));
 end
 assert_checkequal(sum(i, "double"), 275);
 assert_checkequal(sum(i, "*", "double"), 275);
-assert_checkequal(sum(i, 1, "double"), hypermat([1,2,2],[255;19;1;0]));
-assert_checkequal(sum(i, 2, "double"), hypermat([2,1,2],[11;263;1;0]));
+assert_checkequal(sum(i, 1, "double"), matrix([255;19;1;0], [1,2,2]));
+assert_checkequal(sum(i, 2, "double"), matrix([11;263;1;0], [2,1,2]));
 assert_checkequal(sum(i, 3, "double"), [2,10;254,9]);
 //=======================================================================
 //Matrices of polynomials
@@ -205,8 +205,8 @@ p(1,1,2)=-1;
 for typ=T
     assert_checkequal(sum(p, typ(:)), 2*s+s^2);
     assert_checkequal(sum(p, "*", typ(:)), 2*s+s^2);
-    assert_checkequal(sum(p, 1, typ(:)), hypermat([1,2,2],[s+s^2;1+s;-1;0*s]));
-    assert_checkequal(sum(p, 2, typ(:)), hypermat([2,1,2],[1+2*s;s^2;-1;0*s]));
+    assert_checkequal(sum(p, 1, typ(:)), matrix([s+s^2;1+s;-1;0*s], [1,2,2]));
+    assert_checkequal(sum(p, 2, typ(:)), matrix([1+2*s;s^2;-1;0*s], [2,1,2]));
     assert_checkequal(sum(p, 3, typ(:)), [-1+s,1+s;s^2,0]);
     assert_checkequal(sum(p, 5, typ(:)), p);
 end
@@ -244,15 +244,15 @@ T = list(list(),list("double"));
 for typ=T
     assert_checkequal(sum(b, typ(:)), 3);
     assert_checkequal(sum(b, "*", typ(:)), 3);
-    assert_checkequal(sum(b, 1, typ(:)), hypermat([1,4,2],[1;1;0;1;0;0;0;0]));
-    assert_checkequal(sum(b, 2, typ(:)), hypermat([1,1,2],[3;0]));
+    assert_checkequal(sum(b, 1, typ(:)), matrix([1;1;0;1;0;0;0;0], [1,4,2]));
+    assert_checkequal(sum(b, 2, typ(:)), matrix([3;0], [1,1,2]));
     assert_checkequal(sum(b, 3, typ(:)), [1 1 0 1]);
     assert_checkequal(sum(b, 5, typ(:)), double(b));
 end
 assert_checkequal(sum(b, "native"), %t);
 assert_checkequal(sum(b, "*", "native"), %t);
-assert_checkequal(sum(b, 1, "native"), hypermat([1,4,2],[%t;%t;%f;%t;%f;%f;%f;%f]));
-assert_checkequal(sum(b, 2, "native"), hypermat([1,1,2],[%t;%f]));
+assert_checkequal(sum(b, 1, "native"), matrix([%t;%t;%f;%t;%f;%f;%f;%f], [1,4,2]));
+assert_checkequal(sum(b, 2, "native"), matrix([%t;%f], [1,1,2]));
 assert_checkequal(sum(b, 3, "native"), [%t %t %f %t]);
 assert_checkequal(sum(b, 5, "native"), b);
 //=======================================================================
index 3948979..a1b453a 100644 (file)
@@ -185,8 +185,8 @@ d(1,1,2)=1;
 for typ=T
     assert_checkequal(sum(d, typ(:)), 275);
     assert_checkequal(sum(d, "*", typ(:)), 275);
-    assert_checkequal(sum(d, 1, typ(:)), hypermat([1,2,2],[255;19;1;0]));
-    assert_checkequal(sum(d, 2, typ(:)), hypermat([2,1,2],[11;263;1;0]));
+    assert_checkequal(sum(d, 1, typ(:)), matrix([255;19;1;0], [1,2,2]));
+    assert_checkequal(sum(d, 2, typ(:)), matrix([11;263;1;0], [2,1,2]));
     assert_checkequal(sum(d, 3, typ(:)), [2,10;254,9]);
     assert_checkequal(sum(d, 5, typ(:)), d);
 end
@@ -216,16 +216,16 @@ T = list(list(),list("native"));
 for typ=T
     assert_checkequal(sum(i, typ(:)), uint8(275));
     assert_checkequal(sum(i, "*", typ(:)), uint8(275));
-    assert_checkequal(sum(i, 1, typ(:)), hypermat([1,2,2],uint8([255;19;1;0])));
-    assert_checkequal(sum(i, 2, typ(:)), hypermat([2,1,2],uint8([11;263;1;0])));
+    assert_checkequal(sum(i, 1, typ(:)), matrix(uint8([255;19;1;0]), [1,2,2]));
+    assert_checkequal(sum(i, 2, typ(:)), matrix(uint8([11;263;1;0]), [2,1,2]));
     assert_checkequal(sum(i, 3, typ(:)), uint8([2,10;254,9]));
     assert_checkequal(sum(i, 5, typ(:)), double(i));
 end
 
 assert_checkequal(sum(i, "double"), 275);
 assert_checkequal(sum(i, "*", "double"), 275);
-assert_checkequal(sum(i, 1, "double"), hypermat([1,2,2],[255;19;1;0]));
-assert_checkequal(sum(i, 2, "double"), hypermat([2,1,2],[11;263;1;0]));
+assert_checkequal(sum(i, 1, "double"), matrix([255;19;1;0], [1,2,2]));
+assert_checkequal(sum(i, 2, "double"), matrix([11;263;1;0], [2,1,2]));
 assert_checkequal(sum(i, 3, "double"), [2,10;254,9]);
 
 //=======================================================================
@@ -246,8 +246,8 @@ p(1,1,2)=-1;
 for typ=T
     assert_checkequal(sum(p, typ(:)), 2*s+s^2);
     assert_checkequal(sum(p, "*", typ(:)), 2*s+s^2);
-    assert_checkequal(sum(p, 1, typ(:)), hypermat([1,2,2],[s+s^2;1+s;-1;0*s]));
-    assert_checkequal(sum(p, 2, typ(:)), hypermat([2,1,2],[1+2*s;s^2;-1;0*s]));
+    assert_checkequal(sum(p, 1, typ(:)), matrix([s+s^2;1+s;-1;0*s], [1,2,2]));
+    assert_checkequal(sum(p, 2, typ(:)), matrix([1+2*s;s^2;-1;0*s], [2,1,2]));
     assert_checkequal(sum(p, 3, typ(:)), [-1+s,1+s;s^2,0]);
     assert_checkequal(sum(p, 5, typ(:)), p);
 end
@@ -290,16 +290,16 @@ T = list(list(),list("double"));
 for typ=T
     assert_checkequal(sum(b, typ(:)), 3);
     assert_checkequal(sum(b, "*", typ(:)), 3);
-    assert_checkequal(sum(b, 1, typ(:)), hypermat([1,4,2],[1;1;0;1;0;0;0;0]));
-    assert_checkequal(sum(b, 2, typ(:)), hypermat([1,1,2],[3;0]));
+    assert_checkequal(sum(b, 1, typ(:)), matrix([1;1;0;1;0;0;0;0], [1,4,2]));
+    assert_checkequal(sum(b, 2, typ(:)), matrix([3;0], [1,1,2]));
     assert_checkequal(sum(b, 3, typ(:)), [1 1 0 1]);
     assert_checkequal(sum(b, 5, typ(:)), double(b));
 end
 
 assert_checkequal(sum(b, "native"), %t);
 assert_checkequal(sum(b, "*", "native"), %t);
-assert_checkequal(sum(b, 1, "native"), hypermat([1,4,2],[%t;%t;%f;%t;%f;%f;%f;%f]));
-assert_checkequal(sum(b, 2, "native"), hypermat([1,1,2],[%t;%f]));
+assert_checkequal(sum(b, 1, "native"), matrix([%t;%t;%f;%t;%f;%f;%f;%f], [1,4,2]));
+assert_checkequal(sum(b, 2, "native"), matrix([%t;%f], [1,1,2]));
 assert_checkequal(sum(b, 3, "native"), [%t %t %f %t]);
 assert_checkequal(sum(b, 5, "native"), b);
 
index 2f5d8da..a3cc1ed 100755 (executable)
@@ -410,9 +410,7 @@ function %h_p(h)
 
 
         case "Matplot"
-            if typeof(h.data) == "hypermat" then
-                d="matrix "+strcat(string(h.data.dims),"x")
-            elseif size(h.data,"*") > 10 then
+            if size(h.data,"*") > 10 then
                 d="matrix "+strcat(string(size(h.data)),"x")
             else
                 d=sci2exp(h.data,0)
index a0b91ff..8dfd2b7 100644 (file)
@@ -68,7 +68,8 @@ function pie(varargin)
             txt = varlist(3);
         elseif iscellstr(varlist(3)) then
             for j=1:size(varlist(3),"*")
-                txt(j) = varlist(3).entries(j);
+                tmp = varlist(3);
+                txt(j) = tmp{j};
             end
         else
             error(msprintf(gettext("%s: Wrong size for input argument #%d: Vector of strings expected.\n"),"pie", 3));
index a0908f5..23a7a6d 100644 (file)
@@ -34,8 +34,8 @@ tree_show(a);
 
 // Another example with mlist
 str=['a','b','c','d','e','f','g','h'];
-n=hypermat([2,2,2],str);
-v=hypermat([2,2,2],1:8);
+n=matrix(str, [2,2,2]);
+v=matrix(1:8, [2,2,2]);
 Mm=mlist(['V','name','value'],n,v);
 tree_show(Mm);
 
index c765f45..43cae88 100644 (file)
@@ -35,8 +35,8 @@ a=list(1,2,3);
 tree_show(a);
 // mlistを指定した他の例
 str=['a','b','c','d','e','f','g','h'];
-n=hypermat([2,2,2],str);
-v=hypermat([2,2,2],1:8);
+n=matrix(str, [2,2,2]);
+v=matrix(1:8, [2,2,2]);
 Mm=mlist(['V','name','value'],n,v);
 tree_show(Mm);
 // tlistを指定した別の例
index ae99002..89b2b6b 100644 (file)
@@ -66,7 +66,7 @@ load(SCI+"/modules/hdf5/tests/sample_scilab_data/mlist.sod");
 //assert_checkequal(M_ref,M);
 // hypermatrices
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrix.sod");
-assert_checkequal(HM,hypermat([2 3 2 2],1:24));
+assert_checkequal(HM,matrix(1:24, [2 3 2 2]));
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrixcomplex.sod");
 HMC_reference(1,1,1,1:2)=[1+%i 2*2*%i];
 assert_checkequal(HMC,HMC_reference);
index 8c2e4e0..3181e31 100644 (file)
@@ -89,7 +89,7 @@ load(SCI+"/modules/hdf5/tests/sample_scilab_data/mlist.sod");
 
 // hypermatrices
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrix.sod");
-assert_checkequal(HM,hypermat([2 3 2 2],1:24));
+assert_checkequal(HM,matrix(1:24, [2 3 2 2]));
 
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrixcomplex.sod");
 HMC_reference(1,1,1,1:2)=[1+%i 2*2*%i];
index 497fc52..5116f4e 100644 (file)
@@ -63,7 +63,7 @@ load(SCI+"/modules/hdf5/tests/sample_scilab_data/mlist_v1.sod");
 //assert_checkequal(M_ref,M);
 // hypermatrices
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrix_v1.sod");
-assert_checkequal(HM,hypermat([2 3 2 2],1:24));
+assert_checkequal(HM,matrix(1:24, [2 3 2 2]));
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrixcomplex_v1.sod");
 HMC_reference(1,1,1,1:2)=[1+%i 2*2*%i];
 assert_checkequal(HMC,HMC_reference);
index e1dabf9..b92e1e9 100644 (file)
@@ -85,7 +85,7 @@ load(SCI+"/modules/hdf5/tests/sample_scilab_data/mlist_v1.sod");
 
 // hypermatrices
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrix_v1.sod");
-assert_checkequal(HM,hypermat([2 3 2 2],1:24));
+assert_checkequal(HM,matrix(1:24, [2 3 2 2]));
 
 load(SCI+"/modules/hdf5/tests/sample_scilab_data/hypermatrixcomplex_v1.sod");
 HMC_reference(1,1,1,1:2)=[1+%i 2*2*%i];
index 16e2542..2f3e1be 100644 (file)
@@ -181,7 +181,7 @@ checkValue(lstRef);
 lstRef = tlist(["hmInTlist";
 "Name";
 "Example_1"
-"Example_2"], "List", ones(1, 2, 3), hypermat([2 2 1 2], (1:8) == 0));
+"Example_2"], "List", ones(1, 2, 3), matrix((1:8) == 0, [2 2 1 2]));
 checkValue(lstRef);
 // tlist in tlist
 lstRef = tlist(["tlistInTlist";
@@ -206,7 +206,7 @@ checkValue(lstRef);
 lstRef = mlist(["hmInMlist";
 "Name";
 "Example_1"
-"Example_2"], "List", ones(1, 2, 3), hypermat([2 2 1 2], (1:8) == 0));
+"Example_2"], "List", ones(1, 2, 3), matrix((1:8) == 0, [2 2 1 2]));
 checkValue(lstRef);
 //// Hypermatrix
 // double
@@ -218,7 +218,7 @@ for i = flag
     checkValue(createIntValues(ones(1, 2, 3, 4), i));
 end
 // boolean
-checkValue(hypermat([2 2 1 2],(1:8) == 0));
+checkValue(matrix((1:8) == 0, [2 2 1 2]));
 //// Undefined
 valueRef = list(1, "two", "three");
 valueRef(5) = "five";
index 665214b..6c35273 100644 (file)
@@ -194,7 +194,7 @@ checkValue(lstRef);
 lstRef = tlist(["hmInTlist";
 "Name";
 "Example_1"
-"Example_2"], "List", ones(1, 2, 3), hypermat([2 2 1 2], (1:8) == 0));
+"Example_2"], "List", ones(1, 2, 3), matrix((1:8) == 0, [2 2 1 2]));
 checkValue(lstRef);
 // tlist in tlist
 lstRef = tlist(["tlistInTlist";
@@ -220,7 +220,7 @@ checkValue(lstRef);
 lstRef = mlist(["hmInMlist";
 "Name";
 "Example_1"
-"Example_2"], "List", ones(1, 2, 3), hypermat([2 2 1 2], (1:8) == 0));
+"Example_2"], "List", ones(1, 2, 3), matrix((1:8) == 0, [2 2 1 2]));
 checkValue(lstRef);
 
 //// Hypermatrix
@@ -233,7 +233,7 @@ for i = flag
     checkValue(createIntValues(ones(1, 2, 3, 4), i));
 end
 // boolean
-checkValue(hypermat([2 2 1 2],(1:8) == 0));
+checkValue(matrix((1:8) == 0, [2 2 1 2]));
 
 //// Undefined
 valueRef = list(1, "two", "three");
index 1232fe6..243d6d1 100644 (file)
             cases, for instance to limit oscillations (<emphasis role="bold">monotone</emphasis> being the most powerful for that).
         </para>
         <para>To get the coefficients of the bi-cubic patches in a more friendly
-            way you can use <literal>c = hypermat([4,4,nx-1,ny-1],C)</literal> then
+            way you can use <literal>c = matrix(C, [4,4,nx-1,ny-1])</literal> then
             the coefficient <emphasis>(k,l)</emphasis> of the patch
             <emphasis>(i,j)</emphasis> (see equation here before) is stored at
             <literal>c(k,l,i,j)</literal>. Nevertheless the <link linkend="interp2d">interp2d</link> function wait for the big vector
index 5463574..8df4735 100644 (file)
             がこの用途には最も強力です)に有用です.
         </para>
         <para>より簡便な方法で双三次パッチの係数を得るには,
-            <literal>c = hypermat([4,4,nx-1,ny-1],C)</literal>を使用し,
+            <literal>c = matrix(C, [4,4,nx-1,ny-1])</literal>を使用し,
             続いてパッチ<emphasis>(i,j)</emphasis>(前記の式参照)
             の係数<emphasis>(k,l)</emphasis>
             を<literal>c(k,l,i,j)</literal>に保存します.
index fa252c5..2b4e068 100644 (file)
             casos, por exemplo para limitar oscilações (<emphasis role="bold">monotone</emphasis> é o mais poderoso para isso).
         </para>
         <para>Para obter coeficientes dos remendos bicúbicos de um modo mais
-            amigável você pode usar <literal>c = hypermat([4,4,nx-1,ny-1],C)</literal>
+            amigável você pode usar <literal>c = matrix(C, [4,4,nx-1,ny-1])</literal>
             então o coeficiente <emphasis>(k,l)</emphasis> do remendo
             <emphasis>(i,j)</emphasis> (ver equação aqui antes) é armazenado em
             <literal>c(k,l,i,j)</literal>. Não obstante, a função <link linkend="interp2d">interp2d</link> espera pelo vetor grande
index 73f2b7e..8de0f8f 100644 (file)
@@ -64,13 +64,7 @@ function yi=interp1(varargin)
     //xi components must be reals
     xi=varargin(3)
     if type(xi)<>1 then
-        if typeof(xi)=="hypermat" then
-            if type(xi.entries)<>1 then
-                error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",3));
-            end
-        else
-            error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",3));
-        end
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",3));
     end
     //delete the dimension of xi equal to one after the second dimension
     //or the first dimension
@@ -96,13 +90,7 @@ function yi=interp1(varargin)
     end
     //y components must be reals
     if type(y)<>1 then
-        if typeof(y)=="hypermat" then
-            if type(y.entries)<>1 then
-                error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",2));
-            end
-        else
-            error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",2));
-        end
+        error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of reals expected.\n"),"interp1",2));
     end
     //verification of x,y line/column
     if isvector(x) then
@@ -200,7 +188,7 @@ function yi=interp1(varargin)
             xitemp=matrix(xi,-1,1)
             // y is a vector
             if isvector(y) then
-                yi=hypermat(size(xitemp))
+                yi = resize_matrix(0, size(xitemp))
                 [x,ind]=gsort(matrix(x,1,-1),"c","i")
                 if varargin(5)==%nan then
                     yi=linear_interpn(xitemp,x,y(ind),"by_nan");
@@ -228,7 +216,7 @@ function yi=interp1(varargin)
             elseif size(size(y),"*")>=2 then
                 ysize=size(y)
                 ky=ysize(2:$)
-                yi=hypermat([size(xitemp),ky])
+                yi = resize_matrix(0, [size(xitemp) ky])
                 [x,ind]=gsort(matrix(x,1,-1),"c","i")
                 //extrapolation
                 if type(varargin(5))==10 then
@@ -278,7 +266,7 @@ function yi=interp1(varargin)
             xitemp=matrix(xi,-1,1)
             //y is a vector
             if isvector(y) then
-                yi=hypermat(size(xitemp))
+                yi = resize_matrix(0, size(xitemp))
                 yi=interp(xitemp,matrix(x,1,-1),matrix(y,1,-1),splin(matrix(x,1,-1),matrix(y,1,-1)),"natural");
                 if type(varargin(5))==10 then
                     if varargin(5)<>"extrap" then
@@ -297,7 +285,7 @@ function yi=interp1(varargin)
             elseif size(size(y),"*")>=2 then
                 ky=size(y)
                 ky=ky(2:$)
-                yi=hypermat([size(xitemp),ky])
+                yi = resize_matrix(0, [size(xitemp) ky])
                 for l=1:size(y,"*")/size(y,1)
                     yi(:,l)=matrix(interp(matrix(xi,-1,1),matrix(x,-1,1),y(:,l),splin(matrix(x,-1,1),y(:,l)),"natural"),size(xitemp))//les composante de yi
                 end
@@ -393,7 +381,7 @@ function yi=interp1(varargin)
                 [xitemp,p]=gsort(xitemp(knotnan),"c","i")
                 ind=size(y)
                 ind=ind(2:$)
-                yi=hypermat([size(xitemp,"*"),ind])
+                yi = resize_matrix(0, [size(xitemp,"*") ind])
                 k=zeros(xitemp)
                 x_size=size(x,"*")
                 j=size(xitemp,"*")
@@ -434,7 +422,7 @@ function yi=interp1(varargin)
                     yi(p,l)=yitemp(:,l)
                 end
                 yitemp=yi
-                yi=hypermat([size(xi,"*"),ind])
+                yi = resize_matrix(0, [size(xi,"*") ind])
                 for l=1:size(y,"*")/size(y,1)
                     yi(knan,l)=%nan
                     yi(knotnan,l)=yitemp(:,l)
index d869ae3..6489fe2 100644 (file)
 //     Warning :redefining function: ndims
 //             inside function: %i_i_hm
 //
-//    Commands:
-//    a=int8(hypermat([3 2 2]));b=hypermat([1 2 2]);
-//    a(1,:,:)=b
 //    Enrico SEGRE on Linux version RH9 distribution  with   as window manager
 //    Israel
 //    November 9, 2003 at 13:47:20
-a        = int8(hypermat([3 2 2]));
-b        = hypermat([1 2 2]);
+a        = int8(zeros(3, 2, 2));
+b        = zeros(1, 2, 2);
 a(1,:,:) = b;
+assert_checkequal(a(1, :, :), int8(b));
 // Just check if there is no "Warning :redefining function: ndims" displayed in .dia.ref
index 68fc89c..498954f 100644 (file)
 //     Warning :redefining function: ndims
 //             inside function: %i_i_hm
 //
-//    Commands:
-//    a=int8(hypermat([3 2 2]));b=hypermat([1 2 2]);
-//    a(1,:,:)=b
 //    Enrico SEGRE on Linux version RH9 distribution  with   as window manager
 //    Israel
 //    November 9, 2003 at 13:47:20
 
-a        = int8(hypermat([3 2 2]));
-b        = hypermat([1 2 2]);
+a        = int8(zeros(3, 2, 2));
+b        = zeros(1, 2, 2);
 a(1,:,:) = b;
+assert_checkequal(a(1, :, :), int8(b));
 
 // Just check if there is no "Warning :redefining function: ndims" displayed in .dia.ref
index f55e46b..7c8748c 100644 (file)
@@ -173,7 +173,7 @@ function [J, H] = numderivative(varargin)
         if m > 1 then
             // H is a hypermatrix if m > 1
             H = H';
-            H = hypermat([n n m], H(:));
+            H = matrix(H(:), [n n m]);
         end
     end
 endfunction
index 62bb8a9..b302563 100644 (file)
@@ -32,6 +32,6 @@ function f=%b_e(varargin)
         N=prod(dims)
         szf=size(f)
         f=f(:)
-        f=mlist(["hm","dims","entries"],int32([szf dims]),matrix(f(:,ones(1,N)),-1,1))
+        f=matrix(f(:,ones(1,N)), [szf dims])
     end
 endfunction
index b4bdf2d..17f2a40 100644 (file)
@@ -14,7 +14,7 @@ function M=%b_i_b(varargin)
 
     rhs=argn(2)
     M=varargin(rhs)
-    M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
+    M=matrix(M(:), size(M))
     varargin(rhs)=M;
     M=generic_i_hm(%f,varargin(:))
 endfunction
index 7a919ed..025b570 100644 (file)
@@ -17,7 +17,6 @@ function M=%b_i_s(varargin)
     //if M<>[] then M=M<>0,end
     N=varargin(rhs-1)//inserted matrix
     index=varargin(1) //
-
     if rhs==3&(type(index)==10|type(index)==15) then
         M=createstruct(index,N)
         if type(index(1))<>10 & index(2)=="entries" then
@@ -28,8 +27,6 @@ function M=%b_i_s(varargin)
     elseif rhs>4 then //more than 2 indices: insertion of a boolean in a matrix of numbers
         M=varargin($)
         if M<>[] then varargin($-1)=bool2s(varargin($-1)),end
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-        varargin($)=M;
         M=generic_i_hm(%f,varargin(:))
     else //type conversion
         M=varargin($)
index 24f0c6b..9c9fd1f 100644 (file)
@@ -32,6 +32,6 @@ function f=%c_e(varargin)
         N=prod(dims)
         szf=size(f)
         f=f(:)
-        f=mlist(["hm","dims","entries"],int32([szf dims]),matrix(f(:,ones(1,N)),-1,1))
+        f=matrix(f(:,ones(1,N)), [szf dims])
     end
 endfunction
index 1782996..2f478fc 100644 (file)
@@ -13,7 +13,7 @@
 function M=%c_i_c(varargin)
     //insertion of an string matrix in an matrix of string for more than 2 indices
     M=varargin($)
-    M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
+    M=matrix(M(:), size(M))
     varargin($)=M;
     M=generic_i_hm("",varargin(:))
 endfunction
index 0dd6b58..2c0a462 100644 (file)
@@ -46,9 +46,6 @@ function M=%c_i_s(varargin)
         end
 
     elseif rhs>4 then //more than 2 indices: insertion of a string in an empty matrix
-        M=varargin($)
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-        varargin($)=M;
         M=generic_i_hm("",varargin(:))
     else //should not occur (hard coded case)
         M=var
index 06e85aa..d699905 100644 (file)
@@ -9,19 +9,19 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
-function str=%ce_string(c)
+function str = %ce_string(c)
     str=[];
-    ll=lines()
-    val=c.entries
-    dims=double(c.dims);
+    ll = lines()
+    val = c{:}
+    dims = size(c);
     if type(val)==15 then // Whole cell array display
         for k=1:length(val)
-            tp=typeof(val(k))
+            tp = typeof(val(k))
+            sz = size(val(k))
             if tp=="st" then
-                str(k)="{"+strcat(string(double(val(k).dims)),"x")+" struct}"
+                str(k)="{"+strcat(string(sz),"x")+" struct}"
                 //str(k)=%st_string(val(k))
             else
-                sz=size(val(k))
                 if prod(sz)==0 then
                     str(k)="{}"
                 else
@@ -35,12 +35,12 @@ function str=%ce_string(c)
             end
         end
     else // cell display
-        tp=typeof(val)
-        dims=[1 1]
+        tp = typeof(val)
+        sz = size(val)
+        dims = [1 1]
         if tp=="st" then
-            str="{"+strcat(string(double(val.dims)),"x")+" struct}"
+            str="{"+strcat(string(sz),"x")+" struct}"
         else
-            sz=size(val)
             if prod(sz)==0 then
                 str="{}"
             else
@@ -55,7 +55,7 @@ function str=%ce_string(c)
     end
 
     if size(dims,"*")>2 then
-        str=hypermat(dims,str)
+        str=matrix(str, dims)
     else
         str=matrix(str,dims(1),-1)
     end
index 4091982..870ef3a 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function x=%hm_and(m,d)
-    if argn(2)==1|d=="*" then
+// STILL CALLED in 6.0.0-b2
+
+function x = %hm_and(m,d)
+    if argn(2)==1 | d=="*" then
         x=and(m(:));
         return
     end
-    dims=size(m);
+
+    dims = size(m);
     if d=="m" then
         d=find(dims>1,1)
         if d==[] then
@@ -23,12 +26,7 @@ function x=%hm_and(m,d)
             return
         end
     end
-    if type(dims)==8 then
-        flag=1;
-        dims=double(dims);
-    else
-        flag=0;
-    end
+
     N=size(dims,"*");
     p1=prod(dims(1:d-1));// step to build one vector on which and is applied
     p2=p1*dims(d);//step for beginning of next vectors
@@ -50,12 +48,7 @@ function x=%hm_and(m,d)
     else
         dims(d)=1;
     end
-    if size(dims,"*")==2 then
-        x=matrix(x,dims(1),dims(2));
-    elseif dims<>[] then
-        if flag==1 then
-            dims=int32(dims);
-        end
-        x=hypermat(dims,x);
+    if dims<>[]
+        x=matrix(x, dims);
     end
 endfunction
index 45f7e8a..f745269 100644 (file)
@@ -11,5 +11,5 @@
 // along with this program.
 
 function Ms=%hm_bool2s(Mb)
-    Ms=hypermat(Mb.dims,bool2s(Mb.entries))
+    Ms = matrix(bool2s(Mb(:)), size(Mb))
 endfunction
index 9da9a32..645a0e7 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
+// NO LONGER USED (tested for hm of integers, decimal or complex numbers, polynomials)
+// => TO BE REMOVED
+
 function a = %hm_cumsum(varargin)
     a = varargin(1)
     dims = size(a);
-    tm = type(a.entries)
+    tm = type(a)
 
     nargs = size(varargin);
     select nargs
@@ -80,12 +83,12 @@ function a = %hm_cumsum(varargin)
     end
 
     if d == 0 then // '*'
-        a=matrix(cumsum(a.entries, "*", typ), dims);
+        a = matrix(cumsum(a(:), "*", typ), dims);
     elseif d > size(dims,"*") then
         //requested summation direction exceeds array dims, return the array, converted
         //to double if necessary.
         if typ == "double" & or(tm == [4 8]) then
-            a.entries=double(a.entries),
+            a(:) = double(a(:))
         end
         a=a
     else
@@ -96,18 +99,5 @@ function a = %hm_cumsum(varargin)
         a=cumsum(a,1,typ);
         //permute back
         a=permute(matrix(a,dims(p)),p)
-//        N=size(dims,"*");
-//        p1=prod(dims(1:d-1));//summation step
-//        p2=p1*dims(d);//step for next to sum
-//        ind=(0:p1:p2-1);// selection for summation
-//        deb=(1:p1)';
-//        I=deb*ones(ind)+ones(deb)*ind
-//
-//
-//        ind=(0:p2:prod(dims)-1)';
-//        I=ones(ind).*.I+ind.*.ones(I)
-//        a=cumsum(matrix(a.entries(I),-1,dims(d)),2,typ)
-//        a(I)=matrix(a,-1,1)
-//        a=hypermat(dims,a)
     end
 endfunction
index 50b98f8..baab263 100644 (file)
@@ -10,6 +10,6 @@
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function b=%hm_isnan(M)
-    b=hypermat(M.dims,isnan(M.entries))
+function b = %hm_isnan(M)
+    b = matrix(isnan(M(:)), size(M))
 endfunction
index a7a9d08..fff8fe2 100644 (file)
@@ -1,6 +1,5 @@
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 // Copyright (C) INRIA
-//
 // Copyright (C) 2012 - 2016 - Scilab Enterprises
 //
 // This file is hereby licensed under the terms of the GNU GPL v2.0,
@@ -9,48 +8,86 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
-function a=%hm_matrix(a,varargin)
-    dims=size(a);nd=size(dims,"*")
+
+function a = %hm_matrix(a, varargin)
+    [lhs, rhs] = argn(0)
+    if rhs == 0
+        a = [];
+        varargin = [];
+    end
+
+    if size(varargin)==0 then
+        if or(floor(a)<>a)|or(a<0) then
+            error(msprintf(_("%s: Wrong values for input argument #%d: Elements must be non-negative integers.\n"), "%hm_matrix", 1));
+        end
+        if  a==[]|or(a==0) then a=[0 0], end
+
+        if size(a, "*")==1 then
+            a=[1 a],
+        else
+            //remove last dimensions equal to 1
+            nd=size(a, "*")
+            while nd>2&a(nd)==1 then nd=nd-1, end
+            a=a(1:nd)
+        end
+        if size(a, "*")==2 then
+            a=zeros(a(1), a(2))
+            return
+        else
+            v=zeros(prod(a), 1)
+            a=mlist(["hm", "dims", "entries"], int32(matrix(a, 1, -1)), matrix(v, -1, 1))
+            return
+        end
+    end
+
+    dims=size(a); nd=size(dims, "*")
     if size(varargin)==1 then
         sz=varargin(1)
     else
         sz=[]
         for k=1:size(varargin)
-            if size(varargin(k),"*")<>1|type(varargin(k))<>1 then
-                error(msprintf(_("%s: Wrong size for input argument(s): integer scalars expected.\n"),"%hm_matrix"));
+            if size(varargin(k), "*")<>1|type(varargin(k))<>1 then
+                error(msprintf(_("%s: Wrong size for input argument(s): integer scalars expected.\n"), "%hm_matrix"));
             end
             sz=[sz varargin(k)]
         end
         sz=round(sz)
+        //remove last dimensions equal to 1
+        sz_last=size(sz, "*")
+        while sz_last>2&sz(sz_last)==1 then sz_last=sz_last-1, end
+        sz=sz(1:sz_last)
+    end
+    nd1=size(sz, "*")
+    if nd1<=0 then error(60), end
+    if nd1<=2
+        // after removing extra dimensions equal to 1
+        // returns the 2D matrix
+        // a can also be another type of matrix
+        a = matrix(a, sz)
+        return
     end
-    nd1=size(sz,"*")
-    if nd1<=0 then error(60),end
-    if nd1<=2 then a=matrix(a.entries,sz),return,end
     if nd<nd1 then
         dims(nd+1:nd1)=1
     elseif nd>nd1 then
         dims=[dims(1:nd1-1) prod(dims(nd1:nd))]
     end
-    nd=size(dims,"*")
+    nd=size(dims, "*")
     k=find(sz==-1)
     P=prod(dims)
     if k<>[] then
-        if size(k,"*")>1 then
-            error(msprintf(_("%s: Only one -1 value admitted.\n"),"%hm_matrix"));
+        if size(k, "*")>1 then
+            error(msprintf(_("%s: Only one -1 value admitted.\n"), "%hm_matrix"));
         end
         sz(k)=floor(P/(prod(sz(sz>0))))
     end
 
     if prod(P)<>prod(sz) then
-        error(msprintf(_("%s: Input and output matrices  must have the same number of elements"),"%hm_matrix"));
+        error(msprintf(_("%s: Input and output matrices  must have the same number of elements"), "%hm_matrix"));
     end
 
     if type(a)<>17 then
-        a=hypermat(sz,a)
+        a = matrix(a, sz)
         return
     end
 
-    a.dims=int32(matrix(sz,1,-1));
-
-
 endfunction
index 312e80c..e98482c 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
+// THIS OVERLOAD SEEMS NO LONGER CALLED  => TO BE DELETED
+
 function [x,k] = %hm_max(varargin)
     n = size(varargin)
+    v = varargin(1)
+
     // One input argument
     if n == 1 then
         // Retrieve the dimensions
-        m = varargin(1).dims
+        m = size(v)
         // Compute the max of column vector
-        // varargin(1).entries gives column vector
-        [x,k] = max(varargin(1).entries)
+        [x,k] = max(v(:))
         // check if lhs = 2 and if varargin(1) is vector
-        if (argn(1) > 1 & (m(length(m)) <> size(varargin(1), "*"))) then
+        if (argn(1) > 1 & (m($) <> size(v, "*"))) then    // not sure this condition is enough..
             k = ind2sub(m, k(1))
         end
     else
         if n==2 then
-            d=varargin(2)
+            d = varargin(2)
             // Check if d is a string
             if type(d)==10 then
-                [x,k]=%hm_oriented_max(varargin(1),d)
+                [x,k] = %hm_oriented_max(v,d)
                 return
             end
         end
         // if the second input argument is a matrix or hypermatrix
         // Obtain column vector
-        x=varargin(1)(:)
-        dims=size(varargin(1))
-        for kk=2:n
-            sz=size(varargin(kk))
-            // check if the dim are different
+        x = v(:)
+        dims = size(v)
+        for kk = 2:n
+            sz = size(varargin(kk))
+            // check if the dims are different
             if or(dims<>sz) then
-                if prod(dims)<>1&prod(sz)<>1 then
-                    error(42)
+                if prod(dims)<>1 & prod(sz)<>1 then
+                    msg = _("%s: Arguments #%d and #%d must have compatible sizes\n")
+                    error(msprintf(msg, "%hm_max",1, kk))
                 end
                 // the first argument is a scalar
-                if prod(dims)==1 then dims=sz,end
+                if prod(dims)==1 then
+                    dims = sz
+                end
             end
             // max between hypermatrix and hypermatrix
-            [x,k]=max(x,varargin(kk)(:))
+            [x,k] = max(x,varargin(kk)(:))
         end
-        x=hypermat(dims,x)
-        k=hypermat(dims,k)
+        x = matrix(x, dims)
+        k = matrix(k, dims)
     end
 endfunction
 
-function [x,k]=%hm_oriented_max(m,d)
+function [x,k] = %hm_oriented_max(m,d)
+    dims = size(m)
     if d=="m" then
-        d=find(m.dims>1,1)
+        d = find(dims>1,1)
         if d==[] then
-            [x,k1]=max(m.entries)
-            k=ind2sub(m.dims,k1(1))
-            return,
+            [x,k1] = max(m(:))
+            k = ind2sub(dims, k1(1))
+            return
         end
     elseif d=="r" then
-        d=1
+        d = 1
     elseif d=="c" then
-        d=2
+        d = 2
     end
-    dims=m.dims;
-    if type(dims==8) then flag=1; dims=double(dims); else flag=0;end
-    N=size(dims,"*");
-    p1=prod(dims(1:d-1));// step for one max
-    p2=p1*dims(d);//step for beginning of vector to max
-    ind=(0:p1:p2-1)';// selection for vector to max
-    deb=(1:p1);
-    I=ind*ones(deb)+ones(ind)*deb
 
-    ind=(0:p2:prod(dims)-1);
-    I=ones(ind).*.I+ind.*.ones(I)
+    N   = size(dims,"*");
+    p1  = prod(dims(1:d-1));// step for one max
+    p2  = p1*dims(d);       //step for beginning of vector to max
+    ind = (0:p1:p2-1)';     // selection for vector to max
+    deb = (1:p1);
+    I   = ind*ones(deb) + ones(ind)*deb
+
+    ind = (0:p2:prod(dims)-1);
+    I = ones(ind).*.I + ind.*.ones(I)
 
-    [x,k]=max(matrix(m.entries(I),dims(d),-1),"r")
+    [x,k] = max(matrix(m(I),dims(d),-1),"r")
 
-    dims(d)=1
+    dims(d) = 1
     if d==N then
-        dims=dims(1:$)
+        dims = dims(1:$)
     else
-        dims(d)=1
-    end
-    if size(dims,"*")==2 then
-        if flag==1 then dims=int32(dims);end
-        x=matrix(x,dims(1),dims(2))
-        k=matrix(k,dims(1),dims(2))
-    else
-        if flag==1 then dims=int32(dims);end
-        x=hypermat(dims,matrix(x,-1,1))
-        k=hypermat(dims,matrix(k,-1,1))
+        dims(d) = 1
     end
+
+    x = matrix(x, dims)
+    k = matrix(k, dims)
 endfunction
 
 
index a0e45c0..1233b9f 100644 (file)
@@ -9,34 +9,33 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
-function x=%hm_mean(m,d)
+
+// THIS OVERLOAD SEEMS NO LONGER CALLED  => TO BE DELETED
+
+function x = %hm_mean(m,d)
     if argn(2)==1 then
-        x=mean(m.entries)
+        x = mean(m(:))
         return
     end
-    dims=m.dims;
-    if type(dims==8) then flag=1; dims=double(dims); else flag=0;end
-    N=size(dims,"*");
-    p1=prod(dims(1:d-1));// step to build one vector on which mean is applied
-    p2=p1*dims(d);//step for beginning of next vectors
-    ind=(0:p1:p2-1)';// selection for building one vector
-    deb=(1:p1);
-    I=ind*ones(deb)+ones(ind)*deb
+    dims = size(m);
+
+    N  = size(dims,"*")
+    p1 = prod(dims(1:d-1)); // step to build one vector on which mean is applied
+    p2 = p1*dims(d);        // step for beginning of next vectors
+    ind = (0:p1:p2-1)';     // selection for building one vector
+    deb = (1:p1);
+    I = ind*ones(deb) + ones(ind)*deb
 
-    ind=(0:p2:prod(dims)-1);
-    I=ones(ind).*.I+ind.*.ones(I)
+    ind = (0:p2:prod(dims)-1);
+    I = ones(ind).*.I + ind.*.ones(I)
 
-    x=mean(matrix(m.entries(I),dims(d),-1),1)
-    dims(d)=1
+    x = mean(matrix(m(I), dims(d),-1),1)
+    dims(d) = 1
     if d==N then
-        dims=dims(1:$)
+        dims = dims(1:$)
     else
-        dims(d)=1
-    end
-    if size(dims,"*")==2 then
-        x=matrix(x,dims(1),dims(2))
-    else
-        if flag==1 then dims=int32(dims);end
-        x=hypermat(dims,x(:))
+        dims(d) = 1
     end
+
+    x = matrix(x, dims)
 endfunction
index 666b093..2fbd9bf 100644 (file)
@@ -9,6 +9,9 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
+
+// THIS OVERLOAD IS NO LONGER CALLED (decimal numbers, integers) => TO BE DELETED
+
 function x=%hm_median(m,d)
     if argn(2)==1 then
         x=median(m.entries)
@@ -35,6 +38,6 @@ function x=%hm_median(m,d)
     if size(dims,"*")==2 then
         x=matrix(x,dims(1),dims(2))
     else
-        x=hypermat(dims,x)
+        x=matrix(x, dims)
     end
 endfunction
index 5992e5a..61c477c 100644 (file)
@@ -10,6 +10,9 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
+
+// THIS OVERLOAD SEEMS NO LONGER CALLED  => NOT UPDATED : TO BE DELETED
+
 function [x,k] = %hm_min(varargin)
     n = size(varargin)
     // One input argument
@@ -49,8 +52,8 @@ function [x,k] = %hm_min(varargin)
             // min between hypermatrix and hypermatrix
             [x,k]=min(x,varargin(kk)(:))
         end
-        x=hypermat(dims,x)
-        k=hypermat(dims,k)
+        x=matrix(x, dims)
+        k=matrix(k, dims)
     end
 endfunction
 
@@ -93,8 +96,8 @@ function [x,k]=%hm_oriented_min(m,d)
         k=matrix(k,dims(1),dims(2))
     else
         if flag==1 then dims=int32(dims);end
-        x=hypermat(dims,x)
-        k=hypermat(dims,matrix(k,-1,1))
+        x=matrix(x, dims)
+        k=matrix(matrix(k,-1,1), dims)
     end
 endfunction
 
index 0eb3114..365911a 100644 (file)
@@ -9,10 +9,14 @@
 // and continues to be available under such terms.
 // For more information, see the COPYING file which you should have received
 // along with this program.
+
+// NO LONGER CALLED (hm of booleans, integers, decimal or complex number, polynomials, strings)
+// => TO BE DELETED
+
 function r=%hm_n_hm(a,b)
     r=and(a.dims==b.dims)
     if r then
-        r=hypermat(a.dims,a.entries<>b.entries)
+        r=matrix(a.entries<>b.entries, a.dims)
     else
         r=%t
     end
index 22752a6..7ab0399 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function r=%hm_o_hm(a,b)
-    r=and(a.dims==b.dims)
+// NO LONGER CALLED (hm of booleans, integers, decimal or complex number, polynomials, strings)
+// => TO BE DELETED
+
+function r = %hm_o_hm(a,b)
+    r = and(size(a)==size(b))
     if r then
-        r=hypermat(a.dims,a.entries==b.entries)
-    else
-        r=%f
+        r = matrix(a(:)==b(:), size(a))
     end
 endfunction
index 904dd82..76ae98f 100644 (file)
@@ -10,6 +10,8 @@
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
+// THIS OVERLOAD SEEMS NO LONGER CALLED  => NOT UPDATED : TO BE DELETED
+
 function M=%hm_ones(varargin)
 
     nv=size(varargin)
@@ -20,7 +22,7 @@ function M=%hm_ones(varargin)
         else
             dims=M("dims")
         end
-        M=hypermat(dims,ones(prod(double(dims)),1))
+        M=matrix(ones(prod(double(dims)),1), dims)
     else
         dims=ones(1,nv)
         for k=1:nv,dims(k)=int(varargin(k)),end
@@ -31,7 +33,7 @@ function M=%hm_ones(varargin)
         if nv==2 then
             M=ones(varargin(1:nv))
         else
-            M=hypermat(dims(1:nv),ones(prod(dims(1:nv)),1))
+            M=matrix(ones(prod(dims(1:nv)),1), dims(1:nv))
         end
     end
 endfunction
index 2169377..a8a10d5 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function x=%hm_or(m,d)
-    if argn(2)==1|d=="*" then
-        x=or(m(:));
+// STILL USED (6.0.0-b2)
+
+function x = %hm_or(m,d)
+    if argn(2)==1 | d=="*" then
+        x = or(m(:))
         return
     end
-    dims=size(m);
+    dims = size(m)
     if d=="m" then
-        d=find(dims>1,1);
+        d = find(dims>1,1)
         if d==[] then
-            x=or(m(:));
+            x = or(m(:))
             return
         end
     end
-    if type(dims)==8 then
-        flag=1;
-        dims=double(dims);
-    else
-        flag=0;
-    end
-    N=size(dims,"*");
-    p1=prod(dims(1:d-1));// step to build one vector on which or is applied
-    p2=p1*dims(d);//step for beginning of next vectors
-    ind=(0:p1:p2-1)';// selection for building one vector
-    deb=(1:p1);
-    I=ind*ones(deb)+ones(ind)*deb;
 
-    ind=(0:p2:prod(dims)-1);
-    I=ones(ind).*.I+ind.*.ones(I);
+    N  = size(dims,"*");
+    p1 = prod(dims(1:d-1)); // step to build one vector on which or is applied
+    p2 = p1*dims(d);        //step for beginning of next vectors
+    ind = (0:p1:p2-1)';     // selection for building one vector
+    deb = (1:p1)
+    I  = ind*ones(deb) + ones(ind)*deb
+
+    ind = (0:p2:prod(dims)-1);
+    I   = ones(ind).*.I + ind.*.ones(I);
 
-    x=or(matrix(m(I),dims(d),-1),1);
+    x = or(matrix(m(I),dims(d),-1),1);
 
-    dims(d)=1
+    dims(d) = 1
     while  dims($)==1 then
-        dims($)=[];
+        dims($) = [];
     end
     if d==N then
-        dims=dims(1:$);
+        dims = dims(1:$);
     else
-        dims(d)=1;
+        dims(d) = 1;
     end
-    if size(dims,"*")==2 then
-        x=matrix(x,dims(1),dims(2));
-    elseif dims<>[] then
-        if flag==1 then
-            dims=int32(dims);
-        end;
-        x=hypermat(dims,x);
+    if dims<>[] then
+        x = matrix(x, dims);
     end
 endfunction
index bceb796..c80fdef 100644 (file)
 function M1=%hm_r_s(M1,M2)
 
     if size(M2,"*")<>1 then
-        M1=M1/hypermat(size(M2),M2)
+        // M1 = M1/M2    // endless recursive call!
+        msg = _("%s: not implemented for argin#1 hypermatrix and argin#2 matrix\n")
+        error(msprint(msg, "%hm_r_s"))
     else
-        M1=M1/M2
+        M1 = matrix(M1(:)/M2, size(M1))
     end
 endfunction
index 57533a5..660e9a3 100644 (file)
@@ -22,7 +22,7 @@ function M=%hm_rand(varargin)
         else
             dims=M("dims")
         end
-        M=hypermat(dims,rand(prod(double(dims)),1))
+        M=matrix(rand(prod(double(dims)),1), dims)
     else
 
         if type(varargin($))==10 then
@@ -36,7 +36,7 @@ function M=%hm_rand(varargin)
             if nv==2 then
                 M=rand(varargin(1:nv),opt)
             else
-                M=hypermat(dims(1:nv),rand(prod(dims(1:nv)),1,opt))
+                M=matrix(rand(prod(dims(1:nv)),1,opt), dims(1:nv))
             end
         else
             dims=ones(1,nv)
@@ -48,7 +48,7 @@ function M=%hm_rand(varargin)
             if nv==2 then
                 M=rand(varargin(1:nv))
             else
-                M=hypermat(dims(1:nv),rand(prod(dims(1:nv)),1))
+                M=matrix(rand(prod(dims(1:nv)),1), dims(1:nv))
             end
         end
     end
index 80934ee..531edbb 100644 (file)
@@ -10,6 +10,8 @@
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
+// THIS OVERLOAD SEEMS NO LONGER CALLED  => NOT UPDATED : TO BE DELETED
+
 function M=%hm_zeros(varargin)
 
     //creates a zero hypermatrix with shape given by vector of dimensions or an
@@ -22,7 +24,7 @@ function M=%hm_zeros(varargin)
         else
             dims=M("dims")
         end
-        M=hypermat(dims,zeros(prod(double(dims)),1))
+        M=matrix(zeros(prod(double(dims)),1), dims)
     else
         dims=ones(1,nv)
         for k=1:nv,dims(k)=int(varargin(k)),end
@@ -33,8 +35,7 @@ function M=%hm_zeros(varargin)
         if nv==2 then
             M=zeros(varargin(1:nv))
         else
-            M=hypermat(dims(1:nv),zeros(prod(dims(1:nv)),1))
+            M=matrix(dims(1:nv))
         end
-
     end
 endfunction
index 1c519e8..4c3aa4a 100644 (file)
@@ -31,6 +31,6 @@ function f=%i_e(varargin)
     if k<>[] then
         dims(k($)+1:$)=[]
         N=prod(dims)
-        f=mlist(["hm","dims","entries"],int32([size(f) dims]),int32(ones(N,1)).*.f(:))
+        f=matrix(int32(ones(N,1)).*.f(:), [size(f) dims])
     end
 endfunction
index 298d33c..67fd9c5 100644 (file)
@@ -33,8 +33,6 @@ function M=%i_i_s(varargin)
         else
             def=iconvert(0,inttype(varargin($-1)))
         end
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-        varargin($)=M;
         M=generic_i_hm(def,varargin(:))
     else //type conversion
         M=varargin($)
index dfcdc02..a16b4f7 100644 (file)
@@ -32,6 +32,6 @@ function f=%p_e(varargin)
     if k<>[] then
         dims(k($)+1:$)=[]
         N=prod(dims)
-        f=mlist(["hm","dims","entries"],int32([size(f) dims]),ones(N,1).*.f(:))
+        f=matrix(ones(N,1).*.f(:), [size(f) dims])
     end
 endfunction
index a45d8b6..7b08ec6 100644 (file)
@@ -12,9 +12,5 @@
 
 function M=%p_i_p(varargin)
     //insertion of an polynomial matrix in an matrix of polynomials for more than 2 indices
-
-    M=varargin($)
-    M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-    varargin($)=M;
     M=generic_i_hm(0,varargin(:))
 endfunction
index ef3da52..351c71f 100644 (file)
@@ -25,7 +25,7 @@ function M=%p_i_s(varargin)
         end
     elseif rhs>4 then //more than 2 indices: insertion of a polynomial in an  matrix of numbers
         M=varargin($)
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
+        M=matrix(M(:), size(M))
         varargin($)=M;
         M=generic_i_hm(0,varargin(:))
     else
index 06ae7a8..b59fcdc 100644 (file)
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function M2=%p_m_hm(M1,M2)
+// NOW LOOKS USELESS => TO BE DELETED ?
+
+function M2 = %p_m_hm(M1,M2)
     //author Serge Steer INRIA
     if size(M1,"*")<>1 then
-        M2=hypermat(size(M1),M1)*M2
+        M2 = M1 * M2    // endless recursive call?!
     else
-        M2.entries=M1*M2.entries
+        M2 = matrix(M1*M2(:), size(M2))
     end
 endfunction
index 24b1fa0..5f3d276 100644 (file)
@@ -31,6 +31,6 @@ function f=%s_e(varargin)
     if k<>[] then
         dims(k($)+1:$)=[]
         N=prod(dims)
-        f=mlist(["hm","dims","entries"],int32([size(f) dims]),ones(N,1).*.f(:))
+        f=matrix(ones(N,1).*.f(:), [size(f) dims])
     end
 endfunction
index 778594b..87a01ea 100644 (file)
@@ -18,9 +18,7 @@ function M=%s_i_b(varargin)
         M=bool2s(M)
         M(varargin(1:$-2))=varargin($-1)
     else //hypermatrix syntax
-        if varargin($-1)<>[] then M=bool2s(M),end
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-        varargin($)=M;
+        if varargin($-1)<>[] then varargin($)=bool2s(M),end
         M=generic_i_hm(0,varargin(:))
     end
 endfunction
index dbdbef8..339ff14 100644 (file)
@@ -15,13 +15,10 @@ function M=%s_i_c(varargin)
 
 
     rhs=argn(2)
-    M=varargin($)
     if rhs<=4 then //type conversion
         error(43)
     else //hypermatrix syntax
         if varargin($-1)<>[] then error(43),end
-        M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-        varargin($)=M;
         M=generic_i_hm("",varargin(:))
     end
 endfunction
index a4f57f4..2e5cfaf 100644 (file)
@@ -12,8 +12,5 @@
 
 function M=%s_i_p(varargin)
     //insertion of an polynomial matrix in an matrix of numbers for more than 2 indices
-    M=varargin($)
-    M=mlist(["hm","dims","entries"],int32(size(M)),M(:))
-    varargin($)=M;
     M=generic_i_hm(0,varargin(:))
 endfunction
index 0f86a4a..13c658e 100644 (file)
@@ -162,6 +162,6 @@ function M=%s_i_s(varargin)
     case 2
         M=matrix(v,dims1(1),dims1(2))
     else
-        M=mlist(["hm","dims","entries"],int32(matrix(dims1,1,-1)),v)
+        M=matrix(v, dims1)
     end
 endfunction
index da683af..9cec264 100644 (file)
 function M2=%s_l_hm(M1,M2)
 
     if size(M1,"*")<>1 then
-        M2=hypermat(size(M1),M1)\M2
+        // M2 = M1\M2   // endless recursive call!
+        msg = _("%s: not implemented for argin#1 matrix and argin#2 hypermatrix\n")
+        error(msprint(msg, "%s_l_hm"))
     else
-        M2.entries=M1\M2.entries
+        M2 = matrix(M1\M2(:),size(M2))
     end
 endfunction
index 574e6f0..441c3a6 100644 (file)
@@ -10,7 +10,7 @@
 // For more information, see the COPYING file which you should have received
 // along with this program.
 
-function M2=%s_m_hm(M1,M2)
+function M2 = %s_m_hm(M1,M2)
 
     siz1 = size(M1);
     siz2 = size(M2);
@@ -22,10 +22,10 @@ function M2=%s_m_hm(M1,M2)
         if siz1(2)<>siz2(1) then
             error(msprintf(_("%s: Wrong size for argument: Incompatible dimensions.\n"),"s_m_hm"));
         end
-        M2 = hypermat([siz2(1) siz2(2)*siz2(3)], M2);
-        M2 = hypermat([siz1(1) siz2(2) siz2(3)], M1*M2);
+        M2 = matrix(M2, [siz2(1) siz2(2)*siz2(3)]);
+        M2 = matrix(M1*M2, [siz1(1) siz2(2) siz2(3)]);
     else
-        M2.entries = M1*M2.entries
+        M2 = matrix(M1*M2(:), size(M2))
     end
 
 endfunction
index 18a465f..16e2639 100644 (file)
@@ -50,7 +50,8 @@ function M=generic_i_hm(default_value,varargin)
             if or(size(dk)<>-1) then
                 dk=gsort(dk);
                 if or(dk<>(dims(k):-1:1)) then
-                    if dk(1)<1|dk($)>dims(k) then error(21),end
+                    msg_index = _("Invalid index.");
+                    if dk(1)<1|dk($)>dims(k) then error(msg_index),end
                     if ok<>[] then
                         error(msprintf(_("%s: A null assignment can have only one non-colon index.\n"),"generic_i_hm"));
                     end
@@ -68,14 +69,8 @@ function M=generic_i_hm(default_value,varargin)
             [Ndims,I]=convertindex(dims,varargin(1:$-2));
             dims(ok)=size(I1,"*")
             while dims($)==1&size(dims,"*")>2, dims($)=[],end
-            M.entries=M.entries(I);
-            if size(dims,"*")==2 then
-                M=matrix(M.entries,dims)
-            else
-                M.dims=int32(dims')
-            end
-
-            //M=M(varargin(1:rhs-2))
+            M=M(I);
+            M=matrix(M, dims)
         end
 
         return
index 15b18fb..f7d0278 100644 (file)
@@ -36,7 +36,7 @@ ref4445(:,:,2,5) = zeros(4,4);
 ref4445(:,:,3,5) = zeros(4,4);
 ref4445(:,:,4,5) = zeros(4,4);
 assert_checkequal(eye(zeros(4,4,4,5)), ref4445);
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 ref2322(:,:,1,1) = [1,0,0;0,0,0];
 ref2322(:,:,2,1) = zeros(2,3);
 ref2322(:,:,1,2) = zeros(2,3);
index b766c55..768f90e 100644 (file)
@@ -40,7 +40,7 @@ ref4445(:,:,3,5) = zeros(4,4);
 ref4445(:,:,4,5) = zeros(4,4);
 assert_checkequal(eye(zeros(4,4,4,5)), ref4445);
 
-M = hypermat([2 3 2 2],1:24);
+M = matrix(1:24, [2 3 2 2]);
 ref2322(:,:,1,1) = [1,0,0;0,0,0];
 ref2322(:,:,2,1) = zeros(2,3);
 ref2322(:,:,1,2) = zeros(2,3);
index f531832..c7d82ae 100644 (file)
@@ -12,4 +12,4 @@
 //
 // <-- Short Description -->
 //    addition and subtraction of matrix and hypermatrix of same dimension and size do not work
-if execstr("zeros(1,3) + hypermat([1 3])", "errcatch")<>0 then bugmes();quit;end
+if execstr("zeros(1,3) + matrix([0 0 0], [1 3])", "errcatch")<>0 then bugmes();quit;end
index 27a6760..962544e 100644 (file)
@@ -14,4 +14,4 @@
 // <-- Short Description -->
 //    addition and subtraction of matrix and hypermatrix of same dimension and size do not work
 
-if execstr("zeros(1,3) + hypermat([1 3])", "errcatch")<>0 then pause,end
+if execstr("zeros(1,3) + matrix([0 0 0], [1 3])", "errcatch")<>0 then pause,end
index 294fdae..74fa49a 100644 (file)
@@ -17,5 +17,5 @@ assert_checkequal(R, REF);
 msgerror = msprintf(gettext("%s: Wrong type for input argument #%d: Polynomial expected.\n"), "pol2str", 1);
 assert_checkerror("pol2str(1)", msgerror);
 assert_checkequal(pol2str(%i*%z),"%i*z");
-ref = hypermat([1 1 2], ["1+0.8497452*z";"1+0.685731*z"]);
-assert_checktrue(and(pol2str(1+hypermat([1 1 2], [0.8497452;0.6857310])*%z) == ref));
+ref = matrix( ["1+0.8497452*z";"1+0.685731*z"], [1 1 2]);
+assert_checktrue(and(pol2str(1+matrix( [0.8497452;0.6857310], [1 1 2])*%z) == ref));