File:  [local] / rpl / LIMITATIONS
Revision 1.42: download - view: text, annotated - select for diffs - revision graph
Mon Jun 27 09:04:09 2011 UTC (12 years, 9 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Passage de la branche 4.1 en branche stable.

    1: RESTRICTIONS
    2:     Only sequential formatted files are supported.
    3: 
    4: Économisons notre mépris eut égard au nombre de nécessiteux.
    5: Chateaubriand.
    6: 
    7: Convertir avec le nouveau système de la gestion de la mémoire :
    8: - READ FLOW (longueur_effective ligne 2815)
    9: rpl/src/'`instructions_w1-conv.c
   10: instructions_w1-conv.c: In function ‘librpl_instruction_write’:
   11: instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this
   12: function
   13: instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this
   14: function
   15: 
   16: Traiter SIGTERM
   17: RUN
   18: Ajouter MULTICAST (pour les sockets)
   19: Rajouter le test des dépassements pour INCR et DECR
   20: 
   21: Ajouter TeXmacs
   22: 
   23: Dessiner les niveaux sur les graphes
   24: { "main" { "default" } { "automatic" 10 } } axes redraw 
   25: Ne fonctionne pas...
   26: 
   27: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
   28: // peut avoir plusieurs interfaces.
   29: 
   30: FONCTION
   31: constrained
   32:     interface
   33:         { integer scalar }
   34:     returns
   35:         { real scalar }
   36:         { integer scalar }
   37:     requires
   38:         { VARIABLE FONCTION2 }
   39:     end
   40: 
   41:     interface
   42:     returns
   43:     requires
   44:     end
   45: provides
   46: <<
   47: >>
   48: 
   49: FONCTION
   50: <<
   51:     {
   52:         <[ { input } { { output1 } { output2 } } { requires } ]>
   53:         <[ { input } { { output1 } { output2 } } { requires } ]>
   54:     }
   55:     << expression >>
   56:     CONSTRAINT
   57: >>
   58: 
   59: Ajouter un champs dans RPN et ADR pour pointer vers une liste.
   60: 
   61: Types :
   62: generic
   63: scalar (integer/real/complex)
   64: vector (integer/real/complex)
   65: matrix (integer/real/complex)
   66: table
   67: list
   68: binary
   69: name
   70: string
   71: algebraic
   72: expression
   73: file
   74: socket
   75: library
   76: process
   77: sql
   78: mutex
   79: semaphore
   80: 
   81: Traiter les expressions et les noms dans les fichiers. Rajouter un
   82: type de format pour les binaires non formatés (LOGICAL)
   83: 
   84: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
   85: si nécessaire.
   86: 
   87: Prévoir un drapeau pour tester les interfaces (34)
   88: -> désarmé : test des interfaces
   89: -> armé : on ne teste rien
   90: 
   91: colorspec pour les couleurs des graphiques de gnuplot
   92: 
   93: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
   94: -> vérification de contrainte...
   95: 
   96: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
   97: dgehd2.f+dgebal.f
   98: 
   99: Pseudo inverse dgelss, zgelss
  100: 
  101: Tables dans interface_tex
  102: 
  103: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
  104: Les enregistrements sont de la forme :
  105: [Position enregistrement suivant][enregistrement]
  106: ADDNODE
  107: DELNODE
  108: 
  109: { arguments } << programme >> << interruption >> SUBMIT
  110: arg1 ... argn n << programme >> << interruption >> SUBMIT
  111: 
  112: rpl -b (batch) 32 (nombre de threads)
  113: 
  114: FOREIGN (pour les variables)
  115: 
  116: Côté esclave
  117: foreign -> X Y Z << >>
  118: FVARLOCK
  119: FVARUNLOCK
  120: 
  121: Côté maître
  122: foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave)
  123: 
  124: FOREIGN permet à un esclave d'accéder à une variable partagée
  125: du maître.
  126: 
  127: ADDNOTE envoie les variables de niveau 0 au noeud client.
  128: SUBMIT envoie l'adresse de création des variables 'foreign' au client
  129: // Maître
  130: << foreign 1 -> X
  131:     <<
  132:         << foreign -> X << 'X' incr >> >> << >> submit
  133:     >>
  134: >>
  135: 
  136: ================================================================================
  137: 
  138: Compilation -> faire un exécutable qui appelle rpl par rpl -S
  139: 
  140: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
  141: séquenceur dans rpl.c
  142: 
  143: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
  144: 
  145: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
  146: Si a est une liste ou une table : une seule dimension possible !
  147: 
  148: [[ 1 2 ]]3 est valide !
  149: 
  150: Evaluation symbolique des fonction ?
  151: 
  152: SQL sur des données binaires
  153: 
  154: La manière standard de faire est d'utiliser des wchar_t pour représenter les
  155: caractères (à distinguer des bytes).
  156: Il y a plein de choses dans la bibliothèque standard :
  157: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
  158: probablement identique dans ton cas
  159: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
  160: - wcs*() qui remplace les fonctions en str*()
  161: 
  162: Vérifier la cohérence des arguments de OPEN
  163: 
  164: TO DO
  165:     File support : SEEK, SUPPRESS, REWRITE
  166: 
  167: Mettre des tableaux dans les formats binaires
  168: 
  169: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
  170: Fichiers flow
  171: 
  172: SLOPEFIELD
  173: 
  174: Simplification des expressions : convertir la notation polonaise en
  175: arbre.
  176: 
  177: Problème d'indentation de
  178: select
  179:     case then end <- sur la même ligne

CVSweb interface <joel.bertrand@systella.fr>