--- rpl/LIMITATIONS 2014/08/04 06:58:48 1.154 +++ rpl/LIMITATIONS 2022/09/07 12:14:16 1.209 @@ -1,24 +1,62 @@ RESTRICTIONS +Si(X) dans le retour de giac -> sinus intégral -Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h +gcc -dM -E - |[ <[ 'index' 'valeur' ]> <[ 203 403 ]> ]| +-> dans formateur mais pas dans les fichiers ou les sockets +Rajouter dans les pages d'aide + +RUNAS +int setreuid(uid_t ruid, uid_t euid); +int setregid(gid_t rgid, gid_t egid); +DESCRIPTION + getuid returns the real user ID of the current process. + + geteuid returns the effective user ID of the current process. + + The real ID corresponds to the ID of the calling process. The effective + ID corresponds to the set ID bit on the file being executed. + + + +(/ /) -> polynôme + +TOKENIZE ne fonctionne pas avec des chaînes qui comportent un \t. +Idem pour des arguments contenant des parenthèses. +-> normal, les tokens doivent avoir un sens en RPL/2. -Ajouter EQV +openmp ? + +rpl_arguments rend rplexternals.h non réentrant. + +Rajouter un type pour les entier, réels et complexes longs +123~ -> entier long INL +123_ +123.34E2_53 + +123.34E2~53 -> flottant long (avec sa précision) RLL +(123.42E~253, 14~) -> complexe long CXL + +Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h Ne passe pas sur une socket. { "STAT" 0 { { } { 5 55 } { 4 51 } { 3 50 } { 3 51 } { 3 50 } { 17 78 } { 4 52 } { 3 50 } { 3 50 } } # 257B521B6513F2h } Idem avec une table. -{ << 3 >>} -> erreur de syntaxe -{ << 3 >> } idem -<< 3 >> idem + +Mettre l'indicateur de debug dans une pile pour ne pas debugguer les fonctions +appelées. Réduire le nombre de pipes entre deux processus. Remonter une erreur de format en cas de lecture sur un fichier ou une socket formatée ou non formatée. -Échapper les caractères dans LOGGER - Virer mutex_sections_critiques _avant_ l'exécution de AT_EXIT. Faut-il tuer les processus fils avant l'exécution de AT_EXIT ? ABORT ne lance pas ATEXIT. @@ -54,39 +92,40 @@ Chateaubriand. Translitération des fichiers (avec un pointeur sur la localisation du fichier dans la structure du fichier). +Traiter BACKSPACE pour les fichiers non formatés. Fichiers non formatés : restent à coder pour les écritures : - * 0010 00 00 vecteur integer*1 (dimensions integer*1) - * 0010 01 00 vecteur integer*1 (dimensions integer*2) - * 0010 10 00 vecteur integer*1 (dimensions integer*4) - * 0010 11 00 vecteur integer*1 (dimensions integer*8) - * 0010 00 01 vecteur integer*2 (dimensions integer*1) - * 0010 01 01 vecteur integer*2 (dimensions integer*2) - * 0010 10 01 vecteur integer*2 (dimensions integer*4) - * 0010 11 01 vecteur integer*2 (dimensions integer*8) - * 0010 00 10 vecteur integer*4 (dimensions integer*1) - * 0010 01 10 vecteur integer*4 (dimensions integer*2) - * 0010 10 10 vecteur integer*4 (dimensions integer*4) - * 0010 11 10 vecteur integer*4 (dimensions integer*8) - * 0010 00 11 vecteur integer*8 (dimensions integer*1) - * 0010 01 11 vecteur integer*8 (dimensions integer*2) - * 0010 10 11 vecteur integer*8 (dimensions integer*4) - * 0010 11 11 vecteur integer*8 (dimensions integer*8) - * 0011 00 00 matrice integer*1 (dimensions integer*1) - * 0011 01 00 matrice integer*1 (dimensions integer*2) - * 0011 10 00 matrice integer*1 (dimensions integer*4) - * 0011 11 00 matrice integer*1 (dimensions integer*8) - * 0011 00 01 matrice integer*2 (dimensions integer*1) - * 0011 01 01 matrice integer*2 (dimensions integer*2) - * 0011 10 01 matrice integer*2 (dimensions integer*4) - * 0011 11 01 matrice integer*2 (dimensions integer*8) - * 0011 00 10 matrice integer*4 (dimensions integer*1) - * 0011 01 10 matrice integer*4 (dimensions integer*2) - * 0011 10 10 matrice integer*4 (dimensions integer*4) - * 0011 11 10 matrice integer*4 (dimensions integer*8) - * 0011 00 11 matrice integer*8 (dimensions integer*1) - * 0011 01 11 matrice integer*8 (dimensions integer*2) - * 0011 10 11 matrice integer*8 (dimensions integer*4) - * 0011 11 11 matrice integer*8 (dimensions integer*8) +/ * 0010 00 00 vecteur integer*1 (dimensions integer*1) +/ * 0010 01 00 vecteur integer*1 (dimensions integer*2) +/ * 0010 10 00 vecteur integer*1 (dimensions integer*4) +/ * 0010 11 00 vecteur integer*1 (dimensions integer*8) +/ * 0010 00 01 vecteur integer*2 (dimensions integer*1) +/ * 0010 01 01 vecteur integer*2 (dimensions integer*2) +/ * 0010 10 01 vecteur integer*2 (dimensions integer*4) +/ * 0010 11 01 vecteur integer*2 (dimensions integer*8) +/ * 0010 00 10 vecteur integer*4 (dimensions integer*1) +/ * 0010 01 10 vecteur integer*4 (dimensions integer*2) +/ * 0010 10 10 vecteur integer*4 (dimensions integer*4) +/ * 0010 11 10 vecteur integer*4 (dimensions integer*8) +/ * 0010 00 11 vecteur integer*8 (dimensions integer*1) +/ * 0010 01 11 vecteur integer*8 (dimensions integer*2) +/ * 0010 10 11 vecteur integer*8 (dimensions integer*4) +/ * 0010 11 11 vecteur integer*8 (dimensions integer*8) +/ * 0011 00 00 matrice integer*1 (dimensions integer*1) +/ * 0011 01 00 matrice integer*1 (dimensions integer*2) +/ * 0011 10 00 matrice integer*1 (dimensions integer*4) +/ * 0011 11 00 matrice integer*1 (dimensions integer*8) +/ * 0011 00 01 matrice integer*2 (dimensions integer*1) +/ * 0011 01 01 matrice integer*2 (dimensions integer*2) +/ * 0011 10 01 matrice integer*2 (dimensions integer*4) +/ * 0011 11 01 matrice integer*2 (dimensions integer*8) +/ * 0011 00 10 matrice integer*4 (dimensions integer*1) +/ * 0011 01 10 matrice integer*4 (dimensions integer*2) +/ * 0011 10 10 matrice integer*4 (dimensions integer*4) +/ * 0011 11 10 matrice integer*4 (dimensions integer*8) +/ * 0011 00 11 matrice integer*8 (dimensions integer*1) +/ * 0011 01 11 matrice integer*8 (dimensions integer*2) +/ * 0011 10 11 matrice integer*8 (dimensions integer*4) +/ * 0011 11 11 matrice integer*8 (dimensions integer*8) * 1001 0 XXX table de longueur XXX * 1001 10 00 table de longueur integer*1 @@ -94,38 +133,38 @@ Fichiers non formatés : restent à code * 1001 10 10 table de longueur integer*4 * 1001 10 11 table de longueur integer*8 * - * 1010 00 10 vecteur real*4 (dimensions integer*1) - * 1010 01 10 vecteur real*4 (dimensions integer*2) - * 1010 10 10 vecteur real*4 (dimensions integer*4) - * 1010 11 10 vecteur real*4 (dimensions integer*8) - * 1010 00 11 vecteur real*8 (dimensions integer*1) - * 1010 01 11 vecteur real*8 (dimensions integer*2) - * 1010 10 11 vecteur real*8 (dimensions integer*4) - * 1010 11 11 vecteur real*8 (dimensions integer*8) - * 1011 00 10 vecteur complex*8 (dimensions integer*1) - * 1011 01 10 vecteur complex*8 (dimensions integer*2) - * 1011 10 10 vecteur complex*8 (dimensions integer*4) - * 1011 11 10 vecteur complex*8 (dimensions integer*8) - * 1011 00 11 vecteur complex*16 (dimensions integer*1) - * 1011 01 11 vecteur complex*16 (dimensions integer*2) - * 1011 10 11 vecteur complex*16 (dimensions integer*4) - * 1011 11 11 vecteur complex*16 (dimensions integer*8) - * 1100 00 10 matrice real*4 (dimensions integer*1) - * 1100 01 10 matrice real*4 (dimensions integer*2) - * 1100 10 10 matrice real*4 (dimensions integer*4) - * 1100 11 10 matrice real*4 (dimensions integer*8) - * 1100 00 11 matrice real*8 (dimensions integer*1) - * 1100 01 11 matrice real*8 (dimensions integer*2) - * 1100 10 11 matrice real*8 (dimensions integer*4) - * 1100 11 11 matrice real*8 (dimensions integer*8) - * 1101 00 10 matrice complex*8 (dimensions integer*1) - * 1101 01 10 matrice complex*8 (dimensions integer*2) - * 1101 10 10 matrice complex*8 (dimensions integer*4) - * 1101 11 10 matrice complex*8 (dimensions integer*8) - * 1101 00 11 matrice complex*16 (dimensions integer*1) - * 1101 01 11 matrice complex*16 (dimensions integer*2) - * 1101 10 11 matrice complex*16 (dimensions integer*4) - * 1101 11 11 matrice complex*16 (dimensions integer*8) +/ * 1010 00 10 vecteur real*4 (dimensions integer*1) +/ * 1010 01 10 vecteur real*4 (dimensions integer*2) +/ * 1010 10 10 vecteur real*4 (dimensions integer*4) +/ * 1010 11 10 vecteur real*4 (dimensions integer*8) +/ * 1010 00 11 vecteur real*8 (dimensions integer*1) +/ * 1010 01 11 vecteur real*8 (dimensions integer*2) +/ * 1010 10 11 vecteur real*8 (dimensions integer*4) +/ * 1010 11 11 vecteur real*8 (dimensions integer*8) +/ * 1011 00 10 vecteur complex*8 (dimensions integer*1) +/ * 1011 01 10 vecteur complex*8 (dimensions integer*2) +/ * 1011 10 10 vecteur complex*8 (dimensions integer*4) +/ * 1011 11 10 vecteur complex*8 (dimensions integer*8) +/ * 1011 00 11 vecteur complex*16 (dimensions integer*1) +/ * 1011 01 11 vecteur complex*16 (dimensions integer*2) +/ * 1011 10 11 vecteur complex*16 (dimensions integer*4) +/ * 1011 11 11 vecteur complex*16 (dimensions integer*8) +/ * 1100 00 10 matrice real*4 (dimensions integer*1) +/ * 1100 01 10 matrice real*4 (dimensions integer*2) +/ * 1100 10 10 matrice real*4 (dimensions integer*4) +/ * 1100 11 10 matrice real*4 (dimensions integer*8) +/ * 1100 00 11 matrice real*8 (dimensions integer*1) +/ * 1100 01 11 matrice real*8 (dimensions integer*2) +/ * 1100 10 11 matrice real*8 (dimensions integer*4) +/ * 1100 11 11 matrice real*8 (dimensions integer*8) +/ * 1101 00 10 matrice complex*8 (dimensions integer*1) +/ * 1101 01 10 matrice complex*8 (dimensions integer*2) +/ * 1101 10 10 matrice complex*8 (dimensions integer*4) +/ * 1101 11 10 matrice complex*8 (dimensions integer*8) +/ * 1101 00 11 matrice complex*16 (dimensions integer*1) +/ * 1101 01 11 matrice complex*16 (dimensions integer*2) +/ * 1101 10 11 matrice complex*16 (dimensions integer*4) +/ * 1101 11 11 matrice complex*16 (dimensions integer*8) Utiliser clock() et clock_t pour émuler getrusage sous OS/2 @@ -134,15 +173,6 @@ Regarder les d_ep_division_par_zero pour ->TAG TAG-> DTAG ->UNIT UNIT-> DUNIT -Convertir avec le nouveau système de la gestion de la mémoire : -- READ FLOW (longueur_effective ligne 2815) -rpl/src/'`instructions_w1-conv.c -instructions_w1-conv.c: In function ‘librpl_instruction_write’: -instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this -function -instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this -function - Traiter SIGTERM RUN Ajouter MULTICAST (pour les sockets) @@ -180,31 +210,6 @@ provides << >> -Ajouter un champs dans RPN et ADR pour pointer vers une liste. - -Types : -generic -scalar (integer/real/complex) -vector (integer/real/complex) -matrix (integer/real/complex) -table -list -binary -name -string -algebraic -expression -file -socket -library -process -sql -mutex -semaphore - -Traiter les expressions et les noms dans les fichiers. Rajouter un -type de format pour les binaires non formatés (LOGICAL) - IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes si nécessaire. @@ -224,9 +229,7 @@ Pseudo inverse dgelss, zgelss Tables dans interface_tex -Fichiers à accès direct -> entretenir une table en mémoire (hsearch()) -Les enregistrements sont de la forme : -[Position enregistrement suivant][enregistrement] +Pour le fonctionnement en cluster ADDNODE DELNODE