Jpp  18.0.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JMathTestkit.hh
Go to the documentation of this file.
1 #ifndef __JMATHTESTKIT__
2 #define __JMATHTESTKIT__
3 
4 #include "TRandom3.h"
5 
6 #include "JMath/JMatrix1D.hh"
7 #include "JMath/JMatrix2D.hh"
8 #include "JMath/JMatrix3D.hh"
9 #include "JMath/JMatrix4D.hh"
10 #include "JMath/JMatrix5D.hh"
11 #include "JMath/JMatrix1S.hh"
12 #include "JMath/JMatrix2S.hh"
13 #include "JMath/JMatrix3S.hh"
14 #include "JMath/JMatrix4S.hh"
15 #include "JMath/JMatrix5S.hh"
16 #include "JMath/JRandom.hh"
17 
18 /**
19  * \author mdejong
20  */
21 
22 namespace JMATH {}
23 namespace JPP { using namespace JMATH; }
24 
25 namespace JMATH {
26 
27 
28  /**
29  * Randomize matrix.
30  *
31  * \param p pointer to valid object
32  */
33  inline void randomize(JMatrix1D* p)
34  {
35  new (p) JMatrix1D(getRandom<double>(-1.0, +1.0));
36  }
37 
38 
39  /**
40  * Randomize matrix.
41  *
42  * \param p pointer to valid object
43  */
44  inline void randomize(JMatrix2D* p)
45  {
46  new (p) JMatrix2D(getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
47  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
48  }
49 
50 
51  /**
52  * Randomize matrix.
53  *
54  * \param p pointer to valid object
55  */
56  inline void randomize(JMatrix3D* p)
57  {
58  new (p) JMatrix3D(getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
59  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
60  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
61  }
62 
63 
64  /**
65  * Randomize matrix.
66  *
67  * \param p pointer to valid object
68  */
69  inline void randomize(JMatrix4D* p)
70  {
71  new (p) JMatrix4D(getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
72  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
73  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
74  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
75  }
76 
77 
78  /**
79  * Randomize matrix.
80  *
81  * \param p pointer to valid object
82  */
83  inline void randomize(JMatrix5D* p)
84  {
85  new (p) JMatrix5D(getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
86  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
87  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
88  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
89  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
90  }
91 
92 
93  /**
94  * Randomize matrix.
95  *
96  * \param p pointer to valid object
97  */
98  inline void randomize(JMatrix1S* p)
99  {
100  new (p) JMatrix1S(getRandom<double>(-1.0, +1.0));
101  }
102 
103 
104  /**
105  * Randomize matrix.
106  *
107  * \param p pointer to valid object
108  */
109  inline void randomize(JMatrix2S* p)
110  {
111  new (p) JMatrix2S(getRandom<double>(-1.0,+1.0),
112  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
113 
114  p->a01 = p->a10;
115  }
116 
117 
118  /**
119  * Randomize matrix.
120  *
121  * \param p pointer to valid object
122  */
123  inline void randomize(JMatrix3S* p)
124  {
125  new (p) JMatrix3S(getRandom<double>(-1.0,+1.0),
126  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
127  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
128 
129  p->a01 = p->a10;
130  p->a02 = p->a20;
131  p->a12 = p->a21;
132  }
133 
134 
135  /**
136  * Randomize matrix.
137  *
138  * \param p pointer to valid object
139  */
140  inline void randomize(JMatrix4S* p)
141  {
142  new (p) JMatrix4S(getRandom<double>(-1.0,+1.0),
143  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
144  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
145  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
146 
147  p->a01 = p->a10;
148  p->a02 = p->a20;
149  p->a03 = p->a30;
150  p->a12 = p->a21;
151  p->a13 = p->a31;
152  p->a23 = p->a32;
153  }
154 
155 
156  /**
157  * Randomize matrix.
158  *
159  * \param p pointer to valid object
160  */
161  inline void randomize(JMatrix5S* p)
162  {
163  new (p) JMatrix5S(getRandom<double>(-1.0,+1.0),
164  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
165  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
166  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0),
167  getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0), getRandom<double>(-1.0,+1.0));
168 
169  p->a01 = p->a10;
170  p->a02 = p->a20;
171  p->a03 = p->a30;
172  p->a04 = p->a40;
173  p->a12 = p->a21;
174  p->a13 = p->a31;
175  p->a14 = p->a41;
176  p->a23 = p->a32;
177  p->a24 = p->a42;
178  p->a34 = p->a43;
179  }
180 }
181 
182 #endif
3 x 3 matrix
4 x 4 matrix
Definition: JMatrix4D.hh:33
Definition of random value generator.
1 x 1 matrix
Definition: JMatrix1D.hh:32
5 x 5 symmetric matrix
Definition: JMatrix5S.hh:26
2 x 2 symmetric matrix
Definition: JMatrix2S.hh:26
3 x 3 symmetric matrix
Definition: JMatrix3S.hh:29
5 x 5 matrix
Definition: JMatrix5D.hh:33
2 x 2 matrix
4 x 4 symmetric matrix
Definition: JMatrix4S.hh:26
void randomize(Vec *p)
Randomize 3D vector.
1 x 1 symmetric matrix
Definition: JMatrix1S.hh:26