<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
<MAN>
  <LANGUAGE>fr</LANGUAGE>
  <TITLE>m2scideclare</TITLE>
  <TYPE>Fonction M2SCI</TYPE>
  <DATE>Mars 2004</DATE>

  <SHORT_DESCRIPTION name="m2scideclare">Donner des indices pour aider M2SCI...</SHORT_DESCRIPTION>

  <DESCRIPTION>
  <P>
  La principale difficulté de M2SCI (<VERB>mfile2sci</VERB>) est de trouver
  ce que sont les variables : dimensions, type...  
  </P>
  <P>
  Pour aider cet outil, il suffit d'ajouter des commentaires commencant par
  <VERB>%m2scideclare</VERB> dans le fichier Matlab à convertir,
  (<VERB>%m2sciassume</VERB> était utilisée dans les versions précédentes
  de Scilab mais est maintenant obsolète).
  </P>
  <P>
  La syntaxe de cette commande est :
  </P>
  <P>
  <VERB>%m2scideclare nom_de_variable|dimensions|type_de_données|propriété</VERB>
  </P>
  <P>
  avec :
  </P>
  
  <DESCRIPTION_INDENT>
  <DESCRIPTION_ITEM>
  <ITEMIZE>
    <ITEM>
      <SP>
      nom_de_variable : nom de la variable déclarée. Ce nom peut être
      un champ de Struct (e.g. <VERB>x(1,2).nom</VERB>)
      ou décrire le contenu d'une Cell en utilisant la syntaxe
      <VERB>x(1,2).entries</VERB>. NOTEZ que pour les Cells et les
      Structs <VERB>*</VERB> peut être utilisé comme index.
      </SP>
    </ITEM>
    <ITEM>
      <SP>
      dimensions : dimensions de la variable déclarée séparées par des espaces,
      si une dimension est inconnue, remplacez la par <VERB>?</VERB>. NOTEZ que
      les dimensions des chaînes de caractère doivent être identiques aux dimensions
      Matlab e.g. <VERB>1 6</VERB> pour la chaîne de caractères 'chaine'.
      </SP>
    </ITEM>
    <ITEM>
      <SP>
      type_de_données: le type de donnée de la variable qui peut être :
      </SP>
      <TABLE>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Type de donnée m2scideclare</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Type Scilab "équivalent"</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Double</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>1</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Boolean</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>4</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Sparse</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>5</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Int</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>8</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Handle</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>9</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>String</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>10</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Struct</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Struct Matlab (16)</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Cell</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Cell Matlab (17)</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Void</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Sans type (0)</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>?</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Type inconnu</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
      </TABLE>
    </ITEM>
   <ITEM>
      <SP>
      propriété : propriété de la variable qui peut être : 
      </SP>
      <TABLE>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Propriété m2scideclare</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>"Equivalent" Scilab</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Real</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Donnée réelle</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>Complex</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Donnée complexe</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
	<TABLE_NEW_ROW>
	  <TABLE_NEW_COLUMN>?</TABLE_NEW_COLUMN>
	  <TABLE_NEW_COLUMN>Property inconnue</TABLE_NEW_COLUMN>
	</TABLE_NEW_ROW>
      </TABLE>
      <SP>Ce champ est ignoré pour les types de données suivants : <VERB>Cell</VERB>,
      <VERB>Struct</VERB>, <VERB>String</VERB> et <VERB>Boolean</VERB>.</SP>
    </ITEM>
  </ITEMIZE>
  </DESCRIPTION_ITEM>
  </DESCRIPTION_INDENT>
  <P>
  Toutes les informations données par <VERB>m2scideclare</VERB> sont comparées avec
  les données inférées, en cas de conflit, les données inférées sont conservées et
  un warning est affiché. Si vous êtes sûrs de vos informations, rapportez ce bug.
  </P>
  
  <P>Voici quelques exemples :</P>

  <DESCRIPTION_INDENT>
  <DESCRIPTION_ITEM>
  <ITEMIZE>
    <ITEM>
      <SP><VERB>%m2scideclare var1|2 3|Double|Real</VERB>
      : var1 est déclarée comme une matrice de Doubles de taille 2x3
      et contenant des données réelles</SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var2|2 3 10|Double|Complex</VERB>
      : var2 est déclarée comme une hypermatrice de Doubles de taille 2x3x10
      et contenant des données complexes</SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var3(1,2).name|1 10|String|?</VERB>
      : var3 est déclarée comme un tableau de Structs contenant une chaîne de
      caractères de taille 1x10 dans le champ 'name' de la Struct à l'indice (1,2) </SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var4(1,5).entries|1 ?|Boolean|?</VERB>
      : var4 est déclarée comme un tableau de Cells contenant
      un vecteur ligne de booléens à l'indice (1,5)</SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var4(1,6).entries|? ?|Int|?</VERB>
      : var4 est déclarée comme un tableau de Cells contenant
      un vecteur ligne de booléens à l'indice (1,5)
      et des données entières à l'indice (1,6)</SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var5(*,*).name|1 ?|String|?</VERB>
      : var5 est déclarée comme un tableau de Structs contenant une
      chaîne de caractères de taille 1xn dans chaque champ 'name'</SP>
    </ITEM>
    <ITEM>
      <SP><VERB>%m2scideclare var6(2,*).entries|1 3|Double|Real</VERB>
      : var6 est déclarée comme un tableau de Cells contenant un
      veteur de Doubles de taille 1x3 dans chaque élement de sa
      seconde ligne.</SP>
    </ITEM>
  </ITEMIZE>
  </DESCRIPTION_ITEM>
  </DESCRIPTION_INDENT>

  </DESCRIPTION> 

  <AUTHORS>
    <AUTHORS_ITEM>V.C.</AUTHORS_ITEM>
  </AUTHORS>
</MAN>
