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, 10 months ago) by picher
Content type: text/plain
File size: 13757 byte(s)
Log Message:
Projet d'optimisation

File Contents

# User Rev Content
1 picher 199 // (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