Diff for /rpl/src/rpl.h between versions 1.193 and 1.218

version 1.193, 2013/02/23 18:31:16 version 1.218, 2013/03/26 11:06:14
Line 1 Line 1
 /*  /*
 ================================================================================  ================================================================================
   RPL/2 (R) version 4.1.12    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 65 Line 65
   
 #include <stdio.h>  #include <stdio.h>
 #include <stdlib.h>  #include <stdlib.h>
   #include <stdint.h>
 #include <math.h>  #include <math.h>
 #include <string.h>  #include <string.h>
 #include <strings.h>  #include <strings.h>
Line 163 Line 164
 #   include "readline.h"  #   include "readline.h"
 #   include "termcap.h"  #   include "termcap.h"
 #   include "iconv.h"  #   include "iconv.h"
   #   include "zlib.h"
   
 #   include "openssl/evp.h"  #   include "openssl/evp.h"
   #   ifndef OPENSSL_NO_MD2
   #       include "openssl/md2.h"
   #   endif
   #   ifndef OPENSSL_NO_MD4
   #       include "openssl/md4.h"
   #   endif
   #   ifndef OPENSSL_NO_MD5
   #       include "openssl/md5.h"
   #   endif
   #   ifndef OPENSSL_NO_MDC2
   #       include "openssl/mdc2.h"
   #   endif
   #   ifndef OPENSSL_NO_RIPEMD
   #       include "openssl/ripemd.h"
   #   endif
   #   ifndef OPENSSL_NO_SHA
   #       include "openssl/sha.h"
   #   endif
   #   ifndef OPENSSL_NO_WHIRLPOOL
   #       include "openssl/whrlpool.h"
   #   endif
   #   ifndef OPENSSL_NO_AES
   #       include "openssl/aes.h"
   #   endif
   #   ifndef OPENSSL_NO_CAMELLIA
   #       include "openssl/camellia.h"
   #   endif
   #   ifndef OPENSSL_NO_RC2
   #       include "openssl/rc2.h"
   #   endif
   #   ifndef OPENSSL_NO_IDEA
   #       include "openssl/idea.h"
   #   endif
   
 #   include "sqlite3.h"  #   include "sqlite3.h"
 #   include "sigsegv.h"  #   include "sigsegv.h"
 #   ifdef OS2  #   ifdef OS2
Line 931  pid_t debug_fork(); Line 967  pid_t debug_fork();
 #   define d_ex_instruction_indisponible        __erreur(88)  #   define d_ex_instruction_indisponible        __erreur(88)
 #   define d_ex_chiffrement                     __erreur(89)  #   define d_ex_chiffrement                     __erreur(89)
 #   define d_ex_chiffrement_indisponible        __erreur(90)  #   define d_ex_chiffrement_indisponible        __erreur(90)
   #   define d_ex_longueur_clef_chiffrement       __erreur(91)
   #   define d_ex_taille_message                  __erreur(92)
 #endif  #endif
   
   
Line 988  enum t_type  { ADR = 0, ALG, BIN, CHN, C Line 1026  enum t_type  { ADR = 0, ALG, BIN, CHN, C
                 SLB, SPH, SQL, TBL, VCX, VIN, VRL };                  SLB, SPH, SQL, TBL, VCX, VIN, VRL };
   
     /*      /*
     ADR : adresse sur 32 bits (au moins) non signés (unsigned long)      ADR : adresse sur 64 bits signés.
             Adresse d'une définition à interpréter.              Adresse d'une définition à interpréter.
   
     ALG : expression algébrique (struct_liste_chainee *)      ALG : expression algébrique (struct_liste_chainee *)
Line 1090  typedef struct objet Line 1128  typedef struct objet
 #ifndef RPLARGS  #ifndef RPLARGS
 typedef struct fichier  typedef struct fichier
 {  {
     unsigned long               descripteur;      int                         descripteur;
   
     unsigned char               acces;          /* S/D/I */      unsigned char               acces;          /* S/D/I */
     unsigned char               binaire;        /* Y/N/F */      unsigned char               binaire;        /* Y/N/F */
Line 1183  typedef struct bibliotheque Line 1221  typedef struct bibliotheque
 #ifndef RPLARGS  #ifndef RPLARGS
 typedef struct descripteur_fichier  typedef struct descripteur_fichier
 {  {
     unsigned long               identifiant;      int                         identifiant;
   
     unsigned char               effacement;      unsigned char               effacement;
     unsigned char               type; // C (file *) ou S (sqlite *)      unsigned char               type; // C (file *) ou S (sqlite *)
Line 1453  typedef struct liste_pile_systeme Line 1491  typedef struct liste_pile_systeme
 {  {
     struct liste_pile_systeme   *suivant;      struct liste_pile_systeme   *suivant;
   
     struct_liste_chainee        *pointeur_objet_retour;  
   
     struct_objet                *indice_boucle;      struct_objet                *indice_boucle;
     struct_objet                *limite_indice_boucle;      struct_objet                *limite_indice_boucle;
     struct_objet                *objet_de_test;      struct_objet                *objet_de_test;
Line 1508  typedef struct liste_pile_systeme Line 1544  typedef struct liste_pile_systeme
     A     FORALL  : NEXT termine une boucle sur un objet.      A     FORALL  : NEXT termine une boucle sur un objet.
     */      */
   
     unsigned long               adresse_retour;      integer8                    adresse_retour;
     unsigned long               niveau_courant;      integer8                    niveau_courant;
     struct_objet                *pointeur_adresse_retour;      struct_liste_chainee        *pointeur_objet_retour;
 } struct_liste_pile_systeme;  } struct_liste_pile_systeme;
 #endif  #endif
   
Line 1524  typedef struct liste_pile_systeme Line 1560  typedef struct liste_pile_systeme
 #ifndef RPLARGS  #ifndef RPLARGS
 typedef union position_variable  typedef union position_variable
 {  {
     unsigned long       adresse;      integer8            adresse;
     struct_objet        *pointeur;      struct_objet        *pointeur;
 } union_position_variable;  } union_position_variable;
   
Line 1533  typedef struct variable Line 1569  typedef struct variable
     unsigned char           *nom;      unsigned char           *nom;
     unsigned char           origine; // P(rogramme) ou E(valuation)      unsigned char           origine; // P(rogramme) ou E(valuation)
   
     unsigned long           niveau;      integer8                niveau;
   
     union_position_variable variable_statique;      union_position_variable variable_statique;
     union_position_variable variable_partagee;      union_position_variable variable_partagee;
Line 1558  typedef struct variable_partage Line 1594  typedef struct variable_partage
     unsigned char               *nom;      unsigned char               *nom;
     unsigned char               origine;      unsigned char               origine;
   
     unsigned long               niveau;      integer8                    niveau;
   
     union_position_variable     variable_partagee;      union_position_variable     variable_partagee;
   
Line 1585  typedef struct variable_statique Line 1621  typedef struct variable_statique
     // Position de création de la variable statique dans le programme ou dans      // Position de création de la variable statique dans le programme ou dans
     // l'expression. 'origine' vaut 'P' pour programme ou 'E' pour expression.      // l'expression. 'origine' vaut 'P' pour programme ou 'E' pour expression.
   
     unsigned long           niveau;      integer8                niveau;
   
     union_position_variable variable_statique;      union_position_variable variable_statique;
   
Line 1602  typedef struct variable_statique Line 1638  typedef struct variable_statique
   
 typedef struct vecteur  typedef struct vecteur
 {  {
     unsigned long       taille;      integer8            taille;
   
     unsigned char       type; /* C (complex*16), R (real*8), I (integer*8) */      unsigned char       type; /* C (complex*16), R (real*8), I (integer*8) */
   
Line 1618  typedef struct vecteur Line 1654  typedef struct vecteur
   
 typedef struct matrice  typedef struct matrice
 {  {
     unsigned long       nombre_lignes;      integer8            nombre_lignes;
     unsigned long       nombre_colonnes;      integer8            nombre_colonnes;
   
     unsigned char       type; /* C (complex*16), R (real*8), I (integer*8) */      unsigned char       type; /* C (complex*16), R (real*8), I (integer*8) */
   
Line 1635  typedef struct matrice Line 1671  typedef struct matrice
   
 typedef struct tableau  typedef struct tableau
 {  {
     unsigned long       nombre_elements;      integer8            nombre_elements;
   
     struct_objet        **elements;      struct_objet        **elements;
 } struct_tableau;  } struct_tableau;
Line 1771  typedef struct arbre_variables_partagees Line 1807  typedef struct arbre_variables_partagees
     do { \      do { \
         pthread_mutexattr_t     attributs_mutex; \          pthread_mutexattr_t     attributs_mutex; \
         pthread_mutexattr_init(&attributs_mutex); \          pthread_mutexattr_init(&attributs_mutex); \
         pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); \          pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); \
         pthread_mutex_init(&(mutex), &attributs_mutex); \          pthread_mutex_init(&(mutex), &attributs_mutex); \
         pthread_mutexattr_destroy(&attributs_mutex); \          pthread_mutexattr_destroy(&attributs_mutex); \
     } while(0)      } while(0)
Line 1781  typedef struct tableau_variables Line 1817  typedef struct tableau_variables
     unsigned char           origine;      unsigned char           origine;
     unsigned char           *nom;       // pointeur sur la struct_variable      unsigned char           *nom;       // pointeur sur la struct_variable
                                         // réelle et non copie de la chaîne                                          // réelle et non copie de la chaîne
     unsigned long           niveau;      integer8                niveau;
   
     struct_objet            *objet;     // pointeur sur l'objet et non copie      struct_objet            *objet;     // pointeur sur l'objet et non copie
                                         // de l'objet.                                          // de l'objet.
   
     logical1                variable_verrouillee;      logical1                variable_verrouillee;
     logical1                variable_masquee;      logical1                variable_masquee;
       pthread_mutex_t         *mutex;
     union_position_variable variable_statique;      union_position_variable variable_statique;
     union_position_variable variable_partagee;      union_position_variable variable_partagee;
 } struct_tableau_variables;  } struct_tableau_variables;
Line 1870  typedef struct processus Line 1907  typedef struct processus
     unsigned char               traitement_cycle_exit;              /*N/E/C*/      unsigned char               traitement_cycle_exit;              /*N/E/C*/
     unsigned char               recherche_type;                     /*Y/N*/      unsigned char               recherche_type;                     /*Y/N*/
   
     unsigned long               position_courante;      integer8                    position_courante;
     unsigned long               longueur_definitions_chainees;      integer8                    longueur_definitions_chainees;
   
 /* Pointeurs sur les instructions                       */  /* Pointeurs sur les instructions                       */
   
Line 1888  typedef struct processus Line 1925  typedef struct processus
     struct_liste_chainee        *l_base_pile;      struct_liste_chainee        *l_base_pile;
     struct_liste_chainee        *l_base_pile_last;      struct_liste_chainee        *l_base_pile_last;
   
     unsigned long               hauteur_pile_operationnelle;      integer8                    hauteur_pile_operationnelle;
   
 /* Piles systemes                                       */  /* Piles systemes                                       */
   
     struct_liste_pile_systeme   *l_base_pile_systeme;      struct_liste_pile_systeme   *l_base_pile_systeme;
   
     unsigned long               hauteur_pile_systeme;      integer8                    hauteur_pile_systeme;
   
 /* Gestion des processus                                */  /* Gestion des processus                                */
   
Line 1965  typedef struct processus Line 2002  typedef struct processus
     int                         *pointeurs_caracteres_variables;      int                         *pointeurs_caracteres_variables;
     int                         nombre_caracteres_variables;      int                         nombre_caracteres_variables;
   
     unsigned long               niveau_courant;      integer8                    niveau_courant;
     unsigned long               niveau_initial;      integer8                    niveau_initial;
   
     logical1                    creation_variables_statiques;      logical1                    creation_variables_statiques;
     logical1                    creation_variables_partagees;      logical1                    creation_variables_partagees;
Line 1988  typedef struct processus Line 2025  typedef struct processus
   
     struct_liste_chainee        *s_bibliotheques;      struct_liste_chainee        *s_bibliotheques;
     struct_instruction_externe  *s_instructions_externes;      struct_instruction_externe  *s_instructions_externes;
     unsigned long               nombre_instructions_externes;      integer8                    nombre_instructions_externes;
   
 /* Fichier d'impression                                 */  /* Fichier d'impression                                 */
   
Line 2138  typedef struct processus Line 2175  typedef struct processus
 /* Traitement des exceptions                            */  /* Traitement des exceptions                            */
   
     logical1                    arret_si_exception;      logical1                    arret_si_exception;
     unsigned int                exception;      int                         exception;
     unsigned int                derniere_exception;      int                         derniere_exception;
     unsigned int                exception_processus_fils;      int                         exception_processus_fils;
   
 /* Traitement des erreurs                               */  /* Traitement des erreurs                               */
   
     unsigned int                erreur_compilation;      int                         erreur_compilation;
     unsigned int                erreur_execution;      int                         erreur_execution;
     unsigned int                erreur_systeme;      int                         erreur_systeme;
   
     struct_objet                *s_objet_errone;      struct_objet                *s_objet_errone;
     struct_objet                *s_objet_erreur;      struct_objet                *s_objet_erreur;
   
     logical1                    erreur_scrutation;      logical1                    erreur_scrutation;
   
     volatile unsigned int       erreur_systeme_processus_fils;      volatile int                erreur_systeme_processus_fils;
     unsigned int                erreur_execution_processus_fils;      int                         erreur_execution_processus_fils;
   
     pid_t                       pid_erreur_processus_fils;      pid_t                       pid_erreur_processus_fils;
   
Line 2162  typedef struct processus Line 2199  typedef struct processus
   
     integer8                    derniere_erreur_fonction_externe;      integer8                    derniere_erreur_fonction_externe;
   
     unsigned int                derniere_erreur_systeme;      int                         derniere_erreur_systeme;
     unsigned int                derniere_erreur_execution;      int                         derniere_erreur_execution;
     unsigned int                derniere_erreur_evaluation;      int                         derniere_erreur_evaluation;
   
     unsigned char               *instruction_derniere_erreur;      unsigned char               *instruction_derniere_erreur;
   
     unsigned long               niveau_derniere_erreur;      integer8                    niveau_derniere_erreur;
   
     logical1                    core;      logical1                    core;
     logical1                    invalidation_message_erreur;      logical1                    invalidation_message_erreur;
Line 2176  typedef struct processus Line 2213  typedef struct processus
 /* Debug                                                */  /* Debug                                                */
   
     logical1                    debug;      logical1                    debug;
     integer8                    type_debug;      logical8                    type_debug;
     logical1                    debug_programme;      logical1                    debug_programme;
     logical1                    execution_pas_suivant;      logical1                    execution_pas_suivant;
     logical1                    traitement_instruction_halt;      logical1                    traitement_instruction_halt;
Line 2251  typedef struct processus Line 2288  typedef struct processus
     unsigned char               retour_routine_evaluation;      unsigned char               retour_routine_evaluation;
     unsigned char               *localisation;      unsigned char               *localisation;
   
     unsigned long               niveau_recursivite;      integer8                    niveau_recursivite;
   
     pid_t                       pid_processus_pere;      pid_t                       pid_processus_pere;
     pthread_t                   tid_processus_pere;      pthread_t                   tid_processus_pere;
Line 2287  typedef struct processus Line 2324  typedef struct processus
 /* Gestion optimisée de la mémoire                  */  /* Gestion optimisée de la mémoire                  */
   
     double                      estimation_taille_pile_tampon;      double                      estimation_taille_pile_tampon;
     unsigned long               taille_pile_tampon;      integer8                    taille_pile_tampon;
     struct_liste_chainee        *pile_tampon;      struct_liste_chainee        *pile_tampon;
   
     double                      estimation_taille_pile_systeme_tampon;      double                      estimation_taille_pile_systeme_tampon;
     unsigned long               taille_pile_systeme_tampon;      integer8                    taille_pile_systeme_tampon;
     struct_liste_pile_systeme   *pile_systeme_tampon;      struct_liste_pile_systeme   *pile_systeme_tampon;
   
     unsigned long               taille_pile_objets;      integer8                    taille_pile_objets;
     struct_objet                *pile_objets;      struct_objet                *pile_objets;
   
 #   define TAILLE_CACHE 16384  #   define TAILLE_CACHE 1024
   
     unsigned long               *objets_adr[TAILLE_CACHE];      integer8                    *objets_adr[TAILLE_CACHE];
     int                         pointeur_adr;      int                         pointeur_adr;
   
     logical8                    *objets_bin[TAILLE_CACHE];      logical8                    *objets_bin[TAILLE_CACHE];
Line 2365  typedef struct processus Line 2402  typedef struct processus
 typedef struct fonction  typedef struct fonction
 {  {
     unsigned char                       *nom_fonction;      unsigned char                       *nom_fonction;
     unsigned long                       nombre_arguments;      integer8                            nombre_arguments;
   
     void                                (*fonction)(struct_processus *);      void                                (*fonction)(struct_processus *);
   
Line 2447  void instruction_col_fleche(struct_proce Line 2484  void instruction_col_fleche(struct_proce
 void instruction_col_moins(struct_processus *s_etat_processus);  void instruction_col_moins(struct_processus *s_etat_processus);
 void instruction_col_plus(struct_processus *s_etat_processus);  void instruction_col_plus(struct_processus *s_etat_processus);
 void instruction_comb(struct_processus *s_etat_processus);  void instruction_comb(struct_processus *s_etat_processus);
   void instruction_compress(struct_processus *s_etat_processus);
 void instruction_con(struct_processus *s_etat_processus);  void instruction_con(struct_processus *s_etat_processus);
 void instruction_cond(struct_processus *s_etat_processus);  void instruction_cond(struct_processus *s_etat_processus);
 void instruction_cont(struct_processus *s_etat_processus);  void instruction_cont(struct_processus *s_etat_processus);
Line 2873  void instruction_t_vers_l(struct_process Line 2911  void instruction_t_vers_l(struct_process
   
 void instruction_ucase(struct_processus *s_etat_processus);  void instruction_ucase(struct_processus *s_etat_processus);
 void instruction_uchol(struct_processus *s_etat_processus);  void instruction_uchol(struct_processus *s_etat_processus);
   void instruction_uncompress(struct_processus *s_etat_processus);
 void instruction_unlock(struct_processus *s_etat_processus);  void instruction_unlock(struct_processus *s_etat_processus);
 void instruction_unprotect(struct_processus *s_etat_processus);  void instruction_unprotect(struct_processus *s_etat_processus);
 void instruction_until(struct_processus *s_etat_processus);  void instruction_until(struct_processus *s_etat_processus);
Line 2923  void instruction_yield(struct_processus Line 2962  void instruction_yield(struct_processus
 #ifndef RPLARGS  #ifndef RPLARGS
 void affectation_interruptions_logicielles(struct_processus *s_etat_processus);  void affectation_interruptions_logicielles(struct_processus *s_etat_processus);
 void affichage_pile(struct_processus *s_etat_processus,  void affichage_pile(struct_processus *s_etat_processus,
         struct_liste_chainee *l_element_courant, unsigned long          struct_liste_chainee *l_element_courant, integer8 niveau_courant);
         niveau_courant);  
 #endif  #endif
   
 void *allocation_maillon(struct_processus *s_etat_processus);  void *allocation_maillon(struct_processus *s_etat_processus);
Line 2947  void conversion_format(struct_processus Line 2985  void conversion_format(struct_processus
         unsigned char *chaine);          unsigned char *chaine);
 void conversion_hms_vers_decimal(real8 *angle);  void conversion_hms_vers_decimal(real8 *angle);
 void conversion_majuscule_limitee(unsigned char *chaine_entree,   void conversion_majuscule_limitee(unsigned char *chaine_entree, 
         unsigned char *chaine_sortie, unsigned long longueur);          unsigned char *chaine_sortie, integer8 longueur);
 void conversion_radians_vers_degres(real8 *angle);  void conversion_radians_vers_degres(real8 *angle);
 void copie_arbre_variables(struct_processus *s_etat_processus,  void copie_arbre_variables(struct_processus *s_etat_processus,
         struct_processus *s_nouvel_etat_processus);          struct_processus *s_nouvel_etat_processus);
Line 2960  void determinant(struct_processus *s_eta Line 2998  void determinant(struct_processus *s_eta
         void *valeur);          void *valeur);
 void deverrouillage_threads_concurrents(struct_processus *s_etat_processus);  void deverrouillage_threads_concurrents(struct_processus *s_etat_processus);
 void ecriture_pile(struct_processus *s_etat_processus, file *flux,  void ecriture_pile(struct_processus *s_etat_processus, file *flux,
         struct_liste_chainee *l_element_courant, unsigned long niveau_courant);          struct_liste_chainee *l_element_courant, integer8 niveau_courant);
 void ecriture_profil(struct_processus *s_etat_processus);  void ecriture_profil(struct_processus *s_etat_processus);
 void effacement_pile_systeme(struct_processus *s_etat_processus);  void effacement_pile_systeme(struct_processus *s_etat_processus);
 void empilement_pile_systeme(struct_processus *s_etat_processus);  void empilement_pile_systeme(struct_processus *s_etat_processus);
 void encart(struct_processus *s_etat_processus, unsigned long duree);  void encart(struct_processus *s_etat_processus, integer8 duree);
 void evaluation_romberg(struct_processus *s_etat_processus,  void evaluation_romberg(struct_processus *s_etat_processus,
         struct_objet *s_expression, unsigned char *variable, real8 *point,          struct_objet *s_expression, unsigned char *variable, real8 *point,
         real8 *valeur, logical1 *validite);          real8 *valeur, logical1 *validite);
Line 2985  void formateur_elementaire_tex(struct_pr Line 3023  void formateur_elementaire_tex(struct_pr
         file *fichier, struct_objet *s_objet, unsigned char environnement);          file *fichier, struct_objet *s_objet, unsigned char environnement);
 void impression_pile(struct_processus *s_etat_processus,  void impression_pile(struct_processus *s_etat_processus,
             struct_liste_chainee *l_element_courant,              struct_liste_chainee *l_element_courant,
             unsigned char methode, unsigned long niveau_courant);              unsigned char methode, integer8 niveau_courant);
 void impression_tex(struct_processus *s_etat_processus);  void impression_tex(struct_processus *s_etat_processus);
 void informations(struct_processus *s_etat_processus);  void informations(struct_processus *s_etat_processus);
 void initialisation_allocateur(struct_processus *s_etat_processus);  void initialisation_allocateur(struct_processus *s_etat_processus);
Line 2993  void initialisation_completion(void); Line 3031  void initialisation_completion(void);
 void initialisation_contexte_cas(struct_processus *s_etat_processus);  void initialisation_contexte_cas(struct_processus *s_etat_processus);
 void initialisation_drapeaux(struct_processus *s_etat_processus);  void initialisation_drapeaux(struct_processus *s_etat_processus);
 void initialisation_generateur_aleatoire(struct_processus *s_etat_processus,  void initialisation_generateur_aleatoire(struct_processus *s_etat_processus,
         logical1 initialisation_automatique, unsigned long int racine);          logical1 initialisation_automatique, integer8 racine);
 void initialisation_instructions(struct_processus *s_etat_processus);  void initialisation_instructions(struct_processus *s_etat_processus);
 void initialisation_variables(struct_processus *s_etat_processus);  void initialisation_variables(struct_processus *s_etat_processus);
 #endif  #endif
Line 3062  void scrutation_injection(struct_process Line 3100  void scrutation_injection(struct_process
 void scrutation_interruptions(struct_processus *s_etat_processus);  void scrutation_interruptions(struct_processus *s_etat_processus);
 void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau);  void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau);
 void *surveillance_processus(void *argument);  void *surveillance_processus(void *argument);
 void swap(void *variable_1, void *variable_2, unsigned long taille_octets);  void swap(void *variable_1, void *variable_2, integer8 taille_octets);
 void *thread_signaux(void *argument);  void *thread_signaux(void *argument);
 void trace(struct_processus *s_etat_processus, FILE *flux);  void trace(struct_processus *s_etat_processus, FILE *flux);
 void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus);  void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus);
Line 3070  void traitement_exceptions_gsl(const cha Line 3108  void traitement_exceptions_gsl(const cha
         int line, int gsl_errno);          int line, int gsl_errno);
 void traitement_interruptions_logicielles(struct_processus *s_etat_processus);  void traitement_interruptions_logicielles(struct_processus *s_etat_processus);
 void tri_base_symboles_externes(struct_processus *s_etat_processus);  void tri_base_symboles_externes(struct_processus *s_etat_processus);
 void tri_vecteur(real8 *vecteur, unsigned long taille);  void tri_vecteur(real8 *vecteur, integer8 taille);
 void valeurs_propres(struct_processus *s_etat_processus,  void valeurs_propres(struct_processus *s_etat_processus,
         struct_matrice *s_matrice,          struct_matrice *s_matrice,
         struct_vecteur *s_valeurs_propres,          struct_vecteur *s_valeurs_propres,
Line 3110  int envoi_signal_thread(pthread_t tid, e Line 3148  int envoi_signal_thread(pthread_t tid, e
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
 */  */
   
 real8 sommation_vecteur_reel(real8 *vecteur, unsigned long *taille,  real8 sommation_vecteur_reel(real8 *vecteur, integer8 *taille,
         logical1 *erreur_memoire);          logical1 *erreur_memoire);
 complex16 sommation_vecteur_complexe(complex16 *vecteur, unsigned long *taille,  complex16 sommation_vecteur_complexe(complex16 *vecteur, integer8 *taille,
         logical1 *erreur_memoire);          logical1 *erreur_memoire);
   
 /*  /*
Line 3134  int rplinit(int argc, char *argv[], char Line 3172  int rplinit(int argc, char *argv[], char
   
 #ifndef RPLARGS  #ifndef RPLARGS
 real8 correlation_statistique(struct_matrice *s_matrice,  real8 correlation_statistique(struct_matrice *s_matrice,
         unsigned long colonne_1, unsigned long colonne_2, logical1 *erreur);          integer8 colonne_1, integer8 colonne_2, logical1 *erreur);
 real8 covariance_statistique(struct_matrice *s_matrice,  real8 covariance_statistique(struct_matrice *s_matrice,
         unsigned long colonne_1, unsigned long colonne_2,          integer8 colonne_1, integer8 colonne_2,
         unsigned char type, logical1 *erreur);          unsigned char type, logical1 *erreur);
 struct_vecteur *ecart_type_statistique(struct_matrice *s_matrice,  struct_vecteur *ecart_type_statistique(struct_matrice *s_matrice,
         unsigned char type);          unsigned char type);
 struct_vecteur *moyenne_statistique(struct_matrice *s_matrice);  struct_vecteur *moyenne_statistique(struct_matrice *s_matrice);
 struct_vecteur *sommation_colonne_statistique(struct_matrice *s_matrice,  struct_vecteur *sommation_colonne_statistique(struct_matrice *s_matrice,
         unsigned long colonne);          integer8 colonne);
 struct_vecteur *sommation_produits_colonnes_statistiques(struct_matrice  struct_vecteur *sommation_produits_colonnes_statistiques(struct_matrice
         *s_matrice, unsigned long colonne_1, unsigned long colonne_2);          *s_matrice, integer8 colonne_1, integer8 colonne_2);
 struct_vecteur *sommation_statistique(struct_matrice *s_matrice);  struct_vecteur *sommation_statistique(struct_matrice *s_matrice);
 struct_vecteur *variance_statistique(struct_matrice *s_matrice,  struct_vecteur *variance_statistique(struct_matrice *s_matrice,
         unsigned char type);          unsigned char type);
Line 3170  struct_liste_chainee *depilement_pile_op Line 3208  struct_liste_chainee *depilement_pile_op
 struct_liste_chainee *empilement_pile_operationnelle(struct_rpl_arguments  struct_liste_chainee *empilement_pile_operationnelle(struct_rpl_arguments
         *s_rpl_arguments, struct_objet *s_objet);          *s_rpl_arguments, struct_objet *s_objet);
 struct_liste_chainee *sauvegarde_arguments(struct_rpl_arguments  struct_liste_chainee *sauvegarde_arguments(struct_rpl_arguments
         *s_rpl_arguments, unsigned long nombre_arguments);          *s_rpl_arguments, integer8 nombre_arguments);
   
 /*  /*
 --------------------------------------------------------------------------------  --------------------------------------------------------------------------------
Line 3182  struct_liste_chainee *sauvegarde_argumen Line 3220  struct_liste_chainee *sauvegarde_argumen
 unsigned char *analyse_algebrique(struct_processus *s_etat_processus,  unsigned char *analyse_algebrique(struct_processus *s_etat_processus,
         unsigned char *chaine_algebrique, struct_liste_chainee **l_base_liste);          unsigned char *chaine_algebrique, struct_liste_chainee **l_base_liste);
 unsigned char *analyse_flux(struct_processus *s_etat_processus,  unsigned char *analyse_flux(struct_processus *s_etat_processus,
         unsigned char *flux, long longueur);          unsigned char *flux, integer8 longueur);
 unsigned char *recherche_chemin_fichiers_temporaires(struct_processus  unsigned char *chiffrement(const EVP_CIPHER *type_chiffrement,
         *s_etat_processus);          logical1 encodage, unsigned char *message, integer8 longueur_message,
           unsigned char *clef, integer8 longueur_clef,
           unsigned char *vecteur_initialisation,
           integer8 *longueur_message_chiffre);
 unsigned char *compactage(unsigned char *chaine);  unsigned char *compactage(unsigned char *chaine);
 unsigned char *conversion_majuscule(unsigned char *chaine);  unsigned char *conversion_majuscule(unsigned char *chaine);
 unsigned char *creation_nom_fichier(struct_processus *s_etat_processus,  unsigned char *creation_nom_fichier(struct_processus *s_etat_processus,
         unsigned char *chemin);          unsigned char *chemin);
 unsigned char *date_compilation();  unsigned char *date_compilation();
 unsigned char *extraction_chaine(unsigned char *chaine, unsigned long i,  unsigned char *extraction_chaine(unsigned char *chaine, integer8 i, integer8 j);
         unsigned long j);  
 unsigned char *formateur(struct_processus *s_etat_processus, long offset,  unsigned char *formateur(struct_processus *s_etat_processus, long offset,
         struct_objet *s_objet);          struct_objet *s_objet);
 unsigned char *formateur_fichier(struct_processus *s_etat_processus,  unsigned char *formateur_fichier(struct_processus *s_etat_processus,
         struct_objet *s_objet, struct_objet *s_format,          struct_objet *s_objet, struct_objet *s_format,
         long longueur, long longueur_champ, unsigned char format,          integer8 longueur, integer8 longueur_champ, unsigned char format,
         unsigned char type, long *longueur_effective, long *recursivite);          unsigned char type, integer8 *longueur_effective, integer8 *recursivite,
           logical1 export_fichier);
 unsigned char *formateur_flux(struct_processus *s_etat_processus,  unsigned char *formateur_flux(struct_processus *s_etat_processus,
         unsigned char *donnees, long *longueur);          unsigned char *donnees, integer8 *longueur);
 unsigned char *formateur_fichier_nombre(struct_processus *s_etat_processus,  unsigned char *formateur_fichier_nombre(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type,          void *valeur_numerique, unsigned char type,
         long longueur, long longueur_champ, unsigned char format);          integer8 longueur, integer8 longueur_champ, unsigned char format);
 unsigned char *formateur_fichier_binaire_nombre(struct_processus  unsigned char *formateur_fichier_binaire_nombre(struct_processus
         *s_etat_processus, void *valeur_numerique, unsigned char type,          *s_etat_processus, void *valeur_numerique, unsigned char type_entree,
         long longueur, long *longueur_conversion);          unsigned char type, integer8 longueur, integer8 *longueur_conversion);
 unsigned char *formateur_fichier_reel(struct_processus *s_etat_processus,  unsigned char *formateur_fichier_reel(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type,          void *valeur_numerique, unsigned char type,
         long longueur, long longueur_champ, unsigned char format);          integer8 longueur, integer8 longueur_champ, unsigned char format);
 unsigned char *formateur_nombre(struct_processus *s_etat_processus,  unsigned char *formateur_nombre(struct_processus *s_etat_processus,
         void *valeur_numerique, unsigned char type);          void *valeur_numerique, unsigned char type);
 unsigned char *formateur_reel(struct_processus *s_etat_processus,  unsigned char *formateur_reel(struct_processus *s_etat_processus,
Line 3217  unsigned char *messages(struct_processus Line 3258  unsigned char *messages(struct_processus
 unsigned char *pointeur_ieme_caractere(struct_processus *s_etat_processus,  unsigned char *pointeur_ieme_caractere(struct_processus *s_etat_processus,
         unsigned char *chaine, integer8 position);          unsigned char *chaine, integer8 position);
 unsigned char *purification_chaine(unsigned char *chaine);  unsigned char *purification_chaine(unsigned char *chaine);
   unsigned char *recherche_chemin_fichiers_temporaires(struct_processus
           *s_etat_processus);
 unsigned char *reencodage(struct_processus *s_etat_processus,  unsigned char *reencodage(struct_processus *s_etat_processus,
         unsigned char *chaine_entree, unsigned char *codage_entree,          unsigned char *chaine_entree, unsigned char *codage_entree,
         unsigned char *codage_sortie);          unsigned char *codage_sortie);
Line 3257  logical1 destruction_fichier(unsigned ch Line 3300  logical1 destruction_fichier(unsigned ch
 logical1 empilement(struct_processus *s_etat_processus,  logical1 empilement(struct_processus *s_etat_processus,
         struct_liste_chainee **l_base_liste, struct_objet *s_objet);          struct_liste_chainee **l_base_liste, struct_objet *s_objet);
 logical1 empilement_pile_last(struct_processus *s_etat_processus,  logical1 empilement_pile_last(struct_processus *s_etat_processus,
         unsigned long nombre_arguments);          integer8 nombre_arguments);
 logical1 evaluation(struct_processus *s_etat_processus, struct_objet *s_objet,  logical1 evaluation(struct_processus *s_etat_processus, struct_objet *s_objet,
         unsigned char type_evaluation);          unsigned char type_evaluation);
 logical1 initialisation_fichier_acces_direct(struct_processus *s_etat_processus,  logical1 initialisation_fichier_acces_direct(struct_processus *s_etat_processus,
Line 3290  logical1 sequenceur_optimise(struct_proc Line 3333  logical1 sequenceur_optimise(struct_proc
 logical1 depassement_addition(integer8 *a, integer8 *b, integer8 *resultat);  logical1 depassement_addition(integer8 *a, integer8 *b, integer8 *resultat);
 logical1 depassement_multiplication(integer8 *a, integer8 *b,  logical1 depassement_multiplication(integer8 *a, integer8 *b,
         integer8 *resultat);          integer8 *resultat);
   logical1 depassement_soustraction(integer8 *a, integer8 *b, integer8 *resultat);
 logical1 depassement_puissance(integer8 *a, integer8 *b, integer8 *resultat);  logical1 depassement_puissance(integer8 *a, integer8 *b, integer8 *resultat);
   
 #ifndef RPLARGS  #ifndef RPLARGS
Line 3328  ssize_t write_atomic(struct_processus *s Line 3372  ssize_t write_atomic(struct_processus *s
 int alsprintf(unsigned char **strp, const char *fmt, ...);  int alsprintf(unsigned char **strp, const char *fmt, ...);
 int interruption_violation_access(void *adresse_fautive, int gravite);  int interruption_violation_access(void *adresse_fautive, int gravite);
 #ifndef RPLARGS  #ifndef RPLARGS
 int liste_variables(struct_processus *s_etat_processus,  integer8 liste_variables(struct_processus *s_etat_processus,
         struct_tableau_variables *tableau);          struct_tableau_variables *tableau);
 int nombre_variables(struct_processus *s_etat_processus);  integer8 nombre_variables(struct_processus *s_etat_processus);
 int readline_analyse_syntaxique(int count, int key);  int readline_analyse_syntaxique(int count, int key);
 int readline_effacement(int count, int key);  int readline_effacement(int count, int key);
 #endif  #endif
Line 3422  struct_objet *allocation(struct_processu Line 3466  struct_objet *allocation(struct_processu
 #ifndef RPLARGS  #ifndef RPLARGS
 struct_objet *formateur_date(struct_processus *s_etat_processus,  struct_objet *formateur_date(struct_processus *s_etat_processus,
         struct timeval *temps);          struct timeval *temps);
   struct_objet *lecture_fichier_non_formate(struct_processus *s_etat_processus,
           void *argument, integer8 longueur_buffer, logical1 recursivite);
 struct_objet *lecture_pipe(struct_processus *s_etat_processus, int pipe);  struct_objet *lecture_pipe(struct_processus *s_etat_processus, int pipe);
 struct_objet *parametres_sql(struct_processus *s_etat_processus,  struct_objet *parametres_sql(struct_processus *s_etat_processus,
         struct_objet *s_parametres);          struct_objet *s_parametres);
Line 3455  struct_liste_variables_partagees *recher Line 3501  struct_liste_variables_partagees *recher
   
 #ifndef RPLARGS  #ifndef RPLARGS
 struct_arbre *creation_arbre(struct_processus *s_etat_processus,  struct_arbre *creation_arbre(struct_processus *s_etat_processus,
         struct_objet **t_objets, unsigned long indice,          struct_objet **t_objets, integer8 indice, integer8 indice_maximal);
         unsigned long indice_maximal);  
 void liberation_arbre(struct_processus *s_etat_processus,  void liberation_arbre(struct_processus *s_etat_processus,
         struct_arbre *s_noeud);          struct_arbre *s_noeud);
 void parcours_arbre(struct_processus *s_etat_processus, struct_arbre *s_noeud);  void parcours_arbre(struct_processus *s_etat_processus, struct_arbre *s_noeud);

Removed from v.1.193  
changed lines
  Added in v.1.218


CVSweb interface <joel.bertrand@systella.fr>