ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/outil/src/ot_doubleprecision.h
Revision: 951
Committed: Fri Aug 10 15:17:17 2018 UTC (6 years, 9 months ago) by couturad
Content type: text/plain
File size: 3929 byte(s)
Log Message:
-> Ajout de Project Chrono (voir CMakeLists.txt).
-> Ajout d'un générateur de microstructure basé sur la dynamique des corps rigides (MSTRUCT_GENERATEUR_DCR).
-> Ajout d'un opérateur de décallage de la topologie (MG_CG_OP_TRANSF_DECALLAGE).
-> Retrait de «using namespace std»  (conflit avec namespace chrono) et modification des fichiers affectés.
-> Modification de mailleur2d.cpp afin d'enregistrer un fichier MAGiC (void.magic) lorsque le nombre d'itération dépasse la valeur maximale.

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     class DLLPORTOUTIL double2
19     {
20     public:
21     double2();
22 francois 550 double2(double val,double prec);
23 francois 283 double2(double val);
24     double2(double2& mdd);
25     double2(const double2 &mdd);
26     virtual ~double2();
27    
28     double2& operator=(const double2& val);
29     int operator==(double2& val);
30     int operator<(double2& val);
31     int operator<=(double2& val);
32     int operator>(double2& val);
33     int operator>=(double2& val);
34     int operator!=(double2& val);
35    
36 francois 550 static double EPS_RELATIF;
37 francois 283 friend double2 operator+(double2& val1,double2& val2);
38     friend double2 operator+(const double2& val1,const double2& val2);
39     friend double2 operator-(double2& val1,double2& val2);
40     friend double2 operator-(const double2& val1,const double2& val2);
41     friend double2 operator*(double2& val1,double2& val2);
42     friend double2 operator*(const double2& val1,const double2& val2);
43     friend double2 operator/(double2& val1,double2& val2);
44     friend double2 operator/(const double2& val1,const double2& val2);
45     friend double2 operator^(double2& val1,double n);
46     friend double2 operator^(const double2& val1,const double n);
47    
48     friend std::ostream& operator <<(std::ostream& os,const double2& m);
49     friend int operator==(const double2& val1,const double2& val2);
50     friend double2 cos(double2& val);
51     friend double2 cos(const double2& val);
52     friend double2 acos(double2& val);
53     friend double2 acos(const double2& val);
54     friend double2 sin(double2& val);
55     friend double2 sin(const double2& val);
56     friend double2 f2abs(double2& val);
57     friend double2 f2abs(const double2& val);
58     friend double2 asin(double2& val);
59     friend double2 asin(const double2& val);
60     friend double2 tan(double2& val);
61     friend double2 tan(const double2& val);
62     friend double2 atan(double2& val);
63     friend double2 atan(const double2& val);
64     friend double2 sqrt(double2&val);
65     friend double2 sqrt(const double2&val);
66     double2 get_fabs();
67    
68     double get_x();
69     double get_dx();
70     void set_dx(double ddx);
71     void set_x(double xx);
72     private:
73     double x;
74     double dx;
75     };
76    
77     DLLPORTOUTIL double2 operator+(double2& val1,double2& val2);
78     DLLPORTOUTIL double2 operator+(const double2& val1,const double2& val2);
79     DLLPORTOUTIL double2 operator-(double2& val1,double2& val2);
80     DLLPORTOUTIL double2 operator-(const double2& val1,const double2& val2);
81     DLLPORTOUTIL double2 operator*(double2& val1,double2& val2);
82     DLLPORTOUTIL double2 operator*(const double2& val1,const double2& val2);
83     DLLPORTOUTIL double2 operator/(double2& val1,double2& val2);
84     DLLPORTOUTIL double2 operator/(const double2& val1,const double2& val2);
85     DLLPORTOUTIL double2 operator^(double2& val1,double n);
86     DLLPORTOUTIL double2 operator^(const double2& val1,const double n);
87     DLLPORTOUTIL std::ostream& operator <<(std::ostream& os,const double2& m);
88     DLLPORTOUTIL int operator==(const double2& val1,const double2& val2);
89    
90    
91     DLLPORTOUTIL double2 cos(double2& val);
92     DLLPORTOUTIL double2 cos(const double2& val);
93     DLLPORTOUTIL double2 acos(double2& val);
94     DLLPORTOUTIL double2 acos(const double2& val);
95     DLLPORTOUTIL double2 sin(double2& val);
96     DLLPORTOUTIL double2 sin(const double2& val);
97     DLLPORTOUTIL double2 asin(double2& val);
98     DLLPORTOUTIL double2 asin(const double2& val);
99     DLLPORTOUTIL double2 tan(double2& val);
100     DLLPORTOUTIL double2 tan(const double2& val);
101     DLLPORTOUTIL double2 atan(double2& val);
102     DLLPORTOUTIL double2 atan(const double2& val);
103     DLLPORTOUTIL double2 sqrt(double2&val);
104     DLLPORTOUTIL double2 sqrt(const double2&val);
105    
106     #endif
107    
108    
109