Annotation of rpl/LIMITATIONS, revision 1.35
1.1 bertrand 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:
1.32 bertrand 7: Traiter SIGTERM
1.33 bertrand 8: RUN
9:
1.35 ! bertrand 10: P->R demande un copy (R->P fonctionne) dans le cas du traitement
! 11: des degrés.
1.18 bertrand 12:
1.1 bertrand 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.
1.15 bertrand 19: FONCTION
20: <<
21: INTERFACE
22: ALTERN
23: RESULT
24: REQUIRES
25: END
26: END
27: >>
28:
1.13 bertrand 29: fonction
30: INTERFACE
1.16 bertrand 31: generic
1.15 bertrand 32: integer scalar
1.13 bertrand 33: real matrix
1.15 bertrand 34: complex vector
1.13 bertrand 35: table
36: list
1.15 bertrand 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
1.13 bertrand 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
1.1 bertrand 63: END
64: REQUIRES
1.15 bertrand 65: variables globales ou définitions
1.1 bertrand 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:
1.8 bertrand 92: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
1.1 bertrand 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
1.28 bertrand 100:
101: rpl -b (batch) 32 (nombre de threads)
1.1 bertrand 102:
103: FOREIGN (pour les variables)
104:
1.27 bertrand 105: Côté esclave
106: foreign -> X Y Z << >>
107: FVARLOCK
108: FVARUNLOCK
109:
110: Côté maître
1.28 bertrand 111: foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave)
1.27 bertrand 112:
1.18 bertrand 113: FOREIGN permet à un esclave d'accéder à une variable partagée
114: du maître.
115:
1.1 bertrand 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: Vérifier la cohérence des arguments de OPEN
152:
153: TO DO
154: File support : SEEK, SUPPRESS, REWRITE
155:
156: Mettre des tableaux dans les formats binaires
157:
158: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
159: Fichiers flow
160:
161: SLOPEFIELD
162:
163: Simplification des expressions : convertir la notation polonaise en
164: arbre.
165:
166: Problème d'indentation de
167: select
168: case then end <- sur la même ligne
CVSweb interface <joel.bertrand@systella.fr>