]> SALOME platform Git repositories - tools/solverlab.git/blob - CDMATH/base/inc/DoubleTab.hxx
Salome HOME
Renamed test names
[tools/solverlab.git] / CDMATH / base / inc / DoubleTab.hxx
1 /*
2  * DoubleTab.hxx
3  *
4  *  Created on: 22 févr. 2013
5  *      Author: mekkas
6  */
7
8 #ifndef DOUBLETAB_HXX_
9 #define DOUBLETAB_HXX_
10
11 #include <iostream>
12
13 class DoubleTab
14 {
15         public://----------------------------------------------------------------
16
17         DoubleTab();
18
19         DoubleTab(const int size);
20
21         DoubleTab(const int size, double initialValue);
22
23         DoubleTab(const DoubleTab& dt);
24
25         DoubleTab(const int size, const double* value) ;
26
27         void resize(const int size) ;
28
29         ~DoubleTab();
30
31         int size() const;
32
33         double* getPointer(void) ;
34
35         double* getValues(void) const ;
36
37         double max() const ;
38
39         double min() const ;
40
41         DoubleTab & operator=(const DoubleTab & dt);
42
43         DoubleTab & operator=(double value);
44
45         double & operator[](int i);
46
47         const double & operator[](int i) const;
48
49         double & operator()(int i);
50
51         const double & operator()(int i) const;
52
53         DoubleTab& operator+=(const DoubleTab& dt);
54
55         DoubleTab& operator+=(double value);
56
57         DoubleTab& operator-=(const DoubleTab& dt);
58
59         DoubleTab& operator-=(double value);
60
61         DoubleTab& operator*= (double value) ;
62
63         DoubleTab& operator/= (double value) ;
64
65         friend DoubleTab operator+ (const DoubleTab& U, const DoubleTab& V) ;
66
67         friend DoubleTab operator- (const DoubleTab& U, const DoubleTab& V) ;
68
69     friend DoubleTab operator*(double value , const DoubleTab& V) ;
70
71     friend DoubleTab operator*(const DoubleTab& U, double value ) ;
72
73         friend DoubleTab operator/(const DoubleTab& U, double value ) ;
74
75         friend double  operator* (const DoubleTab& U, const DoubleTab& V) ;
76
77         friend std::ostream& operator<<(std::ostream& out, const DoubleTab& U ) ;
78
79         private://----------------------------------------------------------------
80         /*
81          * Values.
82          */
83         double* _values;
84
85         /*
86          * number of elements.
87          */
88         int _numberOfElements;
89 };
90
91
92 #endif /* DOUBLETAB_HXX_ */