File:  [local] / rpl / LIMITATIONS
Revision 1.33: download - view: text, annotated - select for diffs - revision graph
Sun Mar 6 16:44:06 2011 UTC (13 years ago) by bertrand
Branches: MAIN
CVS tags: HEAD
En route pour la 4.0.21 !

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

CVSweb interface <joel.bertrand@systella.fr>