* Bug 16450 fixed: [double, integer] & [double ; integer] implemented
[scilab.git] / scilab / modules / core / help / en_US / 1_keywords / brackets.xml
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>