Diff for /rpl/src/interface_cas.cpp between versions 1.13 and 1.14

version 1.13, 2011/08/06 10:32:12 version 1.14, 2011/08/09 10:30:37
Line 45  using namespace std; Line 45  using namespace std;
     using namespace giac;      using namespace giac;
 #endif  #endif
   
   void
   initialisation_contexte_cas(struct_processus *s_etat_processus)
   {
       s_etat_processus->contexte_cas = NULL;
       return;
   }
   
   void
   liberation_contexte_cas(struct_processus *s_etat_processus)
   {
       delete reinterpret_cast<giac::context *>(s_etat_processus->contexte_cas);
       s_etat_processus->contexte_cas = NULL;
   
       return;
   }
   
 static unsigned char *  static unsigned char *
 conversion_rpl_vers_cas(struct_processus *s_etat_processus,  conversion_rpl_vers_cas(struct_processus *s_etat_processus,
Line 403  interface_cas(struct_processus *s_etat_p Line 418  interface_cas(struct_processus *s_etat_p
   
     unsigned int            position;      unsigned int            position;
   
       giac::context           *contexte;
   
       if (s_etat_processus->contexte_cas == NULL)
       {
           try
           {
               s_etat_processus->contexte_cas = new giac::context;
           }
           catch(bad_alloc exception)
           {
               s_etat_processus->erreur_systeme = d_es_allocation_memoire;
               return;
           }
           catch(...)
           {
               s_etat_processus->erreur_execution = d_ex_erreur_interne_rplcas;
               return;
           }
       }
   
       contexte = reinterpret_cast<giac::context *>(
               s_etat_processus->contexte_cas);
   
       if ((s_etat_processus->erreur_execution != d_ex) ||
               (s_etat_processus->erreur_systeme != d_es))
       {
           return;
       }
   
     switch(commande)      switch(commande)
     {      {
         case RPLCAS_INTEGRATION:          case RPLCAS_INTEGRATION:
Line 441  interface_cas(struct_processus *s_etat_p Line 485  interface_cas(struct_processus *s_etat_p
   
             try              try
             {              {
                 giac::context   contexte;  
   
                 gen variable(                  gen variable(
                         string(reinterpret_cast<const char *>(argument_1)),                          string(reinterpret_cast<const char *>(argument_1)),
                         &contexte);                          contexte);
                 gen expression(                  gen expression(
                         string(reinterpret_cast<const char *>(argument_2)),                          string(reinterpret_cast<const char *>(argument_2)),
                         &contexte);                          contexte);
   
                 gen resultat = integrate_gen(expression, variable, &contexte);                  gen resultat = integrate_gen(expression, variable,
                           contexte);
                 string chaine = "'" + resultat.print() + "'";                  string chaine = "'" + resultat.print() + "'";
   
                 conversion_cas_vers_rpl(s_etat_processus,                  conversion_cas_vers_rpl(s_etat_processus,
Line 588  interface_cas(struct_processus *s_etat_p Line 631  interface_cas(struct_processus *s_etat_p
   
             try              try
             {              {
                 giac::context   contexte;  
   
                 int             direction;                  int             direction;
   
                 if (argument_4 == NULL)                  if (argument_4 == NULL)
Line 604  interface_cas(struct_processus *s_etat_p Line 645  interface_cas(struct_processus *s_etat_p
   
                 gen expression(                  gen expression(
                         string(reinterpret_cast<const char *>(argument_2)),                          string(reinterpret_cast<const char *>(argument_2)),
                         &contexte);                          contexte);
                 identificateur variable(                  identificateur variable(
                         string(reinterpret_cast<const char *>(argument_1)));                          string(reinterpret_cast<const char *>(argument_1)));
                 gen valeur(string(reinterpret_cast<const char *>                  gen valeur(string(reinterpret_cast<const char *>
                         (argument_3)), &contexte);                          (argument_3)), contexte);
   
                 gen resultat = limit(expression, variable, valeur, direction,                  gen resultat = limit(expression, variable, valeur, direction,
                         &contexte);                          contexte);
                 string chaine = "'" + resultat.print() + "'";                  string chaine = "'" + resultat.print() + "'";
   
                 conversion_cas_vers_rpl(s_etat_processus,                  conversion_cas_vers_rpl(s_etat_processus,

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


CVSweb interface <joel.bertrand@systella.fr>