%i_isreal() %i_real() %i_imag() added
[scilab.git] / scilab / modules / data_structures / help / fr_FR / types / type.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) INRIA
5  * Copyright (C) 2017 - Samuel GOUGEON
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  -->
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18     xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML"
19     xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"
20     xml:lang="fr" xml:id="type">
21     <refnamediv>
22         <refname>type</refname>
23         <refpurpose>Retourne le type d'un objet Scilab</refpurpose>
24     </refnamediv>
25     <refsynopsisdiv>
26         <title>Séquence d'appel</title>
27         <synopsis>i = type(x)</synopsis>
28     </refsynopsisdiv>
29     <refsection>
30         <title>Paramètres</title>
31         <variablelist>
32             <varlistentry>
33                 <term>x</term>
34                 <listitem>
35                     <para>
36                         Objet Scilab quelconque : variable, ou expression valide.
37                     </para>
38                 </listitem>
39             </varlistentry>
40             <varlistentry>
41                 <term>i</term>
42                 <listitem>
43                     <para>Code numérique entier identifiant le type de <varname>x</varname>.
44                     </para>
45                 </listitem>
46             </varlistentry>
47         </variablelist>
48     </refsection>
49     <refsection>
50         <title>Description</title>
51         <para>
52             <literal>type(x)</literal> renvoie le code numérique entier du type de l'objet
53             <literal>x</literal>, défini comme suit :
54         </para>
55         <variablelist>
56             <varlistentry>
57                 <term>1</term>
58                 <listitem>
59                     nombres décimaux ou complexes.
60                 </listitem>
61             </varlistentry>
62             <varlistentry>
63                 <term>2</term>
64                 <listitem>
65                     <link linkend="poly">polynômes</link> à coefficients réels ou complexes.
66                 </listitem>
67             </varlistentry>
68             <varlistentry>
69                 <term>4</term>
70                 <listitem>
71                     booléens
72                 </listitem>
73             </varlistentry>
74             <varlistentry>
75                 <term>5</term>
76                 <listitem>
77                     <link linkend="sparse">matrice creuse numérique à valeurs réelles ou complexes</link>.
78                 </listitem>
79             </varlistentry>
80             <varlistentry>
81                 <term>6</term>
82                 <listitem>
83                     <link linkend="sparse">matrice creuse booléenne</link>.
84                 </listitem>
85             </varlistentry>
86             <varlistentry>
87                 <term>7</term>
88                 <listitem>
89                     matrice creuse au format Matlab
90                 </listitem>
91             </varlistentry>
92             <varlistentry>
93                 <term>8</term>
94                 <listitem>
95                     <link linkend="int8">entiers</link> encodés
96                     sur 1 octet (int8, uint8), 2 octets (int16, uint16), 4 octets (int32, uint32),
97                     ou 8 octets (int64, uint64).
98                 </listitem>
99             </varlistentry>
100             <varlistentry>
101                 <term>9</term>
102                 <listitem>
103                     <link linkend="graphics_entities">identifiants d'objets graphiques</link>
104                     ("handles").
105                 </listitem>
106             </varlistentry>
107             <varlistentry>
108                 <term>10</term>
109                 <listitem>
110                     <link linkend="strings">textes</link>
111                 </listitem>
112             </varlistentry>
113             <varlistentry>
114                 <term>13</term>
115                 <listitem>
116                     <link linkend="function">Fonction</link> en langage Scilab compilé.
117                 </listitem>
118             </varlistentry>
119             <varlistentry>
120                 <term>14</term>
121                 <listitem>
122                     Bibliothèque de fonctions compilées en langage Scilab.
123                 </listitem>
124             </varlistentry>
125             <varlistentry>
126                 <term>15</term>
127                 <listitem>
128                     <link linkend="list">Liste</link> simple.
129                 </listitem>
130             </varlistentry>
131             <varlistentry>
132                 <term>16</term>
133                 <listitem>
134                     Liste typée (<link linkend="tlist">tlist</link>).
135                 </listitem>
136             </varlistentry>
137             <varlistentry>
138                 <term>17</term>
139                 <listitem>
140                     Liste typée matricielle (<link linkend="mlist">mlist</link>).
141                 </listitem>
142             </varlistentry>
143             <varlistentry>
144                 <term>128</term>
145                 <listitem>
146                     Identifiant d'un bloc Xcos, d'un résultat de
147                   <link linkend="lufact">lufact</link>(), etc.
148                 </listitem>
149             </varlistentry>
150             <varlistentry>
151                 <term>129</term>
152                 <listitem>
153                     Polynôme implicite utilisé pour indexer.
154                 </listitem>
155             </varlistentry>
156             <varlistentry>
157                 <term>130</term>
158                 <listitem>
159                     Fonction interne Scilab, aussi appellé <emphasis role="italic">primitive</emphasis> (Code C, C++ ou Fortran).
160                 </listitem>
161             </varlistentry>
162             <varlistentry>
163                 <term>0</term>
164                 <listitem>
165                     Elément non défini d'une liste (de typeof <literal>void</literal>, tel que
166                     dans l'appel de fonction <literal>foo(a,,b)</literal>, ou dans
167                     <literal>list(%pi,,%i,,,%z)</literal>),
168                     ou objet nul produit par <literal>null()</literal> (de typeof
169                     <literal>listdelete</literal>).
170                 </listitem>
171             </varlistentry>
172         </variablelist>
173         <refsect2>
174         <title>Remarques</title>
175             <para>
176                 Certaines données structurées sont stockées dans des listes typées de types 16 (tlist)
177                 ou 17 (mlist). C'est le cas pour les fractions rationnelles
178                 (<emphasis role="italic">rational</emphasis>), les structures
179                 (<emphasis role="italic">struct</emphasis>),
180                 les <emphasis role="italic">state-space</emphasis>, les arbres interactifs
181                 (<emphasis role="italic">uitree</emphasis>), etc, pour lesquelles
182                 <literal>type(..)</literal> répondra 16 ou 17. On utilisera alors
183                 <link linkend="typeof">typeof</link> pour distinguer leurs types plus précisément.
184             </para>
185             <para>
186                 <emphasis role="bold">Conversion de type lors d'opérations mixtes</emphasis> :
187             </para>
188             <para>
189                 Lorsqu'un opérateur binaire -- telle que la multiplication -- ou n-aire i.e.
190                 binaire itéré -- telle que la concaténation -- agit sur deux opérandes de types
191                 différents mais compatibles, en général le type de l'un d'eux est implicitement
192                 converti, et l'autre opérande donne son type au résultat.
193                 <para>
194                     Exemples pour la  <link linkend="brackets">concaténation</link> :
195                     <literal>[%t, 3.124]</literal>, <literal>[int8(5), 3.124]</literal>, etc.
196                 </para>
197                 <para>
198                 Pour la concaténation, l'addition, la soustraction, la multiplication, la division,
199                 et la puissance, la hiérarchie des types est la suivante (lire "A &lt; B" :
200                 B impose son type à A) :
201                 <simplelist>
202                     <member>
203                         booléen &lt; (nombre décimal, nombre encodé complexe)
204                     </member>
205                     <member>
206                         <warning>
207                             (nombre décimal, nombre encodé complexe) &lt; entier encodé.
208                         </warning>
209                     </member>
210                     <member>
211                         polynôme (réel | complexe) &lt; fraction rationnelle (réelle | complexe)
212                     </member>
213                 </simplelist>
214                 </para>
215             </para>
216         </refsect2>
217     </refsection>
218     <refsection>
219         <title>Exemples</title>
220         <programlisting role="example"><![CDATA[
221 // (Sélectionner des lignes, cliquer droit et choisir "Exécuter.." pour les exécuter dans la console)
222 L = list(%pi,,"abc");
223 type(L(2))                  // Element non défini dans une liste
224
225 type(42)                    // Nombres décimaux
226 type(%nan)
227 type(%inf)
228
229 type(1+%i)                  // Nombres complexes
230
231 s = sparse([1,2;4,5;3,10],[1,2,3]);
232 type(s)                     // Matrice creuse numérique, à valeurs réelles ou complexes
233
234 type(%t)                    // Booléens
235
236 type(s>2)                   // Matrice booléenne creuse
237
238 g = int8([1 -120 127 312]); // Entiers encodés
239 type(g)
240 type(1.23 * int8(4))
241
242 type(1-%z+%z^2)             // Polynômes
243
244 type(gdf())                 // Identifiants graphiques
245
246 type("foo")                 // Textes et caractères
247
248 deff('[x] = mymacro(y,z)',['a=3*y+1'; 'x=a*z+y']);
249 type(mymacro)               // Functions en langage Scilab
250
251 type(disp)                  // Fonctions compilées en langage externe
252
253 l = list(1,["a" "b"]);      // Lists simples
254 type(l)
255
256 e = tlist(["listtype","field1","field2"], [], []);
257 type(e)                     // Listes typées
258
259 h = mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
260 type(h)                     // Listes typées matricielles
261
262 clear s, s.r = %pi          // Structures
263 type(s)
264
265 c = {%t %pi %i %z "abc" s}  // cells
266 type(c)
267
268 r = [%z/(1-%z) (1-%z)/%z^2]
269 type(r)                     // Fractions polynomiales (rationnelles)
270 ]]></programlisting>
271     </refsection>
272     <refsection role="see also">
273         <title>Voir aussi</title>
274         <simplelist type="inline">
275             <member>
276                 <link linkend="typeof">typeof</link>
277             </member>
278             <member>
279                 <link linkend="inttype">inttype</link>
280             </member>
281             <member>
282                 <link linkend="isreal">isreal</link>
283             </member>
284             <member>
285                 <link linkend="brackets">brackets</link>
286             </member>
287             <member>
288                 <link linkend="overloading">overloading</link>
289             </member>
290             <member>
291                 <link linkend="poly">poly</link>
292             </member>
293             <member>
294                 <link linkend="rational">rational</link>
295             </member>
296             <member>
297                 <link linkend="tlist">tlist</link>
298             </member>
299             <member>
300                 <link linkend="mlist">mlist</link>
301             </member>
302             <member>
303                 <link linkend="null">null</link>
304             </member>
305         </simplelist>
306     </refsection>
307     <refsection role="history">
308         <title>Historique</title>
309         <revhistory>
310             <revision>
311                 <revnumber>6.0</revnumber>
312                 <revdescription>
313                   Le type 11 est supprimé. Il était utilisé pour les fonctions Scilab non compilées.
314                 </revdescription>
315             </revision>
316         </revhistory>
317     </refsection>
318 </refentry>