1 |
picher |
199 |
// (c) 2009 Jean-Marc Drouet ************************************ bib_0000.h * > |
2 |
|
|
// |
3 |
|
|
// ver.: 20090329 |
4 |
|
|
|
5 |
|
|
#ifndef _bib_0000_h_ |
6 |
|
|
#define _bib_0000_h_ |
7 |
|
|
|
8 |
|
|
#include<math.h> |
9 |
|
|
#include<stdio.h> |
10 |
|
|
#include<stdlib.h> |
11 |
|
|
#include<string.h> |
12 |
|
|
#include<time.h> |
13 |
|
|
|
14 |
|
|
#ifndef LONGDOUBLE |
15 |
|
|
#define acosl acos |
16 |
|
|
#define asinl asin |
17 |
|
|
#define atan2l atan2 |
18 |
|
|
#define cosl cos |
19 |
|
|
#define fabsl fabs |
20 |
|
|
#define floorl floor |
21 |
|
|
#define logl log |
22 |
|
|
#define log10l log10 |
23 |
|
|
#define modfl modf |
24 |
|
|
#define powl pow |
25 |
|
|
#define sinl sin |
26 |
|
|
#define sqrtl sqrt |
27 |
|
|
#endif |
28 |
|
|
|
29 |
|
|
//****************************************************************************** |
30 |
|
|
// types globaux du module bib_0000 |
31 |
|
|
|
32 |
|
|
//-- acronymes ----------------------------------------------------------------- |
33 |
|
|
|
34 |
|
|
#ifdef LONGDOUBLE |
35 |
|
|
typedef long double vifl ; |
36 |
|
|
#else |
37 |
|
|
typedef double vifl ; |
38 |
|
|
#endif |
39 |
|
|
|
40 |
|
|
typedef short int sint ; |
41 |
|
|
typedef short int *psint ; |
42 |
|
|
|
43 |
|
|
typedef unsigned short int usint ; |
44 |
|
|
typedef unsigned short int *pusint ; |
45 |
|
|
|
46 |
|
|
typedef unsigned char uchar ; |
47 |
|
|
typedef unsigned char *puchar ; |
48 |
|
|
|
49 |
|
|
typedef unsigned int uint ; |
50 |
|
|
typedef unsigned int *puint ; |
51 |
|
|
|
52 |
|
|
typedef long int lint ; |
53 |
|
|
typedef long int *plint ; |
54 |
|
|
|
55 |
|
|
typedef unsigned long int ulong ; |
56 |
|
|
typedef unsigned long int *pulong ; |
57 |
|
|
|
58 |
|
|
//-- type résultat pour le statut d'exécution des procédures ------------------- |
59 |
|
|
|
60 |
|
|
typedef int ty_RSLT; |
61 |
|
|
|
62 |
|
|
//-- coordonnées 2D et 3D ------------------------------------------------------ |
63 |
|
|
|
64 |
|
|
struct ty_coord_2D { |
65 |
|
|
|
66 |
|
|
vifl x; |
67 |
|
|
vifl y; |
68 |
|
|
|
69 |
|
|
}; |
70 |
|
|
|
71 |
|
|
struct ty_coord_3D { |
72 |
|
|
|
73 |
|
|
vifl x; |
74 |
|
|
vifl y; |
75 |
|
|
vifl z; |
76 |
|
|
|
77 |
|
|
}; |
78 |
|
|
|
79 |
|
|
//****************************************************************************** |
80 |
|
|
// constantes globales du module bib_0000 |
81 |
|
|
|
82 |
|
|
//------------------------------------------------------------------------------ |
83 |
|
|
//-- - les drapeaux de signe négatif sont globaux et définis uniquement dans |
84 |
|
|
//-- le module bib_0000.h |
85 |
|
|
//-- - ils ne peuvent pas être combinés par des opérateurs logiques |
86 |
|
|
|
87 |
|
|
#define co_probleme (ty_RSLT) -1 |
88 |
|
|
#define co_problema (ty_RSLT) -1 |
89 |
|
|
#define co_probleme_arg (ty_RSLT) -2 |
90 |
|
|
#define co_probleme_mem (ty_RSLT) -3 |
91 |
|
|
#define co_probleme_cnv (ty_RSLT) -4 |
92 |
|
|
#define co_pas_de_probleme (ty_RSLT) -5 |
93 |
|
|
#define co_no_problema (ty_RSLT) -5 |
94 |
|
|
|
95 |
|
|
#define co_non (ty_RSLT) -6 |
96 |
|
|
#define co_no (ty_RSLT) -6 |
97 |
|
|
#define co_oui (ty_RSLT) -7 |
98 |
|
|
#define co_si (ty_RSLT) -7 |
99 |
|
|
#define co_peut_etre (ty_RSLT) -8 |
100 |
|
|
|
101 |
|
|
#define co_n_existe_pas (ty_RSLT) -9 |
102 |
|
|
#define co_existe (ty_RSLT) -10 |
103 |
|
|
|
104 |
|
|
#define co_pas_de_traitement (ty_RSLT) -11 |
105 |
|
|
#define co_traitement (ty_RSLT) -12 |
106 |
|
|
|
107 |
|
|
#define co_negatif (ty_RSLT) -13 |
108 |
|
|
#define co_positif (ty_RSLT) -14 |
109 |
|
|
|
110 |
|
|
#define co_zero (ty_RSLT) -15 |
111 |
|
|
#define co_pas_zero (ty_RSLT) -16 |
112 |
|
|
|
113 |
|
|
#define co_defini (ty_RSLT) -17 |
114 |
|
|
#define co_non_defini (ty_RSLT) -18 |
115 |
|
|
|
116 |
|
|
#define co_droit (ty_RSLT) -19 |
117 |
|
|
#define co_droite (ty_RSLT) -19 |
118 |
|
|
#define co_gauche (ty_RSLT) -20 |
119 |
|
|
#define co_dessus (ty_RSLT) -21 |
120 |
|
|
|
121 |
|
|
#define co_infini (ty_RSLT) -22 |
122 |
|
|
|
123 |
|
|
#define co_inchange (ty_RSLT) -23 |
124 |
|
|
#define co_maj (ty_RSLT) -24 |
125 |
|
|
|
126 |
|
|
#define co_probleme_1 (ty_RSLT) -101 |
127 |
|
|
#define co_probleme_2 (ty_RSLT) -102 |
128 |
|
|
#define co_probleme_3 (ty_RSLT) -103 |
129 |
|
|
#define co_probleme_4 (ty_RSLT) -104 |
130 |
|
|
#define co_probleme_5 (ty_RSLT) -105 |
131 |
|
|
#define co_probleme_6 (ty_RSLT) -106 |
132 |
|
|
#define co_probleme_7 (ty_RSLT) -107 |
133 |
|
|
#define co_probleme_8 (ty_RSLT) -108 |
134 |
|
|
#define co_probleme_9 (ty_RSLT) -109 |
135 |
|
|
#define co_probleme_10 (ty_RSLT) -110 |
136 |
|
|
|
137 |
|
|
#define co_probleme_101 (ty_RSLT) -1101 |
138 |
|
|
#define co_probleme_102 (ty_RSLT) -1102 |
139 |
|
|
#define co_probleme_103 (ty_RSLT) -1103 |
140 |
|
|
#define co_probleme_104 (ty_RSLT) -1104 |
141 |
|
|
#define co_probleme_105 (ty_RSLT) -1105 |
142 |
|
|
#define co_probleme_106 (ty_RSLT) -1106 |
143 |
|
|
#define co_probleme_107 (ty_RSLT) -1107 |
144 |
|
|
#define co_probleme_108 (ty_RSLT) -1108 |
145 |
|
|
#define co_probleme_109 (ty_RSLT) -1109 |
146 |
|
|
#define co_probleme_110 (ty_RSLT) -1110 |
147 |
|
|
|
148 |
|
|
#ifdef LONGDOUBLE |
149 |
|
|
#ifdef LINUX |
150 |
|
|
#define co_bib_0000_dim_vifl 12 |
151 |
|
|
#define co_bib_0000_max_vifl 1.0e+4930 |
152 |
|
|
#define co_bib_0000_ncs_vifl 18 // nombre de chiffres significatifs |
153 |
|
|
#endif |
154 |
|
|
#ifdef WINDOWS |
155 |
|
|
#define co_bib_0000_dim_vifl 10 |
156 |
|
|
#define co_bib_0000_max_vifl 1.0e+4930 |
157 |
|
|
#define co_bib_0000_ncs_vifl 18 // nombre de chiffres significatifs |
158 |
|
|
#endif |
159 |
|
|
#else |
160 |
|
|
#define co_bib_0000_dim_vifl 8 |
161 |
|
|
#define co_bib_0000_max_vifl 1.0e+308 |
162 |
|
|
#define co_bib_0000_ncs_vifl 15 // nombre de chiffres significatifs |
163 |
|
|
#endif |
164 |
|
|
|
165 |
|
|
/* |
166 |
|
|
#define co_bib_0000_dim_vifl sizeof(vifl) |
167 |
|
|
*/ |
168 |
|
|
#define co_bib_0000_dim_ulong sizeof(ulong) |
169 |
|
|
|
170 |
|
|
|
171 |
|
|
//-- dimension max d'une CC pour un int ---------------------------------------- |
172 |
|
|
|
173 |
|
|
#define co_lcc_max_int 8 // 8 caractères |
174 |
|
|
|
175 |
|
|
//-- dimension max d'une CC pour un vifl --------------------------------------- |
176 |
|
|
|
177 |
|
|
#define co_lcc_max_vifl 40 // 40 caractères |
178 |
|
|
|
179 |
|
|
//-- dimension max d'une CC pour un nom de fichier ----------------------------- |
180 |
|
|
|
181 |
|
|
#define co_lcc_max_nf 9 // incluant le '\0' |
182 |
|
|
|
183 |
|
|
//-- dimension max d'une CC pour l'extension d'un fichier ---------------------- |
184 |
|
|
|
185 |
|
|
#define co_lcc_max_ef 4 // incluant le '\0' |
186 |
|
|
|
187 |
|
|
//-- dimension max d'une CC pour un fichier ------------------------------------ |
188 |
|
|
|
189 |
|
|
#define co_lcc_max_fic 15 // incluant le '\0' |
190 |
|
|
|
191 |
|
|
//-- dimension max d'une CC pour un répertoire --------------------------------- |
192 |
|
|
|
193 |
|
|
#define co_lcc_max_rep 200 // incluant le '\0' |
194 |
|
|
|
195 |
|
|
//-- dimension max d'une CC pour l'adresse -> réperoite + fichier -------------- |
196 |
|
|
|
197 |
|
|
#define co_lcc_max_adr 220 // incluant le '\0' |
198 |
|
|
|
199 |
|
|
//-- valeur en dessous de laquelle, on considère un nombre vifl égal à 0 ------- |
200 |
|
|
|
201 |
|
|
#define co_zero_vifl (vifl) 1.0e-4900 // en valeur absolue |
202 |
|
|
|
203 |
|
|
//-- nombres de chiffres significatifs pour un vifl ---------------------------- |
204 |
|
|
|
205 |
|
|
#define co_0000_csg_vifl 18 |
206 |
|
|
|
207 |
|
|
//-- constantes pour le format numérique --------------------------------------- |
208 |
|
|
|
209 |
|
|
#define co_0000_format_dcm 1 // décimales |
210 |
|
|
#define co_0000_format_tcd 2 // tous les chiffres disponibles |
211 |
|
|
|
212 |
|
|
|
213 |
|
|
|
214 |
|
|
#define co_lcc_max_remplacer_dans_fic 500 |
215 |
|
|
|
216 |
|
|
|
217 |
|
|
|
218 |
|
|
//****************************************************************************** |
219 |
|
|
// structures globales du module bib_0000 |
220 |
|
|
|
221 |
|
|
//-- données multi-usage (dimension = 70 octets) ------------------------------- |
222 |
|
|
|
223 |
|
|
struct ty_0000_dnn { |
224 |
|
|
|
225 |
|
|
int i0; // 5 données de type int |
226 |
|
|
int i1; |
227 |
|
|
int i2; |
228 |
|
|
int i3; |
229 |
|
|
int i4; |
230 |
|
|
|
231 |
|
|
uint ui0; // 5 données de type uint |
232 |
|
|
uint ui1; |
233 |
|
|
uint ui2; |
234 |
|
|
uint ui3; |
235 |
|
|
uint ui4; |
236 |
|
|
|
237 |
|
|
vifl x0; // 5 données de type vifl |
238 |
|
|
vifl x1; |
239 |
|
|
vifl x2; |
240 |
|
|
vifl x3; |
241 |
|
|
vifl x4; |
242 |
|
|
|
243 |
|
|
void *ptr; // 1 pointeur |
244 |
|
|
|
245 |
|
|
}; |
246 |
|
|
|
247 |
|
|
//****************************************************************************** |
248 |
|
|
// variables globales du module bib_0000 |
249 |
|
|
|
250 |
|
|
// aucune |
251 |
|
|
|
252 |
|
|
//****************************************************************************** |
253 |
|
|
// fonctions globales du module bib_0000 |
254 |
|
|
|
255 |
|
|
|
256 |
|
|
//****************************************************************************** |
257 |
|
|
// |
258 |
|
|
// remplacement d'une cc dans un fichier texte |
259 |
|
|
// h |
260 |
|
|
|
261 |
|
|
ty_RSLT remplacer_dans_fic( char *_nom_fic_entree , |
262 |
|
|
char *_nom_fic_sortie , |
263 |
|
|
char *_cc_a_chercher , |
264 |
|
|
char *_cc_de_remplacement ); |
265 |
|
|
|
266 |
|
|
|
267 |
|
|
//****************************************************************************** |
268 |
|
|
// allocation de mémoire |
269 |
|
|
// |
270 |
|
|
// +--------------------------------------------+-------------------------+ |
271 |
|
|
// ¦ condition ¦ résultat d'exécution ¦ |
272 |
|
|
// +--------------------------------------------+-------------------------+ |
273 |
|
|
// ¦ 1. nbr de termes à allouer = 0 ¦ co_probleme_1 ¦ |
274 |
|
|
// ¦ 2. impossible d'allouer la mémoire ¦ co_probleme_2 ¦ |
275 |
|
|
// ¦ 0. OK ¦ co_pas_de_probleme ¦ |
276 |
|
|
// +--------------------------------------------+-------------------------+ h |
277 |
|
|
|
278 |
|
|
ty_RSLT amem( int **_ptr , // ptr à renvoyer |
279 |
|
|
ulong _nbr_int ); // nbr de termes int ou ty_RSLT à allouer |
280 |
|
|
|
281 |
|
|
ty_RSLT amem( lint **_ptr , // ptr à renvoyer |
282 |
|
|
ulong _nbr_lint ); // nbr de termes lint à allouer |
283 |
|
|
|
284 |
|
|
ty_RSLT amem( uchar **_ptr , // ptr à renvoyer |
285 |
|
|
ulong _nbr_uchar ); // nbr de termes uchar à allouer |
286 |
|
|
|
287 |
|
|
ty_RSLT amem( ulong **_ptr , // ptr à renvoyer |
288 |
|
|
ulong _nbr_ulong ); // nbr de termes ulong à allouer |
289 |
|
|
|
290 |
|
|
ty_RSLT amem( vifl **_ptr , // ptr à renvoyer |
291 |
|
|
ulong _nbr_vifl ); // nbr de termes vifl à allouer |
292 |
|
|
|
293 |
|
|
//****************************************************************************** |
294 |
|
|
// copie en mémoire h |
295 |
|
|
|
296 |
|
|
ty_RSLT cop_mem( char *_ptr_src , // ptr de base - source |
297 |
|
|
char *_ptr_dst , // ptr de base - destination |
298 |
|
|
ulong _nbr_termes ); // nbr de termes char à copier |
299 |
|
|
|
300 |
|
|
ty_RSLT cop_mem( int *_ptr_src , // ptr de base - source |
301 |
|
|
int *_ptr_dst , // ptr de base - destination |
302 |
|
|
ulong _nbr_termes ); // nbr de termes int à copier |
303 |
|
|
|
304 |
|
|
ty_RSLT cop_mem( uchar *_ptr_src , // ptr de base - source |
305 |
|
|
uchar *_ptr_dst , // ptr de base - destination |
306 |
|
|
ulong _nbr_termes ); // nbr de termes uchar à copier |
307 |
|
|
|
308 |
|
|
ty_RSLT cop_mem( ulong *_ptr_src , // ptr de base - source |
309 |
|
|
ulong *_ptr_dst , // ptr de base - destination |
310 |
|
|
ulong _nbr_termes ); // nbr de termes ulong à copier |
311 |
|
|
|
312 |
|
|
ty_RSLT cop_mem( vifl *_ptr_src , // ptr de base - source |
313 |
|
|
vifl *_ptr_dst , // ptr de base - destination |
314 |
|
|
ulong _nbr_termes ); // nbr de termes vifl à copier |
315 |
|
|
|
316 |
|
|
//****************************************************************************** |
317 |
|
|
// écriture en mémoire h |
318 |
|
|
|
319 |
|
|
ty_RSLT ect_mem( char *_ptr , // ptr de base |
320 |
|
|
ulong _pos , // position (base 1) |
321 |
|
|
char _vlr ); // valeur à écrire |
322 |
|
|
|
323 |
|
|
ty_RSLT ect_mem( int *_ptr , // ptr de base |
324 |
|
|
ulong _pos , // position (base 1) |
325 |
|
|
int _vlr ); // valeur à écrire (int ou ty_RSLT) |
326 |
|
|
|
327 |
|
|
ty_RSLT ect_mem( uchar *_ptr , // ptr de base |
328 |
|
|
ulong _pos , // position (base 1) |
329 |
|
|
uchar _vlr ); // valeur à écrire |
330 |
|
|
|
331 |
|
|
ty_RSLT ect_mem( ulong *_ptr , // ptr de base |
332 |
|
|
ulong _pos , // position (base 1) |
333 |
|
|
ulong _vlr ); // valeur à écrire |
334 |
|
|
|
335 |
|
|
ty_RSLT ect_mem( vifl *_ptr , // ptr de base |
336 |
|
|
ulong _pos , // position (base 1) |
337 |
|
|
vifl _vlr ); // valeur à écrire |
338 |
|
|
|
339 |
|
|
ty_RSLT ect_mem( vifl *_ptr , // ptr de base |
340 |
|
|
ulong _pos , // position (base 1) |
341 |
|
|
vifl *_vlr ); // valeur à écrire |
342 |
|
|
|
343 |
|
|
ty_RSLT ect_mem( void *_ptr , // ptr de base |
344 |
|
|
ulong _pos , // position (base 1) |
345 |
|
|
ulong _dim , // dimension en octets de chaque élément |
346 |
|
|
void *_vlr ); // élément à écrire |
347 |
|
|
|
348 |
|
|
//****************************************************************************** |
349 |
|
|
// |
350 |
|
|
// écriture dans un tableau |
351 |
|
|
// h |
352 |
|
|
|
353 |
|
|
ty_RSLT ect_tab( lint *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
354 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
355 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
356 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
357 |
|
|
lint _vlr ); // valeur à écrire |
358 |
|
|
|
359 |
|
|
//****************************************************************************** |
360 |
|
|
// |
361 |
|
|
// écriture dans un tableau |
362 |
|
|
// h |
363 |
|
|
|
364 |
|
|
ty_RSLT ect_tab( vifl *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
365 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
366 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
367 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
368 |
|
|
vifl *_vlr ); // valeur à écrire |
369 |
|
|
|
370 |
|
|
//****************************************************************************** |
371 |
|
|
// |
372 |
|
|
// écriture dans un tableau |
373 |
|
|
// h |
374 |
|
|
|
375 |
|
|
ty_RSLT ect_tab( ulong *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
376 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
377 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
378 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
379 |
|
|
ulong _vlr ); // valeur à écrire |
380 |
|
|
|
381 |
|
|
//****************************************************************************** |
382 |
|
|
// |
383 |
|
|
// écriture dans un tableau |
384 |
|
|
// h |
385 |
|
|
|
386 |
|
|
ty_RSLT ect_tab( ulong *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
387 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
388 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
389 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
390 |
|
|
ulong *_vlr ); // valeur à écrire |
391 |
|
|
|
392 |
|
|
//****************************************************************************** |
393 |
|
|
// initialisation de mémoire (int et ty_RSLT) h |
394 |
|
|
|
395 |
|
|
ty_RSLT ini_mem( int *_ptr , |
396 |
|
|
ulong _nbr_termes , |
397 |
|
|
int _vlr ); |
398 |
|
|
|
399 |
|
|
//****************************************************************************** |
400 |
|
|
// initialisation de mémoire h |
401 |
|
|
|
402 |
|
|
ty_RSLT ini_mem( lint *_ptr , |
403 |
|
|
ulong _nbr_termes , |
404 |
|
|
lint _vlr ); |
405 |
|
|
|
406 |
|
|
//****************************************************************************** |
407 |
|
|
// initialisation de mémoire h |
408 |
|
|
|
409 |
|
|
ty_RSLT ini_mem( ulong *_ptr , |
410 |
|
|
ulong _nbr_termes , |
411 |
|
|
ulong _vlr ); |
412 |
|
|
|
413 |
|
|
//****************************************************************************** |
414 |
|
|
// initialisation de mémoire h |
415 |
|
|
|
416 |
|
|
ty_RSLT ini_mem( vifl *_ptr , |
417 |
|
|
ulong _nbr_termes , |
418 |
|
|
vifl _vlr ); |
419 |
|
|
|
420 |
|
|
//****************************************************************************** |
421 |
|
|
// initialisation de mémoire h |
422 |
|
|
|
423 |
|
|
ty_RSLT ini_mem( vifl *_ptr , |
424 |
|
|
ulong _nbr_termes , |
425 |
|
|
vifl *_vlr ); |
426 |
|
|
|
427 |
|
|
//****************************************************************************** |
428 |
|
|
// |
429 |
|
|
// insertion en mémoire (décalage vers la fin) |
430 |
|
|
// h |
431 |
|
|
|
432 |
|
|
ty_RSLT ins_mem( ulong *_ptr , // ptr de base |
433 |
|
|
ulong _nbr_termes , // nbre de termes total |
434 |
|
|
ulong _pos , // position (base 1) |
435 |
|
|
ulong _vlr ); // valeur insérée |
436 |
|
|
|
437 |
|
|
//****************************************************************************** |
438 |
|
|
// |
439 |
|
|
// insertion en mémoire (décalage vers la fin) |
440 |
|
|
// h |
441 |
|
|
|
442 |
|
|
ty_RSLT ins_mem( vifl *_ptr , // ptr de base |
443 |
|
|
ulong _nbr_termes , // nbre de termes total |
444 |
|
|
ulong _pos , // position (base 1) |
445 |
|
|
vifl *_vlr ); // valeur insérée |
446 |
|
|
|
447 |
|
|
//****************************************************************************** |
448 |
|
|
// |
449 |
|
|
// lecture en mémoire |
450 |
|
|
// h |
451 |
|
|
|
452 |
|
|
ty_RSLT lct_mem( char *_ptr , // ptr de base |
453 |
|
|
ulong _pos , // position (base 1) |
454 |
|
|
|
455 |
|
|
char *_vlr ); // valeur lue |
456 |
|
|
|
457 |
|
|
//****************************************************************************** |
458 |
|
|
// lecture en mémoire (int et ty_RSLT) h |
459 |
|
|
|
460 |
|
|
ty_RSLT lct_mem( int *_ptr , // ptr de base |
461 |
|
|
ulong _pos , // position (base 1) |
462 |
|
|
|
463 |
|
|
int *_vlr ); // valeur lue |
464 |
|
|
|
465 |
|
|
//****************************************************************************** |
466 |
|
|
// lecture en mémoire h |
467 |
|
|
|
468 |
|
|
ty_RSLT lct_mem( uchar *_ptr , // ptr de base |
469 |
|
|
ulong _pos , // position (base 1) |
470 |
|
|
|
471 |
|
|
uchar *_vlr ); // valeur lue |
472 |
|
|
|
473 |
|
|
//****************************************************************************** |
474 |
|
|
// |
475 |
|
|
// lecture en mémoire |
476 |
|
|
// h |
477 |
|
|
|
478 |
|
|
ty_RSLT lct_mem( ulong *_ptr , // ptr de base |
479 |
|
|
ulong _pos , // position (base 1) |
480 |
|
|
|
481 |
|
|
ulong *_vlr ); // valeur lue |
482 |
|
|
|
483 |
|
|
//****************************************************************************** |
484 |
|
|
// |
485 |
|
|
// lecture en mémoire |
486 |
|
|
// h |
487 |
|
|
|
488 |
|
|
ty_RSLT lct_mem( vifl *_ptr , // ptr de base |
489 |
|
|
ulong _pos , // position (base 1) |
490 |
|
|
|
491 |
|
|
vifl *_vlr ); // valeur lue |
492 |
|
|
|
493 |
|
|
//****************************************************************************** |
494 |
|
|
// |
495 |
|
|
// lecture en mémoire |
496 |
|
|
// h |
497 |
|
|
|
498 |
|
|
ty_RSLT lct_mem( void *_ptr , // ptr de base |
499 |
|
|
ulong _pos , // position (base 1) |
500 |
|
|
ulong _dim , // dimension en octets de chaque élément |
501 |
|
|
|
502 |
|
|
void *_vlr ); // élément lu |
503 |
|
|
|
504 |
|
|
//****************************************************************************** |
505 |
|
|
// |
506 |
|
|
// lecture dans un tableau |
507 |
|
|
// h |
508 |
|
|
|
509 |
|
|
ty_RSLT lct_tab( lint *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
510 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
511 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
512 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
513 |
|
|
|
514 |
|
|
lint *_vlr ); // valeur à lire |
515 |
|
|
|
516 |
|
|
//****************************************************************************** |
517 |
|
|
// |
518 |
|
|
// lecture dans un tableau |
519 |
|
|
// h |
520 |
|
|
|
521 |
|
|
ty_RSLT lct_tab( ulong *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
522 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
523 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
524 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
525 |
|
|
|
526 |
|
|
ulong *_vlr ); // valeur à lire |
527 |
|
|
|
528 |
|
|
//****************************************************************************** |
529 |
|
|
// |
530 |
|
|
// lecture dans un tableau |
531 |
|
|
// h |
532 |
|
|
|
533 |
|
|
ty_RSLT lct_tab( vifl *_ptr , // ptr de base (1ère ligne, 1ère colonne) |
534 |
|
|
ulong _nbr_col , // nombre de colonnes du tableau |
535 |
|
|
ulong _no_lig , // numéro de la ligne (base 1) |
536 |
|
|
ulong _no_col , // numéro de la colonne (base 1) |
537 |
|
|
|
538 |
|
|
vifl *_vlr ); // valeur à lire |
539 |
|
|
|
540 |
|
|
//****************************************************************************** |
541 |
|
|
// |
542 |
|
|
// entrée dans une procédure |
543 |
|
|
// h |
544 |
|
|
|
545 |
|
|
ty_RSLT entree_proc( char *_nom_proc ); |
546 |
|
|
|
547 |
|
|
//****************************************************************************** |
548 |
|
|
// |
549 |
|
|
// sortie d'une procédure |
550 |
|
|
// h |
551 |
|
|
|
552 |
|
|
ty_RSLT sortie_proc( char *_nom_proc ); |
553 |
|
|
|
554 |
|
|
//****************************************************************************** |
555 |
|
|
// |
556 |
|
|
// arrêt de l'exécution d'un programme pendant nbr_de_secondes secondes |
557 |
|
|
// h |
558 |
|
|
|
559 |
|
|
ty_RSLT delai( double _nbr_de_secondes ); |
560 |
|
|
|
561 |
|
|
//****************************************************************************** |
562 |
|
|
// |
563 |
|
|
// départ du chronomètre |
564 |
|
|
// h |
565 |
|
|
|
566 |
|
|
ty_RSLT depart_chrono( void ); |
567 |
|
|
|
568 |
|
|
//****************************************************************************** |
569 |
|
|
// |
570 |
|
|
// départ du chronomètre |
571 |
|
|
// h |
572 |
|
|
|
573 |
|
|
ty_RSLT depart_chrono_2( void ); |
574 |
|
|
|
575 |
|
|
//****************************************************************************** |
576 |
|
|
// |
577 |
|
|
// arrêt du chronomètre |
578 |
|
|
// h |
579 |
|
|
|
580 |
|
|
ty_RSLT arret_chrono( void ); |
581 |
|
|
|
582 |
|
|
//****************************************************************************** |
583 |
|
|
// |
584 |
|
|
// arrêt du chronomètre |
585 |
|
|
// h |
586 |
|
|
|
587 |
|
|
ty_RSLT arret_chrono_2( void ); |
588 |
|
|
|
589 |
|
|
//****************************************************************************** |
590 |
|
|
// |
591 |
|
|
// affiche le temps chronomètré |
592 |
|
|
// h |
593 |
|
|
|
594 |
|
|
ty_RSLT affiche_chrono( void ); |
595 |
|
|
|
596 |
|
|
//****************************************************************************** |
597 |
|
|
// |
598 |
|
|
// affiche le temps chronomètré |
599 |
|
|
// h |
600 |
|
|
|
601 |
|
|
ty_RSLT affiche_chrono_2( void ); |
602 |
|
|
|
603 |
|
|
//****************************************************************************** |
604 |
|
|
// |
605 |
|
|
// conversion d'une chaine de caractères en int |
606 |
|
|
// |
607 |
|
|
// _ptr_cc -> ptr vers la cc |
608 |
|
|
// |
609 |
|
|
// _x -> ptr vers le int |
610 |
|
|
// h |
611 |
|
|
|
612 |
|
|
ty_RSLT cnv_cc_int(char *_ptr_cc, int *_x); |
613 |
|
|
|
614 |
|
|
//****************************************************************************** |
615 |
|
|
// |
616 |
|
|
// conversion d'une chaine de caractères en vifl |
617 |
|
|
// |
618 |
|
|
// _ptr_cc -> ptr vers la cc |
619 |
|
|
// |
620 |
|
|
// _x -> ptr vers le vifl |
621 |
|
|
// h |
622 |
|
|
|
623 |
|
|
ty_RSLT cnv_cc_vifl(char *_ptr_cc, vifl *_x); |
624 |
|
|
|
625 |
|
|
//****************************************************************************** |
626 |
|
|
// |
627 |
|
|
// conversion d'une chaine de caractères en uint. |
628 |
|
|
// |
629 |
|
|
// _ptr_cc -> ptr vers la cc |
630 |
|
|
// |
631 |
|
|
// _x -> ptr vers le uint. |
632 |
|
|
// h |
633 |
|
|
|
634 |
|
|
ty_RSLT cnv_cc_uint(char *_ptr_cc, uint *_x); |
635 |
|
|
|
636 |
|
|
//****************************************************************************** |
637 |
|
|
// |
638 |
|
|
// conversion d'une chaine de caractères en ulong |
639 |
|
|
// |
640 |
|
|
// _ptr_cc -> ptr vers la cc |
641 |
|
|
// |
642 |
|
|
// _x -> ptr vers le ulong |
643 |
|
|
// h |
644 |
|
|
|
645 |
|
|
ty_RSLT cnv_cc_ulong(char *_ptr_cc, ulong *_x); |
646 |
|
|
|
647 |
|
|
//****************************************************************************** |
648 |
|
|
// |
649 |
|
|
// conversion d'un ulong en chaine de caractères |
650 |
|
|
// |
651 |
|
|
// _cc doit pourvoir contenir au moins 11 caractères |
652 |
|
|
// h |
653 |
|
|
|
654 |
|
|
ty_RSLT cnv_ulong_cc_v1( ulong _x , |
655 |
|
|
char *_cc ); |
656 |
|
|
|
657 |
|
|
//****************************************************************************** |
658 |
|
|
// |
659 |
|
|
// conversion d'un ulong en chaine de caractères |
660 |
|
|
// |
661 |
|
|
// on conserve les zéros à gauche |
662 |
|
|
// |
663 |
|
|
// _cc doit pourvoir contenir au moins 11 caractères |
664 |
|
|
// h |
665 |
|
|
|
666 |
|
|
ty_RSLT cnv_ulong_cc_v2( ulong _x , |
667 |
|
|
char *_cc ); |
668 |
|
|
|
669 |
|
|
//****************************************************************************** |
670 |
|
|
// |
671 |
|
|
// conversion d'un vifl en chaine de caractères |
672 |
|
|
// |
673 |
|
|
// _type_fmt -> basé sur les décimales = co_0000_format_dcm |
674 |
|
|
// -> basé sur tous les chiffres disponibles = co_0000_format_tcd |
675 |
|
|
// |
676 |
|
|
// _ntn_stf -> si l'exposant est toujours présent = co_oui |
677 |
|
|
// si l'exposant est jamais présent = co_non |
678 |
|
|
// si l'exposant est présent au besoin = co_peut_etre |
679 |
|
|
// |
680 |
|
|
// _pcs -> précision (nbr de dcm) |
681 |
|
|
// |
682 |
|
|
// Renvoie co_pas_de_probleme -> si tout s'est bien passé |
683 |
|
|
// co_probleme_cnv -> si on ne peut satisfaire les exigences de |
684 |
|
|
// formatage |
685 |
|
|
// co_probleme -> pour tout autre problème |
686 |
|
|
// h |
687 |
|
|
/* |
688 |
|
|
ty_RSLT cnv_vifl_cc( char *_ptr_cc , |
689 |
|
|
int _type_fmt , |
690 |
|
|
int _ntn_stf , |
691 |
|
|
int _pcs , |
692 |
|
|
vifl *_x ); |
693 |
|
|
*/ |
694 |
|
|
//****************************************************************************** |
695 |
|
|
// |
696 |
|
|
// élimination des espaces au début d'une chaine de caractères |
697 |
|
|
// |
698 |
|
|
// _ptr_cc_entree -> ptr vers la cc à l'entrée |
699 |
|
|
// |
700 |
|
|
// _ptr_cc_sortie -> ptr vers (dans) la cc à la sortie |
701 |
|
|
// h |
702 |
|
|
|
703 |
|
|
ty_RSLT elmn_esp_debut(char *_ptr_cc_entree, char **_ptr_cc_sortie); |
704 |
|
|
|
705 |
|
|
//****************************************************************************** |
706 |
|
|
// |
707 |
|
|
// élimination des espaces à la fin d'une chaine de caractères |
708 |
|
|
// |
709 |
|
|
// _ptr_cc -> ptr vers la cc |
710 |
|
|
// h |
711 |
|
|
|
712 |
|
|
ty_RSLT elmn_esp_fin(char *_ptr_cc); |
713 |
|
|
|
714 |
|
|
//****************************************************************************** |
715 |
|
|
// |
716 |
|
|
// ordre de grandeur en base 10 |
717 |
|
|
// |
718 |
|
|
// exemples: *_x ord_grdr |
719 |
|
|
// |
720 |
|
|
// 5347 3 |
721 |
|
|
// 347 2 |
722 |
|
|
// 47 1 |
723 |
|
|
// 7 0 |
724 |
|
|
// .8 -1 |
725 |
|
|
// .08 -2 |
726 |
|
|
// |
727 |
|
|
// ... ... |
728 |
|
|
// h |
729 |
|
|
|
730 |
|
|
ty_RSLT ord_grdr(vifl *_x, int *_ord_grdr); |
731 |
|
|
|
732 |
|
|
//****************************************************************************** |
733 |
|
|
// |
734 |
|
|
// initialisation de bib_0000 |
735 |
|
|
// h |
736 |
|
|
|
737 |
|
|
ty_RSLT init_bib_0000( void ); |
738 |
|
|
|
739 |
|
|
//****************************************************************************** |
740 |
|
|
// |
741 |
|
|
// finitialisation de bib_0000 |
742 |
|
|
// h |
743 |
|
|
|
744 |
|
|
ty_RSLT finit_bib_0000( void ); |
745 |
|
|
|
746 |
|
|
#endif |