<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
<!-- When this file is modified please also modify mtlb_any.xml -->
<MAN>
  <LANGUAGE>fr</LANGUAGE>
  <TITLE>mtlb_all</TITLE>
  <TYPE>Fonction M2SCI</TYPE>
  <DATE>Mars 2004</DATE>

  <SHORT_DESCRIPTION name="mtlb_all">Fonction d'émulation de la fonction Matlab all</SHORT_DESCRIPTION>

  <DESCRIPTION>

    <P>Dans plusieurs cas particuliers, les fonctions <VERB>all</VERB> de Matlab et
    <VERB>and</VERB> de Scilab se comportent différemment :</P>

    <DESCRIPTION_INDENT>
    <DESCRIPTION_ITEM>
    <ITEMIZE>
      <ITEM>
        <SP>
	Avec un argument d'entrée (<VERB>all(A)</VERB>), la fonction <VERB>all</VERB> de Matlab traite
	les valeurs selon la première dimension de A qui n'est pas 1 comme un vecteur
	alors que Scilab traite toutes les valeurs de A.
	</SP>
      </ITEM>
	
      <ITEM>
        <SP>
	Avec deux arguments d'entrée (<VERB>all(A,dim)</VERB>), Matlab
	tolère une valeur de <VERB>dim</VERB> supérieure au
	nombre de dimensions de A alors que Scilab renvoie un message d'erreur dans ce cas.
        </SP>
      </ITEM>
    </ITEMIZE>
    </DESCRIPTION_ITEM>
    </DESCRIPTION_INDENT>

    <P>
    La fonction <VERB>mtlb_all(A[,dim])</VERB> est utilisée par
    <VERB>mfile2sci</VERB> pour remplacer <VERB>all(A[,dim])</VERB> quand il n'était pas
    possible de savoir ce qu'étaient les opérandes pendant la conversion d'un code Matlab vers Scilab. Cette fonction va
    déterminer la sémantique correcte pendant l'exécution. Pour obtenir un code plus performant
    on peut remplacer les appels à <VERB>mtlb_all</VERB> :
    </P>

    <DESCRIPTION_INDENT>
    <DESCRIPTION_ITEM>
    <ITEMIZE>
      <ITEM>
        <SP>    
	Si <VERB>A</VERB> est un scalaire ou un vecteur
	<VERB>R = mtlb_all(A)</VERB> peut être remplacé par <VERB>R = and(A)</VERB>
	</SP>      
      </ITEM>

      <ITEM>
        <SP>
	Si <VERB>A</VERB> est une matrice
	<VERB>R = mtlb_all(A)</VERB> peut être remplacé par <VERB>R = and(A,1)</VERB>
	</SP>      
      </ITEM>

      <ITEM>
        <SP>
	Si <VERB>A</VERB> est une hypermatrice
	<VERB>R = mtlb_all(A)</VERB> peut être remplacé par <VERB>R = and(A,firstnonsingleton(A))</VERB>
	ou par <VERB>R = and(A,user_defined_value)</VERB> si la première dimension non-égale à 1 de A est connue.
	</SP>
      </ITEM>

      <ITEM>
        <SP>
	Si <VERB>dim</VERB> est inférieur ou égal au nombre de dimensions de A
	<VERB>R = mtlb_all(A,dim)</VERB> peut être remplacé par <VERB>R = and(A,dim)</VERB>
	</SP>
      </ITEM>

      <ITEM>
        <SP>
	Si <VERB>dim</VERB> est supérieur au nombre de dimensions de A
	<VERB>R = mtlb_all(A,dim)</VERB> peut être remplacé par <VERB>R = A&lt;&gt;0</VERB> si A n'est pas
	une matrice vide ou par <VERB>R = A</VERB> si A est une matrice vide.
	</SP>
      </ITEM>
    </ITEMIZE>
    </DESCRIPTION_ITEM>
    </DESCRIPTION_INDENT>

    <P>Attention: <VERB>mtlb_all</VERB> ne doit pas être utilisée pour une programmation manuelle.</P>

  </DESCRIPTION>

  <SEE_ALSO>
    <SEE_ALSO_ITEM> <LINK>firstnonsingleton</LINK> </SEE_ALSO_ITEM>
  </SEE_ALSO>

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