ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/solveur/src/vecteur.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
Content type: text/plain
File size: 3024 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
2     //####//------------------------------------------------------------
3     //####// MAGiC
4     //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5     //####// Departement de Genie Mecanique - UQTR
6     //####//------------------------------------------------------------
7     //####// MAGIC est un projet de recherche de l equipe ERICCA
8     //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9     //####// http://www.uqtr.ca/ericca
10     //####// http://www.uqtr.ca/
11     //####//------------------------------------------------------------
12     //####//------------------------------------------------------------
13     //####//
14     //####// vecteur.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:57 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 souaissa 108
23     #ifndef sl_vecteurH
24     #define sl_vecteurH
25    
26     #include <iostream>
27     #include "matpleine.h"
28     #include "matcreuse.h"
29    
30    
31 francois 1158
32 souaissa 108 using namespace std;
33    
34 francois 1158 class Vecteur
35 souaissa 108 {
36     private:
37     double* Data;
38     int NbRows;
39     void alloc(int rows);
40     void free();
41     void copy(const Vecteur& x);
42     void fill(const double& a);
43     public:
44     friend class Matrix;
45     friend class MatrixCr;
46     Vecteur();
47     Vecteur(int rows);
48     Vecteur(const double& val,int rows);
49     Vecteur(const Vecteur& x);
50     ~Vecteur();
51    
52     int Get_Size(void)const;
53     double& operator[](int i);
54     double& operator()(int i);
55     const double& operator[](int i)const;
56     const double& operator()(int i)const;
57     void resize(int new_size);
58     Vecteur& operator=(const Vecteur& x);
59     Vecteur& operator+=(const Vecteur& x);
60     Vecteur& operator-=(const Vecteur& x);
61     Vecteur& operator*=(const double& a);
62     Vecteur& operator/=(const double& a);
63     double norm_Scal() ;
64     friend Vecteur operator+(const Vecteur& x, const Vecteur& y);
65     friend Vecteur operator-(const Vecteur& x, const Vecteur& y);
66     friend Vecteur operator*(const Vecteur& x, const double& a);
67     friend Vecteur operator*(const double& a, const Vecteur& x);
68     friend Vecteur operator/(const Vecteur& x, const double& a);
69    
70     friend double operator*(const Vecteur& x, const Vecteur& y);
71     friend ostream& operator <<(const ostream&, const Vecteur& y);
72     void affiche();
73     double Get_NormeUn();
74     double Get_NormeDeux();
75     int Get_size()const;
76    
77     };
78 francois 1158 double operator*(const Vecteur& x, const Vecteur& y);
79     Vecteur operator+(const Vecteur& x, const Vecteur& y);
80     Vecteur operator-(const Vecteur& x, const Vecteur& y);
81     Vecteur operator*(const Vecteur& x, const double& a);
82     Vecteur operator*(const double& a, const Vecteur& x);
83     Vecteur operator/(const Vecteur& x, const double& a);
84     ostream& operator <<(const ostream&, const Vecteur& y);
85 souaissa 108
86    
87    
88     #endif