Diff for /rpl/src/instructions_f4.c between versions 1.41 and 1.70

version 1.41, 2012/12/20 15:32:52 version 1.70, 2019/10/31 15:40:10
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.12    RPL/2 (R) version 4.1.32
   Copyright (C) 1989-2012 Dr. BERTRAND Joël    Copyright (C) 1989-2019 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 40  instruction_fleche_table(struct_processu Line 40  instruction_fleche_table(struct_processu
 {  {
     struct_objet                    *s_objet;      struct_objet                    *s_objet;
   
     signed long                     i;      integer8                        i;
     signed long                     nombre_elements;      integer8                        nombre_elements;
   
     (*s_etat_processus).erreur_execution = d_ex;      (*s_etat_processus).erreur_execution = d_ex;
   
Line 116  instruction_fleche_table(struct_processu Line 116  instruction_fleche_table(struct_processu
         return;          return;
     }      }
   
     if ((unsigned long) nombre_elements >=      if (nombre_elements >= (*s_etat_processus).hauteur_pile_operationnelle)
             (*s_etat_processus).hauteur_pile_operationnelle)  
     {      {
         (*s_etat_processus).erreur_execution = d_ex_manque_argument;          (*s_etat_processus).erreur_execution = d_ex_manque_argument;
         return;          return;
Line 149  instruction_fleche_table(struct_processu Line 148  instruction_fleche_table(struct_processu
     (*((struct_tableau *) (*s_objet).objet)).nombre_elements =      (*((struct_tableau *) (*s_objet).objet)).nombre_elements =
             nombre_elements;              nombre_elements;
   
     if (((*((struct_tableau *) (*s_objet).objet)).elements = malloc(      if (((*((struct_tableau *) (*s_objet).objet)).elements = malloc(((size_t)
             nombre_elements * sizeof(struct_objet *))) == NULL)              nombre_elements) * sizeof(struct_objet *))) == NULL)
     {      {
         (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;          (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
         return;          return;
Line 194  instruction_fleche_diag(struct_processus Line 193  instruction_fleche_diag(struct_processus
     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 256  instruction_fleche_diag(struct_processus Line 255  instruction_fleche_diag(struct_processus
                 (*((struct_vecteur *) (*s_objet_argument).objet)).taille;                  (*((struct_vecteur *) (*s_objet_argument).objet)).taille;
   
         if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =          if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =
                 malloc((*((struct_matrice *) (*s_objet_resultat).objet))                  malloc(((size_t) (*((struct_matrice *)
                 .nombre_lignes * sizeof(integer8 *))) == NULL)                  (*s_objet_resultat).objet)).nombre_lignes)
                   * sizeof(integer8 *))) == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;              return;
Line 268  instruction_fleche_diag(struct_processus Line 268  instruction_fleche_diag(struct_processus
         {          {
             if ((((integer8 **) (*((struct_matrice *)              if ((((integer8 **) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).tableau)[i] =                      (*s_objet_resultat).objet)).tableau)[i] =
                     malloc((*((struct_matrice *)                      malloc(((size_t) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).nombre_colonnes *                      (*s_objet_resultat).objet)).nombre_colonnes) *
                     sizeof(integer8))) == NULL)                      sizeof(integer8))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 308  instruction_fleche_diag(struct_processus Line 308  instruction_fleche_diag(struct_processus
                 (*((struct_vecteur *) (*s_objet_argument).objet)).taille;                  (*((struct_vecteur *) (*s_objet_argument).objet)).taille;
   
         if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =          if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =
                 malloc((*((struct_matrice *) (*s_objet_resultat).objet))                  malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat)
                 .nombre_lignes * sizeof(real8 *))) == NULL)                  .objet)).nombre_lignes) * sizeof(real8 *))) == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;              return;
Line 320  instruction_fleche_diag(struct_processus Line 320  instruction_fleche_diag(struct_processus
         {          {
             if ((((real8 **) (*((struct_matrice *)              if ((((real8 **) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).tableau)[i] =                      (*s_objet_resultat).objet)).tableau)[i] =
                     malloc((*((struct_matrice *)                      malloc(((size_t) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).nombre_colonnes *                      (*s_objet_resultat).objet)).nombre_colonnes) *
                     sizeof(real8))) == NULL)                      sizeof(real8))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 360  instruction_fleche_diag(struct_processus Line 360  instruction_fleche_diag(struct_processus
                 (*((struct_vecteur *) (*s_objet_argument).objet)).taille;                  (*((struct_vecteur *) (*s_objet_argument).objet)).taille;
   
         if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =          if (((*((struct_matrice *) (*s_objet_resultat).objet)).tableau =
                 malloc((*((struct_matrice *) (*s_objet_resultat).objet))                  malloc(((size_t) (*((struct_matrice *) (*s_objet_resultat)
                 .nombre_lignes * sizeof(complex16 *))) == NULL)                  .objet)).nombre_lignes) * sizeof(complex16 *))) == NULL)
         {          {
             (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;              (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
             return;              return;
Line 372  instruction_fleche_diag(struct_processus Line 372  instruction_fleche_diag(struct_processus
         {          {
             if ((((complex16 **) (*((struct_matrice *)              if ((((complex16 **) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).tableau)[i] =                      (*s_objet_resultat).objet)).tableau)[i] =
                     malloc((*((struct_matrice *)                      malloc(((size_t) (*((struct_matrice *)
                     (*s_objet_resultat).objet)).nombre_colonnes *                      (*s_objet_resultat).objet)).nombre_colonnes) *
                     sizeof(complex16))) == NULL)                      sizeof(complex16))) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 520  instruction_forall(struct_processus *s_e Line 520  instruction_forall(struct_processus *s_e
         return;          return;
     }      }
   
     tampon = (*s_etat_processus).instruction_courante;  
     test_instruction = (*s_etat_processus).test_instruction;  
     instruction_valide = (*s_etat_processus).instruction_valide;  
     (*s_etat_processus).test_instruction = 'Y';  
   
     empilement_pile_systeme(s_etat_processus);      empilement_pile_systeme(s_etat_processus);
   
     if ((*s_etat_processus).erreur_systeme != d_es)      if ((*s_etat_processus).erreur_systeme != d_es)
Line 534  instruction_forall(struct_processus *s_e Line 529  instruction_forall(struct_processus *s_e
   
     if ((*s_etat_processus).mode_execution_programme == 'Y')      if ((*s_etat_processus).mode_execution_programme == 'Y')
     {      {
           tampon = (*s_etat_processus).instruction_courante;
           test_instruction = (*s_etat_processus).test_instruction;
           instruction_valide = (*s_etat_processus).instruction_valide;
           (*s_etat_processus).test_instruction = 'Y';
   
         if (recherche_instruction_suivante(s_etat_processus) == d_erreur)          if (recherche_instruction_suivante(s_etat_processus) == d_erreur)
         {          {
             return;              return;
Line 546  instruction_forall(struct_processus *s_e Line 546  instruction_forall(struct_processus *s_e
             liberation(s_etat_processus, s_objet_1);              liberation(s_etat_processus, s_objet_1);
             free((*s_etat_processus).instruction_courante);              free((*s_etat_processus).instruction_courante);
             (*s_etat_processus).instruction_courante = tampon;              (*s_etat_processus).instruction_courante = tampon;
               (*s_etat_processus).instruction_valide = instruction_valide;
               (*s_etat_processus).test_instruction = test_instruction;
   
             depilement_pile_systeme(s_etat_processus);              depilement_pile_systeme(s_etat_processus);
   
Line 553  instruction_forall(struct_processus *s_e Line 555  instruction_forall(struct_processus *s_e
             return;              return;
         }          }
   
           (*s_etat_processus).type_en_cours = NON;
         recherche_type(s_etat_processus);          recherche_type(s_etat_processus);
   
         free((*s_etat_processus).instruction_courante);          free((*s_etat_processus).instruction_courante);
         (*s_etat_processus).instruction_courante = tampon;          (*s_etat_processus).instruction_courante = tampon;
           (*s_etat_processus).instruction_valide = instruction_valide;
           (*s_etat_processus).test_instruction = test_instruction;
   
         if ((*s_etat_processus).erreur_execution != d_ex)          if ((*s_etat_processus).erreur_execution != d_ex)
         {          {
Line 651  instruction_forall(struct_processus *s_e Line 656  instruction_forall(struct_processus *s_e
                 return;                  return;
             }              }
   
             (*s_etat_processus).test_instruction = test_instruction;  
             (*s_etat_processus).instruction_valide = instruction_valide;  
   
             instruction_cycle(s_etat_processus);              instruction_cycle(s_etat_processus);
             return;              return;
         }          }
Line 695  instruction_forall(struct_processus *s_e Line 697  instruction_forall(struct_processus *s_e
                 return;                  return;
             }              }
   
             (*s_etat_processus).test_instruction = test_instruction;  
             (*s_etat_processus).instruction_valide = instruction_valide;  
   
             instruction_cycle(s_etat_processus);              instruction_cycle(s_etat_processus);
             return;              return;
         }          }
Line 731  instruction_forall(struct_processus *s_e Line 730  instruction_forall(struct_processus *s_e
   
     liberation(s_etat_processus, s_objet_2);      liberation(s_etat_processus, s_objet_2);
   
     (*s_etat_processus).test_instruction = test_instruction;  
     (*s_etat_processus).instruction_valide = instruction_valide;  
   
     (*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle = s_objet_1;      (*(*s_etat_processus).l_base_pile_systeme).limite_indice_boucle = s_objet_1;
   
     if ((*s_etat_processus).mode_execution_programme == 'Y')      if ((*s_etat_processus).mode_execution_programme == 'Y')

Removed from v.1.41  
changed lines
  Added in v.1.70


CVSweb interface <joel.bertrand@systella.fr>