ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/solveur/src/sl_vecteur.h
Revision: 253
Committed: Tue Jul 13 19:40:46 2010 UTC (14 years, 10 months ago) by francois
Content type: text/plain
File size: 2903 byte(s)
Log Message:
changement de hiearchie et utilisation de ccmake + mise a jour

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 souaissa 166 vecteur(double* v,int n);
36 souaissa 161 ~vecteur();
37     vecteur & operator=(const vecteur &); // Operator d'affectaion
38    
39    
40     int getDim() const; // Retourne la dimension du vecteur
41     void setDim(int ) ; // Modifie la dimension du vecteur
42    
43     int position(double ); // Retourne la position d'un élément
44     int positionDuSuivant(double); // retourne la position de l'élement suivant
45 souaissa 166
46 souaissa 161 void trier(); // Trie le vecteur
47    
48     double & operator [] (int) const; // Permet l'accès aux éléments d'un vecteur
49    
50     double norme_12(int un_ou_deux);
51    
52     friend vecteur operator+(const vecteur& , const vecteur& ) ;
53     friend vecteur operator-(const vecteur& , const vecteur& ) ;
54     friend double operator*(const vecteur& , const vecteur& ) ;
55    
56     friend vecteur operator*(double , const vecteur& ) ;
57     friend vecteur operator*(const vecteur& , double ) ;
58    
59     friend vecteur operator/(const vecteur& , double ) ;
60    
61     friend ostream & operator<<(ostream&, const vecteur& );
62     friend istream & operator>>(istream&, const vecteur&);
63    
64     vecteur & operator+=(const vecteur& );
65     vecteur & operator-=(const vecteur& );
66     vecteur & operator*=(double );
67    
68    
69     };
70     DLLPORTSOLVEUR vecteur operator+(const vecteur& , const vecteur& ) ;
71     DLLPORTSOLVEUR vecteur operator-(const vecteur& , const vecteur& ) ;
72     DLLPORTSOLVEUR double operator*(const vecteur& , const vecteur& ) ;
73    
74     DLLPORTSOLVEUR vecteur operator*(double , const vecteur&) ;
75     DLLPORTSOLVEUR vecteur operator*(const vecteur& , double ) ;
76    
77     DLLPORTSOLVEUR vecteur operator/(const vecteur& , double ) ;
78    
79     DLLPORTSOLVEUR ostream & operator<<(ostream&, const vecteur& );
80     DLLPORTSOLVEUR istream & operator>>(istream&, const vecteur&);
81    
82    
83    
84    
85     // #define ErreurVecteur
86     // #ifdef ErreurVecteur
87    
88     class DLLPORTSOLVEUR ErreurVecteur
89     {
90     public:
91     ErreurVecteur(int i=0);
92     ~ErreurVecteur();
93    
94     char * leMessage();
95     friend ostream & operator<<(ostream &, ErreurVecteur );
96    
97     private:
98     char *message;
99    
100    
101     };
102    
103     DLLPORTSOLVEUR ostream & operator<<(ostream &, ErreurVecteur );
104     // #endif
105    
106    
107    
108    
109    
110     #endif