index 9a99878..4a0abfa 100644 (file)
@@ -2,7 +2,7 @@
<!--
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2012 - 2016 - Scilab Enterprises
- * Copyright (C) 2016, 2018 - Samuel GOUGEON
+ * Copyright (C) 2016 - 2020 - Samuel GOUGEON
*
* This file is hereby licensed under the terms of the GNU GPL v2.0,
* pursuant to article 5.3.4 of the CeCILL v.2.1.
rules are the following:
<orderedlist>
<listitem>
-                                    boolean &lt; encoded integers.
-                                </listitem>
-                                <listitem>
-                                    boolean &lt; decimal number &lt; complex
+                                    boolean &lt; encoded integers &lt; decimal number &lt; complex
</listitem>
<listitem>decimal number &lt; polynomial &lt; rational
<warning>booleans and polynomials are not compatible.
</warning>
</listitem>
<listitem>
+                                    Any encoded integer can be concatenated only with booleans,
+                                    decimal numbers, or other integers of the same inttype.
+                                    Thus, the expressions
+                                    <literal>[int8(2), uint8(7)]</literal>,
+                                    <literal>[int8(2), int16(7)]</literal>,
+                                    <literal>[int8(2), 7+0*%z]</literal>,
+                                    <literal>[int8(2), sparse(7)]</literal>, or
+                                    <literal>[int8(2), sparse(%t)]</literal>
+                                    will yield an error.
+                                </listitem>
+                                <listitem>
The result becomes complex-encoded as soon as a complex-encoded
component -- value, polynomial, or rational -- is met in the
list (even with a null imaginary part)
-                                    <para>Similarly, the result becomes sparse-encoded
+                                    <para/>
+                                    Similarly, the result becomes sparse-encoded
as soon as a sparse-encoded component is met and processed.
-                                    </para>
</listitem>
<listitem>
It is possible to concatenate polynomials or/and rationals
</literal>.
</listitem>
<listitem>
-                                    Any encoded integer can be concatenated only with booleans or
-                                    with integers of the same inttype. Thus, the expressions
-                                    <literal>[int8(2) uint8(7)]</literal>,
-                                    <literal>[int8(2) int16(7)]</literal>,
-                                    <literal>[int8(2) 1.]</literal> will all yield an error.
-                                </listitem>
-                                <listitem>
Text components can be concatenated (in the set meaning,
with brackets) only with other text components or with the
empty matrix <literal>[]</literal>.
<listitem>Recipients must be variables.
Literal expressions are not accepted.
</listitem>
-                            <listitem>Variables shall be separated with comas.
+                            <listitem>Variables shall be separated with commas.
</listitem>
<listitem>In a distributive assignment, there must
be at most as many LHS recipients
@@ -324,21 +325,36 @@ s = poly(0,'s');[1/s,2/s]
[tf2ss(1/s),tf2ss(2/s)]

[%t %f %f %T %F]
-
-// Heterogeneous concatenations with automatical types conversions
+     ]]></programlisting>
+        <para>
+            Heterogeneous concatenations with automatical type conversions:
+        </para>
+        <programlisting role="example"><![CDATA[
[%T int8(-5)]
[%T %pi %f 2]
[%pi, 2+%i, %F]
+[%pi int16(-1000.84) 1.23]
v = [%pi+0*%i, %F, %z, (1-%z)^2 ]; typeof(v), isreal(v)
v = [10 1/%z], typeof(v)

-// Incompatible heterogeneous concatenations => ERRORS
+// Special case: int16 and uint8 together, due to initial
+//   conversion to real propagating from left to right
+[%pi int16(-1000.84) uint8(87)]
+     ]]></programlisting>
+        <para>
+            Incompatible heterogeneous concatenations => ERRORS:
+        </para>
+        <programlisting role="example"><![CDATA[
[%F %z]
-[int8(%pi) uint8(%e)]
-[int8(%pi) int16(%e)]
-[int8(%pi) %e]
-
-// Concatenation of cells arrays:
+[int8(%pi), uint8(%e)]
+[int8(%pi), int16(%e)]
+[int8(-70), sparse(18)]
+[int8(-70), sparse([%T %F])]
+     ]]></programlisting>
+        <para>
+            Concatenation of cells arrays:
+        </para>
+        <programlisting role="example"><![CDATA[
c1 = {%pi %t};
c2 = {%z "abc"};
c = [[{%i} c1] ; [c2, {1/%z^2}]]  // comma mandatory, to not parse c2{1/%z^2}
@@ -432,7 +448,7 @@ s.r([2 4 6])
</revdescription>
</revision>
<revision>
-                <revnumber>6.1</revnumber>
+                <revnumber>6.1.0</revnumber>
<revdescription>
<itemizedlist>
<listitem>
@@ -445,6 +461,13 @@ s.r([2 4 6])
</itemizedlist>
</revdescription>
</revision>
+            <revision>
+                <revnumber>6.1.1</revnumber>
+                <revdescription>
+                    Concatenations between encoded integers and decimal numbers
+                    are now supported.
+                </revdescription>
+            </revision>
</revhistory>
</refsection>
</refentry>