ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/solveur/src/sl_vecteur.h
Revision: 161
Committed: Thu Sep 18 16:04:06 2008 UTC (16 years, 7 months ago) by souaissa
Content type: text/plain
Original Path: magic/lib/solveur/solveur/src/sl_vecteur.h
File size: 2875 byte(s)
Log Message:
mise a jour du solveur

File Contents

# User Rev Content
1 souaissa 161 //---------------------------------------------------------------------------
2    
3     #ifndef sl_vecteurH
4     #define sl_vecteurH
5     //---------------------------------------------------------------------------
6    
7     #include <iostream.h>
8     #include <math.h>
9    
10     #ifdef WINDOWS_VERSION
11     #ifdef BUILT_DLL_SOLVEUR
12     #define DLLPORTSOLVEUR __declspec(dllexport)
13     #else
14     #define DLLPORTSOLVEUR __declspec(dllimport)
15     #endif
16     #else
17     #define DLLPORTSOLVEUR
18     #endif
19    
20     class DLLPORTSOLVEUR MatCr;
21     class DLLPORTSOLVEUR Matrice;
22     class DLLPORTSOLVEUR vecteur
23    
24     {
25     protected:
26     int dim;
27     double *vect;
28    
29     public:
30    
31     friend class DLLPORTSOLVEUR MatCr;
32     friend class DLLPORTSOLVEUR Matrice;
33     vecteur(int n=0);
34     vecteur(vecteur &);
35     ~vecteur();
36     vecteur & operator=(const vecteur &); // Operator d'affectaion
37    
38    
39     int getDim() const; // Retourne la dimension du vecteur
40     void setDim(int ) ; // Modifie la dimension du vecteur
41    
42     int position(double ); // Retourne la position d'un élément
43     int positionDuSuivant(double); // retourne la position de l'élement suivant
44    
45     void trier(); // Trie le vecteur
46    
47     double & operator [] (int) const; // Permet l'accès aux éléments d'un vecteur
48    
49     double norme_12(int un_ou_deux);
50    
51     friend vecteur operator+(const vecteur& , const vecteur& ) ;
52     friend vecteur operator-(const vecteur& , const vecteur& ) ;
53     friend double operator*(const vecteur& , const vecteur& ) ;
54    
55     friend vecteur operator*(double , const vecteur& ) ;
56     friend vecteur operator*(const vecteur& , double ) ;
57    
58     friend vecteur operator/(const vecteur& , double ) ;
59    
60     friend ostream & operator<<(ostream&, const vecteur& );
61     friend istream & operator>>(istream&, const vecteur&);
62    
63     vecteur & operator+=(const vecteur& );
64     vecteur & operator-=(const vecteur& );
65     vecteur & operator*=(double );
66    
67    
68     };
69     DLLPORTSOLVEUR vecteur operator+(const vecteur& , const vecteur& ) ;
70     DLLPORTSOLVEUR vecteur operator-(const vecteur& , const vecteur& ) ;
71     DLLPORTSOLVEUR double operator*(const vecteur& , const vecteur& ) ;
72    
73     DLLPORTSOLVEUR vecteur operator*(double , const vecteur&) ;
74     DLLPORTSOLVEUR vecteur operator*(const vecteur& , double ) ;
75    
76     DLLPORTSOLVEUR vecteur operator/(const vecteur& , double ) ;
77    
78     DLLPORTSOLVEUR ostream & operator<<(ostream&, const vecteur& );
79     DLLPORTSOLVEUR istream & operator>>(istream&, const vecteur&);
80    
81    
82    
83    
84     // #define ErreurVecteur
85     // #ifdef ErreurVecteur
86    
87     class DLLPORTSOLVEUR ErreurVecteur
88     {
89     public:
90     ErreurVecteur(int i=0);
91     ~ErreurVecteur();
92    
93     char * leMessage();
94     friend ostream & operator<<(ostream &, ErreurVecteur );
95    
96     private:
97     char *message;
98    
99    
100     };
101    
102     DLLPORTSOLVEUR ostream & operator<<(ostream &, ErreurVecteur );
103     // #endif
104    
105    
106    
107    
108    
109     #endif