ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/outil/src/ot_doubleprecision.h
Revision: 550
Committed: Fri Sep 12 22:11:15 2014 UTC (10 years, 8 months ago) by francois
Content type: text/plain
File size: 3954 byte(s)
Log Message:
ajout de fonctionnalite et debbugage a double2

File Contents

# User Rev Content
1 francois 283 //---------------------------------------------------------------------------
2    
3     #ifndef ot_doubleprecisionH
4     #define ot_doubleprecisionH
5     //---------------------------------------------------------------------------
6     #ifdef WINDOWS_VERSION
7     #ifdef BUILT_DLL_OUTIL
8     #define DLLPORTOUTIL __declspec(dllexport)
9     #else
10     #define DLLPORTOUTIL __declspec(dllimport)
11     #endif
12     #else
13     #define DLLPORTOUTIL
14     #endif
15    
16     #include <iostream>
17    
18     using namespace std;
19    
20 francois 550
21    
22    
23 francois 283 class DLLPORTOUTIL double2
24     {
25     public:
26     double2();
27 francois 550 double2(double val,double prec);
28 francois 283 double2(double val);
29     double2(double2& mdd);
30     double2(const double2 &mdd);
31     virtual ~double2();
32    
33     double2& operator=(const double2& val);
34     int operator==(double2& val);
35     int operator<(double2& val);
36     int operator<=(double2& val);
37     int operator>(double2& val);
38     int operator>=(double2& val);
39     int operator!=(double2& val);
40    
41 francois 550 static double EPS_RELATIF;
42 francois 283 friend double2 operator+(double2& val1,double2& val2);
43     friend double2 operator+(const double2& val1,const double2& val2);
44     friend double2 operator-(double2& val1,double2& val2);
45     friend double2 operator-(const double2& val1,const double2& val2);
46     friend double2 operator*(double2& val1,double2& val2);
47     friend double2 operator*(const double2& val1,const double2& val2);
48     friend double2 operator/(double2& val1,double2& val2);
49     friend double2 operator/(const double2& val1,const double2& val2);
50     friend double2 operator^(double2& val1,double n);
51     friend double2 operator^(const double2& val1,const double n);
52    
53     friend std::ostream& operator <<(std::ostream& os,const double2& m);
54     friend int operator==(const double2& val1,const double2& val2);
55     friend double2 cos(double2& val);
56     friend double2 cos(const double2& val);
57     friend double2 acos(double2& val);
58     friend double2 acos(const double2& val);
59     friend double2 sin(double2& val);
60     friend double2 sin(const double2& val);
61     friend double2 f2abs(double2& val);
62     friend double2 f2abs(const double2& val);
63     friend double2 asin(double2& val);
64     friend double2 asin(const double2& val);
65     friend double2 tan(double2& val);
66     friend double2 tan(const double2& val);
67     friend double2 atan(double2& val);
68     friend double2 atan(const double2& val);
69     friend double2 sqrt(double2&val);
70     friend double2 sqrt(const double2&val);
71     double2 get_fabs();
72    
73     double get_x();
74     double get_dx();
75     void set_dx(double ddx);
76     void set_x(double xx);
77     private:
78     double x;
79     double dx;
80     };
81    
82     DLLPORTOUTIL double2 operator+(double2& val1,double2& val2);
83     DLLPORTOUTIL double2 operator+(const double2& val1,const double2& val2);
84     DLLPORTOUTIL double2 operator-(double2& val1,double2& val2);
85     DLLPORTOUTIL double2 operator-(const double2& val1,const double2& val2);
86     DLLPORTOUTIL double2 operator*(double2& val1,double2& val2);
87     DLLPORTOUTIL double2 operator*(const double2& val1,const double2& val2);
88     DLLPORTOUTIL double2 operator/(double2& val1,double2& val2);
89     DLLPORTOUTIL double2 operator/(const double2& val1,const double2& val2);
90     DLLPORTOUTIL double2 operator^(double2& val1,double n);
91     DLLPORTOUTIL double2 operator^(const double2& val1,const double n);
92     DLLPORTOUTIL std::ostream& operator <<(std::ostream& os,const double2& m);
93     DLLPORTOUTIL int operator==(const double2& val1,const double2& val2);
94    
95    
96     DLLPORTOUTIL double2 cos(double2& val);
97     DLLPORTOUTIL double2 cos(const double2& val);
98     DLLPORTOUTIL double2 acos(double2& val);
99     DLLPORTOUTIL double2 acos(const double2& val);
100     DLLPORTOUTIL double2 sin(double2& val);
101     DLLPORTOUTIL double2 sin(const double2& val);
102     DLLPORTOUTIL double2 asin(double2& val);
103     DLLPORTOUTIL double2 asin(const double2& val);
104     DLLPORTOUTIL double2 tan(double2& val);
105     DLLPORTOUTIL double2 tan(const double2& val);
106     DLLPORTOUTIL double2 atan(double2& val);
107     DLLPORTOUTIL double2 atan(const double2& val);
108     DLLPORTOUTIL double2 sqrt(double2&val);
109     DLLPORTOUTIL double2 sqrt(const double2&val);
110    
111     #endif
112    
113    
114