Diff for /rpl/src/calcul_integral.c between versions 1.13 and 1.40

version 1.13, 2010/08/26 19:07:34 version 1.40, 2012/12/19 09:58:22
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.0.19    RPL/2 (R) version 4.1.12
   Copyright (C) 1989-2010 Dr. BERTRAND Joël    Copyright (C) 1989-2012 Dr. BERTRAND Joël
   
   This file is part of RPL/2.    This file is part of RPL/2.
   
Line 138  integrale_romberg(struct_processus *s_et Line 138  integrale_romberg(struct_processus *s_et
     do      do
     {      {
         h = (b - a) / (nombre_elements = (1ULL << (++n)));          h = (b - a) / (nombre_elements = (1ULL << (++n)));
   
           if (((unsigned long) nombre_elements) == 0)
           {
               // Dépassement de capacité
               n--;
               break;
           }
   
         x = a;          x = a;
   
         /*          /*
Line 355  evaluation_romberg(struct_processus *s_e Line 363  evaluation_romberg(struct_processus *s_e
   
     if (recherche_variable(s_etat_processus, variable) == d_vrai)      if (recherche_variable(s_etat_processus, variable) == d_vrai)
     {      {
         if (((*s_etat_processus).s_liste_variables[(*s_etat_processus)          if ((*(*s_etat_processus).pointeur_variable_courante)
                 .position_variable_courante]).variable_verrouillee == d_vrai)                  .variable_verrouillee == d_vrai)
         {          {
             (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;              (*s_etat_processus).erreur_execution = d_ex_variable_verrouillee;
             return;              return;
         }          }
   
         if ((*((*s_etat_processus).s_liste_variables          if ((*(*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante])  
                 .objet).type != REL)                  .objet).type != REL)
         {          {
             liberation(s_etat_processus, ((*s_etat_processus).s_liste_variables              liberation(s_etat_processus, (*(*s_etat_processus)
                     [(*s_etat_processus).position_variable_courante]).objet);                      .pointeur_variable_courante).objet);
   
             if ((((*s_etat_processus).s_liste_variables              if (((*(*s_etat_processus).pointeur_variable_courante).objet =
                     [(*s_etat_processus).position_variable_courante]).objet =  
                     allocation(s_etat_processus, REL)) == NULL)                      allocation(s_etat_processus, REL)) == NULL)
             {              {
                 (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;                  (*s_etat_processus).erreur_systeme = d_es_allocation_memoire;
Line 378  evaluation_romberg(struct_processus *s_e Line 384  evaluation_romberg(struct_processus *s_e
             }              }
         }          }
   
         (*((real8 *) (*((*s_etat_processus).s_liste_variables          (*((real8 *) (*(*(*s_etat_processus).pointeur_variable_courante)
                 [(*s_etat_processus).position_variable_courante])  
                 .objet).objet)) = (*point);                  .objet).objet)) = (*point);
     }      }
     else      else

Removed from v.1.13  
changed lines
  Added in v.1.40


CVSweb interface <joel.bertrand@systella.fr>