Fonction M2SCI
Last update : 30/03/2004

mtlb_logic - Fonction d'émulation des opérateurs logiques de Matlab

### Description

Dans plusieurs cas particuliers, les opérateurs logiques se comportent différemment dans Matlab et dans Scilab :

  - Avec des opérandes complexes : Les opérateurs `<`, `<=`, `>` et `>=` ne peuvent pas être utilisés dans Scilab avec des opérandes complexes alors que cela est possible dans Matlab. Dans ce cas, seule la partie réelle des opérandes est comparée.
  - Avec des matrices vides : Si les deux opérandes des opérateurs `<`, `<=`, `>` and `>=` sont des matrices vides, Scilab renvoie un message d'erreur alors que Matlab retourne une matrice vide. Pour les opérateurs `==` et `~=`, si au moins une opérande est une matrice vide alors Matlab renvoie [] alors que Scilab retourne un booléen %T ou %F.

La fonction `mtlb_logic(A,symbol,B)` (avec "symbol" une chaîne de caractères contenant le symbole de l'opérateur) est utilisée par `mfile2sci` pour remplacer `A symbol B` 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 à `mtlb_logic` :

  - Si `A` et `B` ne sont pas des complexes ni des matrices vides `mtlb_logic(A,symbol,B)` peut être remplacé par `A symbol B`

Attention : `mtlb_logic` ne doit pas être utilisée pour une programmation manuelle.

### Authors

  V.C.