ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/optimisation/src/bib_m012.h
Revision: 199
Committed: Tue Jul 21 15:00:12 2009 UTC (15 years, 9 months ago) by picher
Content type: text/plain
File size: 13757 byte(s)
Log Message:
Projet d'optimisation

File Contents

# Content
1 // (c) 2009 Jean-Marc Drouet ************************************ bib_m012.h * >
2 //
3 // rév.: 20090314
4
5 #ifndef _bib_m012h
6 #define _bib_m012h
7
8 #include<math.h>
9
10 #include "bib_0000.h"
11
12 //******************************************************************************
13 // types globaux du module bib_m012
14
15 //******************************************************************************
16 // constantes globales du module bib_m012
17
18 //******************************************************************************
19 // variables globales du module bib_m012
20
21 //******************************************************************************
22 // fonctions globales du module bib_m012
23
24 //******************************************************************************
25 // Addition d'une constante aux éléments d'un vecteur vifl h
26
27 ty_RSLT act_vct(vifl *_vct, ulong _nbr_elmts, vifl _cte);
28
29 //******************************************************************************
30 // Addition d'une constante aux éléments d'un vecteur vifl h
31
32 ty_RSLT act_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl _cte);
33
34 //******************************************************************************
35 // addition de 2 vecteurs h
36
37 ty_RSLT add_vct( vifl *_vct_1 , // 1er vecteur
38 vifl *_vct_2 , // 2e vecteur
39 vifl *_vct_dst , // destination
40 ulong _nbr_elmts ); // nbre d'éléments à traiter
41
42 //******************************************************************************
43 // élévation au carré des éléments d'un vecteur h
44
45 ty_RSLT car_vct( vifl *_vct_src , // source
46 vifl *_vct_dst , // destination
47 ulong _nbr_elmts ); // nbre d'éléments à traiter
48
49 //******************************************************************************
50 // racine carrée des éléments d'un vecteur h
51
52 ty_RSLT rcar_vct( vifl *_vct_src , // source
53 vifl *_vct_dst , // destination
54 ulong _nbr_elmts ); // nbre d'éléments à traiter
55
56 //******************************************************************************
57 // copie d'un vecteur dans un autre h
58
59 ty_RSLT copie_vct( vifl *_vct_src , // source
60 vifl *_vct_dst , // destination
61 ulong _nbr_elmts ); // nbre d'éléments à copier
62
63 //******************************************************************************
64 // soustraction de 2 vecteurs h
65
66 ty_RSLT sous_vct( vifl *_vct_1 , // 1er vecteur
67 vifl *_vct_2 , // 2e vecteur
68 vifl *_vct_dst , // destination = 1er vecteur - 2e vecteur
69 ulong _nbr_elmts ); // nbre d'éléments à traiter
70
71 //******************************************************************************
72 // division des éélééments d'un vecteur par une constante h
73
74 ty_RSLT dct_vct( vifl *_vct_src , // source
75 vifl *_vct_dst , // destination
76 ulong _nbr_elmts , // nbre d'éléments à traiter
77 vifl _cte ); // constante
78
79 //******************************************************************************
80 // division des éléments d'un vecteur vifl par une constante h
81
82 ty_RSLT dct_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl _cte);
83
84 //******************************************************************************
85 // étendue des éléments d'un vecteur vifl h
86
87
88 ty_RSLT etd_vct(vifl *_vct, ulong _nbr_elmts, vifl *_etd);
89
90 //******************************************************************************
91 // écart-type échantillonnal des éléments d'un vecteur vifl h
92
93
94 ty_RSLT ete_vct(vifl *_vct, ulong _nbr_elmts, vifl *_ete);
95
96 //******************************************************************************
97 // écart-type "population" des éléments d'un vecteur vifl h
98
99
100 ty_RSLT etp_vct(vifl *_vct, ulong _nbr_elmts, vifl *_etp);
101
102 //******************************************************************************
103 // insertion de zéros dans un vct vifl h
104
105 ty_RSLT ins_vct( vifl *_vct , // vecteur vifl
106 ulong _nbr_elmts , // nbr d'éléments dans le vecteur
107 ulong _idc_ins , // idc où l'insertion doit être effectuée (base 0)
108 ulong _nbr_ins ); // nbr d'insértions
109
110 //******************************************************************************
111 // renvoie le max dans un vecteur h
112
113 ty_RSLT maxi_vct(ulong *_vct, ulong _nbr_elmts, ulong *_maxi );
114
115 ty_RSLT maxi_vct( vifl *_vct ,
116 ulong _nbr_elmts ,
117 vifl *_maxi );
118
119 //******************************************************************************
120 //
121 // renvoie le max dans un vecteur et son indice (base 1)
122 //
123 // attention : dans la version pré 28-07-2007, l'indice était de base 0
124 // h
125
126 ty_RSLT maxi_vct(ulong *_vct, ulong _nbr_elmts, ulong *_idc, ulong *_maxi );
127
128 ty_RSLT maxi_vct(vifl *_vct, ulong _nbr_elmts, ulong *_idc, vifl *_maxi );
129
130 //******************************************************************************
131 //
132 // recherche du max dans un vct vifl et son idc (base 0)
133 // h
134
135 ty_RSLT max_vct_32x387(vifl *_vct, ulong _nbr_elmts, ulong *_idc, vifl *_max);
136
137 //******************************************************************************
138 //
139 // multiplication des éléments d'un vecteur vifl par une constante
140 // h
141
142 ty_RSLT mct_vct(vifl *_vct, ulong _nbr_elmts, vifl _cte);
143
144 //******************************************************************************
145 //
146 // multiplication des éléments d'un vecteur vifl par une constante
147 // h
148
149 ty_RSLT mct_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl _cte);
150
151 //******************************************************************************
152 // renvoie le min et le max dans un vecteur h
153
154 ty_RSLT mini_maxi_vct( ulong *_vct ,
155 ulong _nbr_elmts ,
156
157 ulong *_mini ,
158 ulong *_maxi );
159
160 ty_RSLT mini_maxi_vct( vifl *_vct ,
161 ulong _nbr_elmts ,
162
163 vifl *_mini ,
164 vifl *_maxi );
165
166 //******************************************************************************
167 //
168 // renvoie le min dans un vecteur et son indice (base 1) (ou pas)
169 //
170 // attention : dans la version pré 28-07-2007, l'indice était de base 0
171 // h
172
173 ty_RSLT mini_vct(ulong *_vct, ulong _nbr_elmts, ulong *_mini );
174
175 ty_RSLT mini_vct(vifl *_vct, ulong _nbr_elmts, vifl *_mini );
176
177 ty_RSLT mini_vct(ulong *_vct, ulong _nbr_elmts, ulong *_idc, ulong *_mini );
178
179 ty_RSLT mini_vct(vifl *_vct, ulong _nbr_elmts, ulong *_idc, vifl *_mini );
180
181 //******************************************************************************
182 //
183 // recherche du min dans un vct vifl et son idc (base 0)
184 // h
185
186 ty_RSLT min_vct_32x387(vifl *_vct, ulong _nbr_elmts, ulong *_idc, vifl *_min);
187
188 //******************************************************************************
189 //
190 // moyenne des termes d'un vecteur vifl
191 // h
192
193 ty_RSLT moy_vct( vifl *_vct ,
194 ulong _nbr_termes ,
195 vifl *_moy );
196
197 //******************************************************************************
198 // norme d'un vecteur vifl h
199
200 ty_RSLT norme_vct( vifl *_vct ,
201 ulong _nbr_elements ,
202 vifl *_norme );
203
204 //******************************************************************************
205 //
206 // norme d'un vecteur vifl
207 // h
208
209 ty_RSLT nrm_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl *_nrm);
210
211 //******************************************************************************
212 // produit scalaire de 2 vecteurs vifl h
213
214 ty_RSLT prosca( vifl *_vct_1 , // 1er vecteur
215 vifl *_vct_2 , // 2e vecteur
216 ulong _nbr_elmts , // dimension des vecteurs
217
218 vifl *_prosca ); // résultat du produit scalaire
219
220 //******************************************************************************
221 // produit vectoriel de 2 vecteurs vifl de dimension 3 h
222
223 ty_RSLT provct( vifl *_vct_1 , // 1er vecteur
224 vifl *_vct_2 , // 2e vecteur
225
226 vifl *_vct_resu ); // vecteur résultat
227
228 //******************************************************************************
229 //
230 // "Root Mean Square"
231 // h
232
233 ty_RSLT rms_vct(vifl *_vct, ulong _nbr_elmts, vifl *_rms);
234
235 //******************************************************************************
236 //
237 // somme des éléments d'un vecteur vifl
238 // h
239
240 ty_RSLT smm_vct( vifl *_vct, ulong _nbr_elmts, vifl *_smm );
241
242 //******************************************************************************
243 //
244 // somme des éléments d'un vecteur vifl
245 // h
246
247 ty_RSLT smm_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl *_smm);
248
249 //******************************************************************************
250 //
251 // somme du carré des éléments d'un vecteur vifl
252 // h
253
254 ty_RSLT sm2_vct(vifl *_vct, ulong _nbr_elmts, vifl *_sm2);
255
256 //******************************************************************************
257 //
258 // somme du carré des éléments d'un vecteur vifl
259 // h
260
261 ty_RSLT sm2_vct_32x387(vifl *_vct, ulong _nbr_elmts, vifl *_sm2);
262
263
264
265
266
267 //**************************************************************************[-]*
268 //
269 // trouve si un élément est contenu dans un vecteur
270 // h
271
272 ty_RSLT trouve_element_dans_vecteur( ulong *_vecteur ,
273 ulong _nbr_elements ,
274 ulong _element );
275
276 ty_RSLT trouve_element_dans_vecteur( ulong *_vecteur ,
277 ulong _nbr_elements ,
278 ulong _element ,
279
280 ulong *_no_element ); // no (indice) de l'élément dans le vecteur (base 1) si trouvé
281
282 ty_RSLT trouve_ec_dans_2_vecteurs( ulong *_vecteur_1 ,
283 ulong *_vecteur_2 ,
284 ulong _nbr_elements );
285
286 ty_RSLT trouve_nec_dans_2_vecteurs( ulong *_vecteur_1 ,
287 ulong *_vecteur_2 ,
288 ulong _nbr_elements ,
289
290 ulong *_nec );
291
292
293
294
295 //******************************************************************************
296 //
297 // variance échantillonnalle des éléments d'un vecteur vifl
298 // h
299
300 ty_RSLT vre_vct(vifl *_vct, ulong _nbr_elmts, vifl *_vre);
301
302 //******************************************************************************
303 //
304 // variance "population" des éléments d'un vecteur vifl
305 // h
306
307 ty_RSLT vrp_vct(vifl *_vct, ulong _nbr_elmts, vifl *_vrp);
308
309 #endif

Properties

Name Value
svn:executable