Diff for /rpl/src/instructions_n1.c between versions 1.39 and 1.46

version 1.39, 2012/10/01 11:05:05 version 1.46, 2013/03/24 23:11:30
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.11    RPL/2 (R) version 4.1.13
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2013 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 27 Line 27
 ================================================================================  ================================================================================
   Fonction 'neg'    Fonction 'neg'
 ================================================================================  ================================================================================
   Entrées :    Entrées :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Sorties :    Sorties :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Effets de bord : néant    Effets de bord : néant
 ================================================================================  ================================================================================
 */  */
   
Line 48  instruction_neg(struct_processus *s_etat Line 48  instruction_neg(struct_processus *s_etat
     struct_objet                *s_objet_argument;      struct_objet                *s_objet_argument;
     struct_objet                *s_objet_resultat;      struct_objet                *s_objet_resultat;
   
     unsigned long               i;      integer8                    i;
     unsigned long               j;      integer8                    j;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
Line 120  instruction_neg(struct_processus *s_etat Line 120  instruction_neg(struct_processus *s_etat
         }          }
   
         /*          /*
          * Permet d'éviter les résultats du type -0. Valable pour tous           * Permet d'éviter les résultats du type -0. Valable pour tous
          * les types...           * les types...
          */           */
   
Line 133  instruction_neg(struct_processus *s_etat Line 133  instruction_neg(struct_processus *s_etat
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Opposition d'un réel    Opposition d'un réel
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
Line 217  instruction_neg(struct_processus *s_etat Line 217  instruction_neg(struct_processus *s_etat
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Opposition d'un vecteur de réels    Opposition d'un vecteur de réels
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
Line 320  instruction_neg(struct_processus *s_etat Line 320  instruction_neg(struct_processus *s_etat
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Opposition d'une matrice de réels    Opposition d'une matrice de réels
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
Line 641  instruction_neg(struct_processus *s_etat Line 641  instruction_neg(struct_processus *s_etat
 ================================================================================  ================================================================================
   Fonction 'not'    Fonction 'not'
 ================================================================================  ================================================================================
   Entrées : pointeur sur une struct_processus    Entrées : pointeur sur une struct_processus
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Sorties :    Sorties :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Effets de bord : néant    Effets de bord : néant
 ================================================================================  ================================================================================
 */  */
   
Line 978  instruction_not(struct_processus *s_etat Line 978  instruction_not(struct_processus *s_etat
 ================================================================================  ================================================================================
   Fonction '<>'    Fonction '<>'
 ================================================================================  ================================================================================
   Entrées :    Entrées :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Sorties :    Sorties :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Effets de bord : néant    Effets de bord : néant
 ================================================================================  ================================================================================
 */  */
   
Line 1003  instruction_ne(struct_processus *s_etat_ Line 1003  instruction_ne(struct_processus *s_etat_
   
     logical1                    difference;      logical1                    difference;
   
     unsigned long               i;      integer8                    i;
     unsigned long               j;      integer8                    j;
     unsigned long               nombre_elements;      integer8                    nombre_elements;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
Line 1084  instruction_ne(struct_processus *s_etat_ Line 1084  instruction_ne(struct_processus *s_etat_
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   SAME NOT sur des valeurs numériques    SAME NOT sur des valeurs numériques
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
Line 1182  instruction_ne(struct_processus *s_etat_ Line 1182  instruction_ne(struct_processus *s_etat_
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   SAME NOT portant sur des chaînes de caractères    SAME NOT portant sur des chaînes de caractères
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
Line 1206  instruction_ne(struct_processus *s_etat_ Line 1206  instruction_ne(struct_processus *s_etat_
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
     /*      /*
      * Il y a de la récursivité dans l'air...       * Il y a de la récursivité dans l'air...
      */       */
   
     else if ((((*s_objet_argument_1).type == LST) &&      else if ((((*s_objet_argument_1).type == LST) &&
Line 1334  instruction_ne(struct_processus *s_etat_ Line 1334  instruction_ne(struct_processus *s_etat_
     }      }
   
     /*      /*
      * Vecteurs de réels       * Vecteurs de réels
      */       */
   
     else if (((*s_objet_argument_1).type == VRL) &&      else if (((*s_objet_argument_1).type == VRL) &&
Line 1462  instruction_ne(struct_processus *s_etat_ Line 1462  instruction_ne(struct_processus *s_etat_
     }      }
   
     /*      /*
      * Matrice de réels       * Matrice de réels
      */       */
   
     else if (((*s_objet_argument_1).type == MRL) &&      else if (((*s_objet_argument_1).type == MRL) &&
Line 1564  instruction_ne(struct_processus *s_etat_ Line 1564  instruction_ne(struct_processus *s_etat_
 */  */
   
     /*      /*
      * Nom ou valeur numérique / Nom ou valeur numérique       * Nom ou valeur numérique / Nom ou valeur numérique
      */       */
   
     else if ((((*s_objet_argument_1).type == NOM) &&      else if ((((*s_objet_argument_1).type == NOM) &&
Line 1701  instruction_ne(struct_processus *s_etat_ Line 1701  instruction_ne(struct_processus *s_etat_
     }      }
   
     /*      /*
      * Nom ou valeur numérique / Expression       * Nom ou valeur numérique / Expression
      */       */
   
     else if (((((*s_objet_argument_1).type == ALG) ||      else if (((((*s_objet_argument_1).type == ALG) ||
Line 1793  instruction_ne(struct_processus *s_etat_ Line 1793  instruction_ne(struct_processus *s_etat_
     }      }
   
     /*      /*
      * Expression / Nom ou valeur numérique       * Expression / Nom ou valeur numérique
      */       */
   
     else if ((((*s_objet_argument_1).type == NOM) ||      else if ((((*s_objet_argument_1).type == NOM) ||
Line 2044  instruction_ne(struct_processus *s_etat_ Line 2044  instruction_ne(struct_processus *s_etat_
 ================================================================================  ================================================================================
   Fonction 'next'    Fonction 'next'
 ================================================================================  ================================================================================
   Entrées :    Entrées :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Sorties :    Sorties :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Effets de bord : néant    Effets de bord : néant
 ================================================================================  ================================================================================
 */  */
   
Line 2124  instruction_next(struct_processus *s_eta Line 2124  instruction_next(struct_processus *s_eta
          * Pour une boucle avec indice, on fait pointer            * Pour une boucle avec indice, on fait pointer 
          * (*(*s_etat_processus).l_base_pile_systeme).indice_boucle sur           * (*(*s_etat_processus).l_base_pile_systeme).indice_boucle sur
          * la variable correspondante. Remarque, le contenu de la variable           * la variable correspondante. Remarque, le contenu de la variable
          * est détruit au courant de l'opération.           * est détruit au courant de l'opération.
          */           */
   
         if (presence_compteur == d_vrai)          if (presence_compteur == d_vrai)
Line 2158  instruction_next(struct_processus *s_eta Line 2158  instruction_next(struct_processus *s_eta
         /*          /*
          * Empilement pour calculer le nouvel indice. Au passage, la           * Empilement pour calculer le nouvel indice. Au passage, la
          * variable (*(*s_etat_processus).l_base_pile_systeme).indice_boucle           * variable (*(*s_etat_processus).l_base_pile_systeme).indice_boucle
          * est libérée.           * est libérée.
          */           */
   
         if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),          if (empilement(s_etat_processus, &((*s_etat_processus).l_base_pile),
Line 2205  instruction_next(struct_processus *s_eta Line 2205  instruction_next(struct_processus *s_eta
         if (presence_compteur == d_vrai)          if (presence_compteur == d_vrai)
         {          {
             /*              /*
              * L'addition crée si besoin une copie de l'objet               * L'addition crée si besoin une copie de l'objet
              */               */
   
             (*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL;              (*(*s_etat_processus).l_base_pile_systeme).indice_boucle = NULL;
Line 2288  instruction_next(struct_processus *s_eta Line 2288  instruction_next(struct_processus *s_eta
             {              {
                 (*s_etat_processus).niveau_courant--;                  (*s_etat_processus).niveau_courant--;
   
                 if (retrait_variable_par_niveau(s_etat_processus) == d_erreur)                  if (retrait_variables_par_niveau(s_etat_processus) == d_erreur)
                 {                  {
                     return;                      return;
                 }                  }
Line 2301  instruction_next(struct_processus *s_eta Line 2301  instruction_next(struct_processus *s_eta
     { // FORALL      { // FORALL
         if ((*(*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle)          if ((*(*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle)
                 .type == NON)                  .type == NON)
         { // L'objet initial était vide.          { // L'objet initial était vide.
             (*s_etat_processus).niveau_courant--;              (*s_etat_processus).niveau_courant--;
             depilement_pile_systeme(s_etat_processus);              depilement_pile_systeme(s_etat_processus);
   
Line 2433  instruction_next(struct_processus *s_eta Line 2433  instruction_next(struct_processus *s_eta
   
             (*s_etat_processus).niveau_courant--;              (*s_etat_processus).niveau_courant--;
   
             if (retrait_variable_par_niveau(s_etat_processus) == d_erreur)              if (retrait_variables_par_niveau(s_etat_processus) == d_erreur)
             {              {
                 return;                  return;
             }              }
Line 2462  instruction_next(struct_processus *s_eta Line 2462  instruction_next(struct_processus *s_eta
 ================================================================================  ================================================================================
   Fonction 'nrand'    Fonction 'nrand'
 ================================================================================  ================================================================================
   Entrées : structure processus    Entrées : structure processus
 -------------------------------------------------------------------------------  -------------------------------------------------------------------------------
   Sorties :    Sorties :
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
   Effets de bord : néant    Effets de bord : néant
 ================================================================================  ================================================================================
 */  */
   

Removed from v.1.39  
changed lines
  Added in v.1.46


CVSweb interface <joel.bertrand@systella.fr>