MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / dTestMatrixComparison

Function dTestMatrixComparison

3rd_party/Src/ode/ode/src/testing.cpp:158–243  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156
157
158extern "C" void dTestMatrixComparison()
159{
160 volatile int i;
161 printf ("dTestMatrixComparison()\n");
162 dMessageFunction *orig_debug = dGetDebugHandler();
163
164 dMatrixComparison mc;
165 dReal A[50*50];
166
167 // make first sequence
168 unsigned long seed = dRandGetSeed();
169 for (i=1; i<49; i++) {
170 dMakeRandomMatrix (A,i,i+1,1.0);
171 mc.nextMatrix (A,i,i+1,0,"A%d",i);
172 }
173 mc.end();
174
175 //mc.dump();
176
177 // test identical sequence
178 dSetDebugHandler (&myDebug);
179 dRandSetSeed (seed);
180 if (setjmp (jump_buffer)) {
181 printf ("\tFAILED (1)\n");
182 }
183 else {
184 for (i=1; i<49; i++) {
185 dMakeRandomMatrix (A,i,i+1,1.0);
186 mc.nextMatrix (A,i,i+1,0,"A%d",i);
187 }
188 mc.end();
189 printf ("\tpassed (1)\n");
190 }
191 dSetDebugHandler (orig_debug);
192
193 // test broken sequences (with matrix error)
194 dRandSetSeed (seed);
195 volatile int passcount = 0;
196 for (i=1; i<49; i++) {
197 if (setjmp (jump_buffer)) {
198 passcount++;
199 }
200 else {
201 dSetDebugHandler (&myDebug);
202 dMakeRandomMatrix (A,i,i+1,1.0);
203 A[(i-1)*dPAD(i+1)+i] += REAL(0.01);
204 mc.nextMatrix (A,i,i+1,0,"A%d",i);
205 dSetDebugHandler (orig_debug);
206 }
207 }
208 mc.end();
209 printf ("\t%s (2)\n",(passcount == 48) ? "passed" : "FAILED");
210
211 // test broken sequences (with name error)
212 dRandSetSeed (seed);
213 passcount = 0;
214 for (i=1; i<49; i++) {
215 if (setjmp (jump_buffer)) {

Callers

nothing calls this directly

Calls 7

dGetDebugHandlerFunction · 0.85
dRandGetSeedFunction · 0.85
dMakeRandomMatrixFunction · 0.85
dSetDebugHandlerFunction · 0.85
dRandSetSeedFunction · 0.85
nextMatrixMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected