Line data Source code
1 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
3 : !!!! !!!!
4 : !!!! ParaMonte: Parallel Monte Carlo and Machine Learning Library. !!!!
5 : !!!! !!!!
6 : !!!! Copyright (C) 2012-present, The Computational Data Science Lab !!!!
7 : !!!! !!!!
8 : !!!! This file is part of the ParaMonte library. !!!!
9 : !!!! !!!!
10 : !!!! LICENSE !!!!
11 : !!!! !!!!
12 : !!!! https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md !!!!
13 : !!!! !!!!
14 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
15 : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16 :
17 : !> \brief
18 : !> This file contains procedure implementations of [pm_distanceMahal](@ref pm_distanceMahal).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Oct 16, 2009, 11:14 AM, Michigan
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_distanceMahal) routines ! LCOV_EXCL_LINE
28 :
29 : #if CHECK_ENABLED
30 : use pm_err, only: getFine
31 : use pm_val2str, only: getStr
32 : use pm_err, only: setAsserted
33 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) \
34 : call setAsserted(ASSERTION,getFine(__FILE__,LINE)//MODULE_NAME//MSG);
35 : #else
36 : #define CHECK_ASSERTION(LINE,ASSERTION,MSG) continue;
37 : #endif
38 :
39 : use pm_matrixClass, only: isMatClass, posdefmat
40 : implicit none
41 :
42 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
43 :
44 : contains
45 :
46 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47 :
48 : #define getMahalSq_ENABLED 1
49 :
50 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 :
54 : #define D0_ENABLED 1
55 :
56 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : #define InvDef_ENABLED 1
61 :
62 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 :
64 : #define CK_ENABLED 1
65 :
66 : #if CK5_ENABLED
67 : module procedure getMahalSqEleInvDef_D0_CK5
68 : use pm_kind, only: CKC => CK5
69 : #include "pm_distanceMahal@routines.inc.F90"
70 : end procedure
71 : #endif
72 :
73 : #if CK4_ENABLED
74 0 : module procedure getMahalSqEleInvDef_D0_CK4
75 : use pm_kind, only: CKC => CK4
76 : #include "pm_distanceMahal@routines.inc.F90"
77 0 : end procedure
78 : #endif
79 :
80 : #if CK3_ENABLED
81 0 : module procedure getMahalSqEleInvDef_D0_CK3
82 : use pm_kind, only: CKC => CK3
83 : #include "pm_distanceMahal@routines.inc.F90"
84 0 : end procedure
85 : #endif
86 :
87 : #if CK2_ENABLED
88 0 : module procedure getMahalSqEleInvDef_D0_CK2
89 : use pm_kind, only: CKC => CK2
90 : #include "pm_distanceMahal@routines.inc.F90"
91 0 : end procedure
92 : #endif
93 :
94 : #if CK1_ENABLED
95 6 : module procedure getMahalSqEleInvDef_D0_CK1
96 : use pm_kind, only: CKC => CK1
97 : #include "pm_distanceMahal@routines.inc.F90"
98 6 : end procedure
99 : #endif
100 :
101 : #undef CK_ENABLED
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 :
105 : #define RK_ENABLED 1
106 :
107 : #if RK5_ENABLED
108 : module procedure getMahalSqEleInvDef_D0_RK5
109 : use pm_kind, only: RKC => RK5
110 : #include "pm_distanceMahal@routines.inc.F90"
111 : end procedure
112 : #endif
113 :
114 : #if RK4_ENABLED
115 0 : module procedure getMahalSqEleInvDef_D0_RK4
116 : use pm_kind, only: RKC => RK4
117 : #include "pm_distanceMahal@routines.inc.F90"
118 0 : end procedure
119 : #endif
120 :
121 : #if RK3_ENABLED
122 0 : module procedure getMahalSqEleInvDef_D0_RK3
123 : use pm_kind, only: RKC => RK3
124 : #include "pm_distanceMahal@routines.inc.F90"
125 0 : end procedure
126 : #endif
127 :
128 : #if RK2_ENABLED
129 0 : module procedure getMahalSqEleInvDef_D0_RK2
130 : use pm_kind, only: RKC => RK2
131 : #include "pm_distanceMahal@routines.inc.F90"
132 0 : end procedure
133 : #endif
134 :
135 : #if RK1_ENABLED
136 6 : module procedure getMahalSqEleInvDef_D0_RK1
137 : use pm_kind, only: RKC => RK1
138 : #include "pm_distanceMahal@routines.inc.F90"
139 6 : end procedure
140 : #endif
141 :
142 : #undef RK_ENABLED
143 :
144 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 :
146 : #undef InvDef_ENABLED
147 :
148 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
149 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
151 :
152 : #define InvCen_ENABLED 1
153 :
154 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
155 :
156 : #define CK_ENABLED 1
157 :
158 : #if CK5_ENABLED
159 : module procedure getMahalSqEleInvCen_D0_CK5
160 : use pm_kind, only: CKC => CK5
161 : #include "pm_distanceMahal@routines.inc.F90"
162 : end procedure
163 : #endif
164 :
165 : #if CK4_ENABLED
166 0 : module procedure getMahalSqEleInvCen_D0_CK4
167 : use pm_kind, only: CKC => CK4
168 : #include "pm_distanceMahal@routines.inc.F90"
169 0 : end procedure
170 : #endif
171 :
172 : #if CK3_ENABLED
173 0 : module procedure getMahalSqEleInvCen_D0_CK3
174 : use pm_kind, only: CKC => CK3
175 : #include "pm_distanceMahal@routines.inc.F90"
176 0 : end procedure
177 : #endif
178 :
179 : #if CK2_ENABLED
180 0 : module procedure getMahalSqEleInvCen_D0_CK2
181 : use pm_kind, only: CKC => CK2
182 : #include "pm_distanceMahal@routines.inc.F90"
183 0 : end procedure
184 : #endif
185 :
186 : #if CK1_ENABLED
187 6 : module procedure getMahalSqEleInvCen_D0_CK1
188 : use pm_kind, only: CKC => CK1
189 : #include "pm_distanceMahal@routines.inc.F90"
190 6 : end procedure
191 : #endif
192 :
193 : #undef CK_ENABLED
194 :
195 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
196 :
197 : #define RK_ENABLED 1
198 :
199 : #if RK5_ENABLED
200 : module procedure getMahalSqEleInvCen_D0_RK5
201 : use pm_kind, only: RKC => RK5
202 : #include "pm_distanceMahal@routines.inc.F90"
203 : end procedure
204 : #endif
205 :
206 : #if RK4_ENABLED
207 0 : module procedure getMahalSqEleInvCen_D0_RK4
208 : use pm_kind, only: RKC => RK4
209 : #include "pm_distanceMahal@routines.inc.F90"
210 0 : end procedure
211 : #endif
212 :
213 : #if RK3_ENABLED
214 0 : module procedure getMahalSqEleInvCen_D0_RK3
215 : use pm_kind, only: RKC => RK3
216 : #include "pm_distanceMahal@routines.inc.F90"
217 0 : end procedure
218 : #endif
219 :
220 : #if RK2_ENABLED
221 0 : module procedure getMahalSqEleInvCen_D0_RK2
222 : use pm_kind, only: RKC => RK2
223 : #include "pm_distanceMahal@routines.inc.F90"
224 0 : end procedure
225 : #endif
226 :
227 : #if RK1_ENABLED
228 6 : module procedure getMahalSqEleInvCen_D0_RK1
229 : use pm_kind, only: RKC => RK1
230 : #include "pm_distanceMahal@routines.inc.F90"
231 6 : end procedure
232 : #endif
233 :
234 : #undef RK_ENABLED
235 :
236 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
237 :
238 : #undef InvCen_ENABLED
239 :
240 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
241 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
242 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
243 :
244 : #undef D0_ENABLED
245 :
246 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
247 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
248 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249 :
250 : #define One_ENABLED 1
251 :
252 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
253 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
254 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
255 :
256 : #define D1_ENABLED 1
257 :
258 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 :
262 : #define InvDef_ENABLED 1
263 :
264 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265 :
266 : #define CK_ENABLED 1
267 :
268 : #if CK5_ENABLED
269 : module procedure getMahalSqOneInvDef_D1_CK5
270 : use pm_kind, only: CKC => CK5
271 : #include "pm_distanceMahal@routines.inc.F90"
272 : end procedure
273 : #endif
274 :
275 : #if CK4_ENABLED
276 0 : module procedure getMahalSqOneInvDef_D1_CK4
277 : use pm_kind, only: CKC => CK4
278 : #include "pm_distanceMahal@routines.inc.F90"
279 0 : end procedure
280 : #endif
281 :
282 : #if CK3_ENABLED
283 0 : module procedure getMahalSqOneInvDef_D1_CK3
284 : use pm_kind, only: CKC => CK3
285 : #include "pm_distanceMahal@routines.inc.F90"
286 0 : end procedure
287 : #endif
288 :
289 : #if CK2_ENABLED
290 0 : module procedure getMahalSqOneInvDef_D1_CK2
291 : use pm_kind, only: CKC => CK2
292 : #include "pm_distanceMahal@routines.inc.F90"
293 0 : end procedure
294 : #endif
295 :
296 : #if CK1_ENABLED
297 1 : module procedure getMahalSqOneInvDef_D1_CK1
298 : use pm_kind, only: CKC => CK1
299 : #include "pm_distanceMahal@routines.inc.F90"
300 1 : end procedure
301 : #endif
302 :
303 : #undef CK_ENABLED
304 :
305 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
306 :
307 : #define RK_ENABLED 1
308 :
309 : #if RK5_ENABLED
310 : module procedure getMahalSqOneInvDef_D1_RK5
311 : use pm_kind, only: RKC => RK5
312 : #include "pm_distanceMahal@routines.inc.F90"
313 : end procedure
314 : #endif
315 :
316 : #if RK4_ENABLED
317 0 : module procedure getMahalSqOneInvDef_D1_RK4
318 : use pm_kind, only: RKC => RK4
319 : #include "pm_distanceMahal@routines.inc.F90"
320 0 : end procedure
321 : #endif
322 :
323 : #if RK3_ENABLED
324 0 : module procedure getMahalSqOneInvDef_D1_RK3
325 : use pm_kind, only: RKC => RK3
326 : #include "pm_distanceMahal@routines.inc.F90"
327 0 : end procedure
328 : #endif
329 :
330 : #if RK2_ENABLED
331 0 : module procedure getMahalSqOneInvDef_D1_RK2
332 : use pm_kind, only: RKC => RK2
333 : #include "pm_distanceMahal@routines.inc.F90"
334 0 : end procedure
335 : #endif
336 :
337 : #if RK1_ENABLED
338 1 : module procedure getMahalSqOneInvDef_D1_RK1
339 : use pm_kind, only: RKC => RK1
340 : #include "pm_distanceMahal@routines.inc.F90"
341 1 : end procedure
342 : #endif
343 :
344 : #undef RK_ENABLED
345 :
346 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
347 :
348 : #undef InvDef_ENABLED
349 :
350 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
351 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
352 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
353 :
354 : #define InvCen_ENABLED 1
355 :
356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357 :
358 : #define CK_ENABLED 1
359 :
360 : #if CK5_ENABLED
361 : module procedure getMahalSqOneInvCen_D1_CK5
362 : use pm_kind, only: CKC => CK5
363 : #include "pm_distanceMahal@routines.inc.F90"
364 : end procedure
365 : #endif
366 :
367 : #if CK4_ENABLED
368 0 : module procedure getMahalSqOneInvCen_D1_CK4
369 : use pm_kind, only: CKC => CK4
370 : #include "pm_distanceMahal@routines.inc.F90"
371 0 : end procedure
372 : #endif
373 :
374 : #if CK3_ENABLED
375 0 : module procedure getMahalSqOneInvCen_D1_CK3
376 : use pm_kind, only: CKC => CK3
377 : #include "pm_distanceMahal@routines.inc.F90"
378 0 : end procedure
379 : #endif
380 :
381 : #if CK2_ENABLED
382 0 : module procedure getMahalSqOneInvCen_D1_CK2
383 : use pm_kind, only: CKC => CK2
384 : #include "pm_distanceMahal@routines.inc.F90"
385 0 : end procedure
386 : #endif
387 :
388 : #if CK1_ENABLED
389 1 : module procedure getMahalSqOneInvCen_D1_CK1
390 : use pm_kind, only: CKC => CK1
391 : #include "pm_distanceMahal@routines.inc.F90"
392 1 : end procedure
393 : #endif
394 :
395 : #undef CK_ENABLED
396 :
397 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
398 :
399 : #define RK_ENABLED 1
400 :
401 : #if RK5_ENABLED
402 : module procedure getMahalSqOneInvCen_D1_RK5
403 : use pm_kind, only: RKC => RK5
404 : #include "pm_distanceMahal@routines.inc.F90"
405 : end procedure
406 : #endif
407 :
408 : #if RK4_ENABLED
409 0 : module procedure getMahalSqOneInvCen_D1_RK4
410 : use pm_kind, only: RKC => RK4
411 : #include "pm_distanceMahal@routines.inc.F90"
412 0 : end procedure
413 : #endif
414 :
415 : #if RK3_ENABLED
416 0 : module procedure getMahalSqOneInvCen_D1_RK3
417 : use pm_kind, only: RKC => RK3
418 : #include "pm_distanceMahal@routines.inc.F90"
419 0 : end procedure
420 : #endif
421 :
422 : #if RK2_ENABLED
423 250004 : module procedure getMahalSqOneInvCen_D1_RK2
424 : use pm_kind, only: RKC => RK2
425 : #include "pm_distanceMahal@routines.inc.F90"
426 250004 : end procedure
427 : #endif
428 :
429 : #if RK1_ENABLED
430 1 : module procedure getMahalSqOneInvCen_D1_RK1
431 : use pm_kind, only: RKC => RK1
432 : #include "pm_distanceMahal@routines.inc.F90"
433 1 : end procedure
434 : #endif
435 :
436 : #undef RK_ENABLED
437 :
438 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
439 :
440 : #undef InvCen_ENABLED
441 :
442 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
443 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
444 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
445 :
446 : #undef D1_ENABLED
447 :
448 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
449 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
450 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
451 :
452 : #define D2_ENABLED 1
453 :
454 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
455 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
456 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
457 :
458 : #define InvDef_ENABLED 1
459 :
460 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
461 :
462 : #define CK_ENABLED 1
463 :
464 : #if CK5_ENABLED
465 : module procedure getMahalSqOneInvDef_D2_CK5
466 : use pm_kind, only: CKC => CK5
467 : #include "pm_distanceMahal@routines.inc.F90"
468 : end procedure
469 : #endif
470 :
471 : #if CK4_ENABLED
472 0 : module procedure getMahalSqOneInvDef_D2_CK4
473 : use pm_kind, only: CKC => CK4
474 : #include "pm_distanceMahal@routines.inc.F90"
475 0 : end procedure
476 : #endif
477 :
478 : #if CK3_ENABLED
479 0 : module procedure getMahalSqOneInvDef_D2_CK3
480 : use pm_kind, only: CKC => CK3
481 : #include "pm_distanceMahal@routines.inc.F90"
482 0 : end procedure
483 : #endif
484 :
485 : #if CK2_ENABLED
486 0 : module procedure getMahalSqOneInvDef_D2_CK2
487 : use pm_kind, only: CKC => CK2
488 : #include "pm_distanceMahal@routines.inc.F90"
489 0 : end procedure
490 : #endif
491 :
492 : #if CK1_ENABLED
493 1 : module procedure getMahalSqOneInvDef_D2_CK1
494 : use pm_kind, only: CKC => CK1
495 : #include "pm_distanceMahal@routines.inc.F90"
496 1 : end procedure
497 : #endif
498 :
499 : #undef CK_ENABLED
500 :
501 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
502 :
503 : #define RK_ENABLED 1
504 :
505 : #if RK5_ENABLED
506 : module procedure getMahalSqOneInvDef_D2_RK5
507 : use pm_kind, only: RKC => RK5
508 : #include "pm_distanceMahal@routines.inc.F90"
509 : end procedure
510 : #endif
511 :
512 : #if RK4_ENABLED
513 0 : module procedure getMahalSqOneInvDef_D2_RK4
514 : use pm_kind, only: RKC => RK4
515 : #include "pm_distanceMahal@routines.inc.F90"
516 0 : end procedure
517 : #endif
518 :
519 : #if RK3_ENABLED
520 0 : module procedure getMahalSqOneInvDef_D2_RK3
521 : use pm_kind, only: RKC => RK3
522 : #include "pm_distanceMahal@routines.inc.F90"
523 0 : end procedure
524 : #endif
525 :
526 : #if RK2_ENABLED
527 0 : module procedure getMahalSqOneInvDef_D2_RK2
528 : use pm_kind, only: RKC => RK2
529 : #include "pm_distanceMahal@routines.inc.F90"
530 0 : end procedure
531 : #endif
532 :
533 : #if RK1_ENABLED
534 1 : module procedure getMahalSqOneInvDef_D2_RK1
535 : use pm_kind, only: RKC => RK1
536 : #include "pm_distanceMahal@routines.inc.F90"
537 1 : end procedure
538 : #endif
539 :
540 : #undef RK_ENABLED
541 :
542 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543 :
544 : #undef InvDef_ENABLED
545 :
546 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
547 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
548 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
549 :
550 : #define InvCen_ENABLED 1
551 :
552 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
553 :
554 : #define CK_ENABLED 1
555 :
556 : #if CK5_ENABLED
557 : module procedure getMahalSqOneInvCen_D2_CK5
558 : use pm_kind, only: CKC => CK5
559 : #include "pm_distanceMahal@routines.inc.F90"
560 : end procedure
561 : #endif
562 :
563 : #if CK4_ENABLED
564 0 : module procedure getMahalSqOneInvCen_D2_CK4
565 : use pm_kind, only: CKC => CK4
566 : #include "pm_distanceMahal@routines.inc.F90"
567 0 : end procedure
568 : #endif
569 :
570 : #if CK3_ENABLED
571 0 : module procedure getMahalSqOneInvCen_D2_CK3
572 : use pm_kind, only: CKC => CK3
573 : #include "pm_distanceMahal@routines.inc.F90"
574 0 : end procedure
575 : #endif
576 :
577 : #if CK2_ENABLED
578 0 : module procedure getMahalSqOneInvCen_D2_CK2
579 : use pm_kind, only: CKC => CK2
580 : #include "pm_distanceMahal@routines.inc.F90"
581 0 : end procedure
582 : #endif
583 :
584 : #if CK1_ENABLED
585 1 : module procedure getMahalSqOneInvCen_D2_CK1
586 : use pm_kind, only: CKC => CK1
587 : #include "pm_distanceMahal@routines.inc.F90"
588 1 : end procedure
589 : #endif
590 :
591 : #undef CK_ENABLED
592 :
593 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
594 :
595 : #define RK_ENABLED 1
596 :
597 : #if RK5_ENABLED
598 : module procedure getMahalSqOneInvCen_D2_RK5
599 : use pm_kind, only: RKC => RK5
600 : #include "pm_distanceMahal@routines.inc.F90"
601 : end procedure
602 : #endif
603 :
604 : #if RK4_ENABLED
605 0 : module procedure getMahalSqOneInvCen_D2_RK4
606 : use pm_kind, only: RKC => RK4
607 : #include "pm_distanceMahal@routines.inc.F90"
608 0 : end procedure
609 : #endif
610 :
611 : #if RK3_ENABLED
612 0 : module procedure getMahalSqOneInvCen_D2_RK3
613 : use pm_kind, only: RKC => RK3
614 : #include "pm_distanceMahal@routines.inc.F90"
615 0 : end procedure
616 : #endif
617 :
618 : #if RK2_ENABLED
619 0 : module procedure getMahalSqOneInvCen_D2_RK2
620 : use pm_kind, only: RKC => RK2
621 : #include "pm_distanceMahal@routines.inc.F90"
622 0 : end procedure
623 : #endif
624 :
625 : #if RK1_ENABLED
626 1 : module procedure getMahalSqOneInvCen_D2_RK1
627 : use pm_kind, only: RKC => RK1
628 : #include "pm_distanceMahal@routines.inc.F90"
629 1 : end procedure
630 : #endif
631 :
632 : #undef RK_ENABLED
633 :
634 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
635 :
636 : #undef InvCen_ENABLED
637 :
638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
640 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
641 :
642 : #undef D2_ENABLED
643 :
644 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
645 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
646 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
647 :
648 : #undef One_ENABLED
649 :
650 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
651 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
652 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
653 :
654 : #define Mix_ENABLED 1
655 :
656 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
657 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
658 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
659 :
660 : #define D1_ENABLED 1
661 :
662 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
663 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
664 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
665 :
666 : #define InvDef_ENABLED 1
667 :
668 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
669 :
670 : #define CK_ENABLED 1
671 :
672 : #if CK5_ENABLED
673 : module procedure getMahalSqMixInvDef_D1_CK5
674 : use pm_kind, only: CKC => CK5
675 : #include "pm_distanceMahal@routines.inc.F90"
676 : end procedure
677 : #endif
678 :
679 : #if CK4_ENABLED
680 0 : module procedure getMahalSqMixInvDef_D1_CK4
681 : use pm_kind, only: CKC => CK4
682 : #include "pm_distanceMahal@routines.inc.F90"
683 0 : end procedure
684 : #endif
685 :
686 : #if CK3_ENABLED
687 0 : module procedure getMahalSqMixInvDef_D1_CK3
688 : use pm_kind, only: CKC => CK3
689 : #include "pm_distanceMahal@routines.inc.F90"
690 0 : end procedure
691 : #endif
692 :
693 : #if CK2_ENABLED
694 0 : module procedure getMahalSqMixInvDef_D1_CK2
695 : use pm_kind, only: CKC => CK2
696 : #include "pm_distanceMahal@routines.inc.F90"
697 0 : end procedure
698 : #endif
699 :
700 : #if CK1_ENABLED
701 1 : module procedure getMahalSqMixInvDef_D1_CK1
702 : use pm_kind, only: CKC => CK1
703 : #include "pm_distanceMahal@routines.inc.F90"
704 1 : end procedure
705 : #endif
706 :
707 : #undef CK_ENABLED
708 :
709 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
710 :
711 : #define RK_ENABLED 1
712 :
713 : #if RK5_ENABLED
714 : module procedure getMahalSqMixInvDef_D1_RK5
715 : use pm_kind, only: RKC => RK5
716 : #include "pm_distanceMahal@routines.inc.F90"
717 : end procedure
718 : #endif
719 :
720 : #if RK4_ENABLED
721 0 : module procedure getMahalSqMixInvDef_D1_RK4
722 : use pm_kind, only: RKC => RK4
723 : #include "pm_distanceMahal@routines.inc.F90"
724 0 : end procedure
725 : #endif
726 :
727 : #if RK3_ENABLED
728 0 : module procedure getMahalSqMixInvDef_D1_RK3
729 : use pm_kind, only: RKC => RK3
730 : #include "pm_distanceMahal@routines.inc.F90"
731 0 : end procedure
732 : #endif
733 :
734 : #if RK2_ENABLED
735 0 : module procedure getMahalSqMixInvDef_D1_RK2
736 : use pm_kind, only: RKC => RK2
737 : #include "pm_distanceMahal@routines.inc.F90"
738 0 : end procedure
739 : #endif
740 :
741 : #if RK1_ENABLED
742 1 : module procedure getMahalSqMixInvDef_D1_RK1
743 : use pm_kind, only: RKC => RK1
744 : #include "pm_distanceMahal@routines.inc.F90"
745 1 : end procedure
746 : #endif
747 :
748 : #undef RK_ENABLED
749 :
750 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
751 :
752 : #undef InvDef_ENABLED
753 :
754 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
755 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
756 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
757 :
758 : #define InvCen_ENABLED 1
759 :
760 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
761 :
762 : #define CK_ENABLED 1
763 :
764 : #if CK5_ENABLED
765 : module procedure getMahalSqMixInvCen_D1_CK5
766 : use pm_kind, only: CKC => CK5
767 : #include "pm_distanceMahal@routines.inc.F90"
768 : end procedure
769 : #endif
770 :
771 : #if CK4_ENABLED
772 0 : module procedure getMahalSqMixInvCen_D1_CK4
773 : use pm_kind, only: CKC => CK4
774 : #include "pm_distanceMahal@routines.inc.F90"
775 0 : end procedure
776 : #endif
777 :
778 : #if CK3_ENABLED
779 0 : module procedure getMahalSqMixInvCen_D1_CK3
780 : use pm_kind, only: CKC => CK3
781 : #include "pm_distanceMahal@routines.inc.F90"
782 0 : end procedure
783 : #endif
784 :
785 : #if CK2_ENABLED
786 0 : module procedure getMahalSqMixInvCen_D1_CK2
787 : use pm_kind, only: CKC => CK2
788 : #include "pm_distanceMahal@routines.inc.F90"
789 0 : end procedure
790 : #endif
791 :
792 : #if CK1_ENABLED
793 1 : module procedure getMahalSqMixInvCen_D1_CK1
794 : use pm_kind, only: CKC => CK1
795 : #include "pm_distanceMahal@routines.inc.F90"
796 1 : end procedure
797 : #endif
798 :
799 : #undef CK_ENABLED
800 :
801 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
802 :
803 : #define RK_ENABLED 1
804 :
805 : #if RK5_ENABLED
806 : module procedure getMahalSqMixInvCen_D1_RK5
807 : use pm_kind, only: RKC => RK5
808 : #include "pm_distanceMahal@routines.inc.F90"
809 : end procedure
810 : #endif
811 :
812 : #if RK4_ENABLED
813 0 : module procedure getMahalSqMixInvCen_D1_RK4
814 : use pm_kind, only: RKC => RK4
815 : #include "pm_distanceMahal@routines.inc.F90"
816 0 : end procedure
817 : #endif
818 :
819 : #if RK3_ENABLED
820 0 : module procedure getMahalSqMixInvCen_D1_RK3
821 : use pm_kind, only: RKC => RK3
822 : #include "pm_distanceMahal@routines.inc.F90"
823 0 : end procedure
824 : #endif
825 :
826 : #if RK2_ENABLED
827 491000 : module procedure getMahalSqMixInvCen_D1_RK2
828 : use pm_kind, only: RKC => RK2
829 : #include "pm_distanceMahal@routines.inc.F90"
830 491000 : end procedure
831 : #endif
832 :
833 : #if RK1_ENABLED
834 1 : module procedure getMahalSqMixInvCen_D1_RK1
835 : use pm_kind, only: RKC => RK1
836 : #include "pm_distanceMahal@routines.inc.F90"
837 1 : end procedure
838 : #endif
839 :
840 : #undef RK_ENABLED
841 :
842 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
843 :
844 : #undef InvCen_ENABLED
845 :
846 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
847 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
848 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
849 :
850 : #undef D1_ENABLED
851 :
852 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
853 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
854 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
855 :
856 : #define D2_ENABLED 1
857 :
858 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
859 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
860 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
861 :
862 : #define InvDef_ENABLED 1
863 :
864 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
865 :
866 : #define CK_ENABLED 1
867 :
868 : #if CK5_ENABLED
869 : module procedure getMahalSqMixInvDef_D2_CK5
870 : use pm_kind, only: CKC => CK5
871 : #include "pm_distanceMahal@routines.inc.F90"
872 : end procedure
873 : #endif
874 :
875 : #if CK4_ENABLED
876 0 : module procedure getMahalSqMixInvDef_D2_CK4
877 : use pm_kind, only: CKC => CK4
878 : #include "pm_distanceMahal@routines.inc.F90"
879 0 : end procedure
880 : #endif
881 :
882 : #if CK3_ENABLED
883 0 : module procedure getMahalSqMixInvDef_D2_CK3
884 : use pm_kind, only: CKC => CK3
885 : #include "pm_distanceMahal@routines.inc.F90"
886 0 : end procedure
887 : #endif
888 :
889 : #if CK2_ENABLED
890 0 : module procedure getMahalSqMixInvDef_D2_CK2
891 : use pm_kind, only: CKC => CK2
892 : #include "pm_distanceMahal@routines.inc.F90"
893 0 : end procedure
894 : #endif
895 :
896 : #if CK1_ENABLED
897 1 : module procedure getMahalSqMixInvDef_D2_CK1
898 : use pm_kind, only: CKC => CK1
899 : #include "pm_distanceMahal@routines.inc.F90"
900 1 : end procedure
901 : #endif
902 :
903 : #undef CK_ENABLED
904 :
905 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
906 :
907 : #define RK_ENABLED 1
908 :
909 : #if RK5_ENABLED
910 : module procedure getMahalSqMixInvDef_D2_RK5
911 : use pm_kind, only: RKC => RK5
912 : #include "pm_distanceMahal@routines.inc.F90"
913 : end procedure
914 : #endif
915 :
916 : #if RK4_ENABLED
917 0 : module procedure getMahalSqMixInvDef_D2_RK4
918 : use pm_kind, only: RKC => RK4
919 : #include "pm_distanceMahal@routines.inc.F90"
920 0 : end procedure
921 : #endif
922 :
923 : #if RK3_ENABLED
924 0 : module procedure getMahalSqMixInvDef_D2_RK3
925 : use pm_kind, only: RKC => RK3
926 : #include "pm_distanceMahal@routines.inc.F90"
927 0 : end procedure
928 : #endif
929 :
930 : #if RK2_ENABLED
931 0 : module procedure getMahalSqMixInvDef_D2_RK2
932 : use pm_kind, only: RKC => RK2
933 : #include "pm_distanceMahal@routines.inc.F90"
934 0 : end procedure
935 : #endif
936 :
937 : #if RK1_ENABLED
938 1 : module procedure getMahalSqMixInvDef_D2_RK1
939 : use pm_kind, only: RKC => RK1
940 : #include "pm_distanceMahal@routines.inc.F90"
941 1 : end procedure
942 : #endif
943 :
944 : #undef RK_ENABLED
945 :
946 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
947 :
948 : #undef InvDef_ENABLED
949 :
950 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
951 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
952 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
953 :
954 : #define InvCen_ENABLED 1
955 :
956 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
957 :
958 : #define CK_ENABLED 1
959 :
960 : #if CK5_ENABLED
961 : module procedure getMahalSqMixInvCen_D2_CK5
962 : use pm_kind, only: CKC => CK5
963 : #include "pm_distanceMahal@routines.inc.F90"
964 : end procedure
965 : #endif
966 :
967 : #if CK4_ENABLED
968 0 : module procedure getMahalSqMixInvCen_D2_CK4
969 : use pm_kind, only: CKC => CK4
970 : #include "pm_distanceMahal@routines.inc.F90"
971 0 : end procedure
972 : #endif
973 :
974 : #if CK3_ENABLED
975 0 : module procedure getMahalSqMixInvCen_D2_CK3
976 : use pm_kind, only: CKC => CK3
977 : #include "pm_distanceMahal@routines.inc.F90"
978 0 : end procedure
979 : #endif
980 :
981 : #if CK2_ENABLED
982 0 : module procedure getMahalSqMixInvCen_D2_CK2
983 : use pm_kind, only: CKC => CK2
984 : #include "pm_distanceMahal@routines.inc.F90"
985 0 : end procedure
986 : #endif
987 :
988 : #if CK1_ENABLED
989 1 : module procedure getMahalSqMixInvCen_D2_CK1
990 : use pm_kind, only: CKC => CK1
991 : #include "pm_distanceMahal@routines.inc.F90"
992 1 : end procedure
993 : #endif
994 :
995 : #undef CK_ENABLED
996 :
997 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
998 :
999 : #define RK_ENABLED 1
1000 :
1001 : #if RK5_ENABLED
1002 : module procedure getMahalSqMixInvCen_D2_RK5
1003 : use pm_kind, only: RKC => RK5
1004 : #include "pm_distanceMahal@routines.inc.F90"
1005 : end procedure
1006 : #endif
1007 :
1008 : #if RK4_ENABLED
1009 0 : module procedure getMahalSqMixInvCen_D2_RK4
1010 : use pm_kind, only: RKC => RK4
1011 : #include "pm_distanceMahal@routines.inc.F90"
1012 0 : end procedure
1013 : #endif
1014 :
1015 : #if RK3_ENABLED
1016 0 : module procedure getMahalSqMixInvCen_D2_RK3
1017 : use pm_kind, only: RKC => RK3
1018 : #include "pm_distanceMahal@routines.inc.F90"
1019 0 : end procedure
1020 : #endif
1021 :
1022 : #if RK2_ENABLED
1023 0 : module procedure getMahalSqMixInvCen_D2_RK2
1024 : use pm_kind, only: RKC => RK2
1025 : #include "pm_distanceMahal@routines.inc.F90"
1026 0 : end procedure
1027 : #endif
1028 :
1029 : #if RK1_ENABLED
1030 1 : module procedure getMahalSqMixInvCen_D2_RK1
1031 : use pm_kind, only: RKC => RK1
1032 : #include "pm_distanceMahal@routines.inc.F90"
1033 1 : end procedure
1034 : #endif
1035 :
1036 : #undef RK_ENABLED
1037 :
1038 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1039 :
1040 : #undef InvCen_ENABLED
1041 :
1042 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1043 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1044 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1045 :
1046 : #undef D2_ENABLED
1047 :
1048 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1049 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1050 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1051 :
1052 : #undef Mix_ENABLED
1053 :
1054 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1055 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1057 :
1058 : #undef getMahalSq_ENABLED
1059 :
1060 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1061 :
1062 : #define setMahalSq_ENABLED 1
1063 :
1064 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1065 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1066 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1067 :
1068 : #define D0_ENABLED 1
1069 :
1070 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1071 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1072 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1073 :
1074 : #define InvDef_ENABLED 1
1075 :
1076 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1077 :
1078 : #define CK_ENABLED 1
1079 :
1080 : #if CK5_ENABLED
1081 : module procedure setMahalSqEleInvDef_D0_CK5
1082 : use pm_kind, only: CKC => CK5
1083 : #include "pm_distanceMahal@routines.inc.F90"
1084 : end procedure
1085 : #endif
1086 :
1087 : #if CK4_ENABLED
1088 0 : module procedure setMahalSqEleInvDef_D0_CK4
1089 : use pm_kind, only: CKC => CK4
1090 : #include "pm_distanceMahal@routines.inc.F90"
1091 0 : end procedure
1092 : #endif
1093 :
1094 : #if CK3_ENABLED
1095 0 : module procedure setMahalSqEleInvDef_D0_CK3
1096 : use pm_kind, only: CKC => CK3
1097 : #include "pm_distanceMahal@routines.inc.F90"
1098 0 : end procedure
1099 : #endif
1100 :
1101 : #if CK2_ENABLED
1102 0 : module procedure setMahalSqEleInvDef_D0_CK2
1103 : use pm_kind, only: CKC => CK2
1104 : #include "pm_distanceMahal@routines.inc.F90"
1105 0 : end procedure
1106 : #endif
1107 :
1108 : #if CK1_ENABLED
1109 6 : module procedure setMahalSqEleInvDef_D0_CK1
1110 : use pm_kind, only: CKC => CK1
1111 : #include "pm_distanceMahal@routines.inc.F90"
1112 6 : end procedure
1113 : #endif
1114 :
1115 : #undef CK_ENABLED
1116 :
1117 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1118 :
1119 : #define RK_ENABLED 1
1120 :
1121 : #if RK5_ENABLED
1122 : module procedure setMahalSqEleInvDef_D0_RK5
1123 : use pm_kind, only: RKC => RK5
1124 : #include "pm_distanceMahal@routines.inc.F90"
1125 : end procedure
1126 : #endif
1127 :
1128 : #if RK4_ENABLED
1129 0 : module procedure setMahalSqEleInvDef_D0_RK4
1130 : use pm_kind, only: RKC => RK4
1131 : #include "pm_distanceMahal@routines.inc.F90"
1132 0 : end procedure
1133 : #endif
1134 :
1135 : #if RK3_ENABLED
1136 0 : module procedure setMahalSqEleInvDef_D0_RK3
1137 : use pm_kind, only: RKC => RK3
1138 : #include "pm_distanceMahal@routines.inc.F90"
1139 0 : end procedure
1140 : #endif
1141 :
1142 : #if RK2_ENABLED
1143 0 : module procedure setMahalSqEleInvDef_D0_RK2
1144 : use pm_kind, only: RKC => RK2
1145 : #include "pm_distanceMahal@routines.inc.F90"
1146 0 : end procedure
1147 : #endif
1148 :
1149 : #if RK1_ENABLED
1150 6 : module procedure setMahalSqEleInvDef_D0_RK1
1151 : use pm_kind, only: RKC => RK1
1152 : #include "pm_distanceMahal@routines.inc.F90"
1153 6 : end procedure
1154 : #endif
1155 :
1156 : #undef RK_ENABLED
1157 :
1158 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1159 :
1160 : #undef InvDef_ENABLED
1161 :
1162 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1163 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1165 :
1166 : #define InvCen_ENABLED 1
1167 :
1168 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1169 :
1170 : #define CK_ENABLED 1
1171 :
1172 : #if CK5_ENABLED
1173 : module procedure setMahalSqEleInvCen_D0_CK5
1174 : use pm_kind, only: CKC => CK5
1175 : #include "pm_distanceMahal@routines.inc.F90"
1176 : end procedure
1177 : #endif
1178 :
1179 : #if CK4_ENABLED
1180 0 : module procedure setMahalSqEleInvCen_D0_CK4
1181 : use pm_kind, only: CKC => CK4
1182 : #include "pm_distanceMahal@routines.inc.F90"
1183 0 : end procedure
1184 : #endif
1185 :
1186 : #if CK3_ENABLED
1187 0 : module procedure setMahalSqEleInvCen_D0_CK3
1188 : use pm_kind, only: CKC => CK3
1189 : #include "pm_distanceMahal@routines.inc.F90"
1190 0 : end procedure
1191 : #endif
1192 :
1193 : #if CK2_ENABLED
1194 0 : module procedure setMahalSqEleInvCen_D0_CK2
1195 : use pm_kind, only: CKC => CK2
1196 : #include "pm_distanceMahal@routines.inc.F90"
1197 0 : end procedure
1198 : #endif
1199 :
1200 : #if CK1_ENABLED
1201 6 : module procedure setMahalSqEleInvCen_D0_CK1
1202 : use pm_kind, only: CKC => CK1
1203 : #include "pm_distanceMahal@routines.inc.F90"
1204 6 : end procedure
1205 : #endif
1206 :
1207 : #undef CK_ENABLED
1208 :
1209 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1210 :
1211 : #define RK_ENABLED 1
1212 :
1213 : #if RK5_ENABLED
1214 : module procedure setMahalSqEleInvCen_D0_RK5
1215 : use pm_kind, only: RKC => RK5
1216 : #include "pm_distanceMahal@routines.inc.F90"
1217 : end procedure
1218 : #endif
1219 :
1220 : #if RK4_ENABLED
1221 0 : module procedure setMahalSqEleInvCen_D0_RK4
1222 : use pm_kind, only: RKC => RK4
1223 : #include "pm_distanceMahal@routines.inc.F90"
1224 0 : end procedure
1225 : #endif
1226 :
1227 : #if RK3_ENABLED
1228 0 : module procedure setMahalSqEleInvCen_D0_RK3
1229 : use pm_kind, only: RKC => RK3
1230 : #include "pm_distanceMahal@routines.inc.F90"
1231 0 : end procedure
1232 : #endif
1233 :
1234 : #if RK2_ENABLED
1235 0 : module procedure setMahalSqEleInvCen_D0_RK2
1236 : use pm_kind, only: RKC => RK2
1237 : #include "pm_distanceMahal@routines.inc.F90"
1238 0 : end procedure
1239 : #endif
1240 :
1241 : #if RK1_ENABLED
1242 6 : module procedure setMahalSqEleInvCen_D0_RK1
1243 : use pm_kind, only: RKC => RK1
1244 : #include "pm_distanceMahal@routines.inc.F90"
1245 6 : end procedure
1246 : #endif
1247 :
1248 : #undef RK_ENABLED
1249 :
1250 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1251 :
1252 : #undef InvCen_ENABLED
1253 :
1254 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1255 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1256 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1257 :
1258 : #undef D0_ENABLED
1259 :
1260 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1261 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1262 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1263 :
1264 : #define One_ENABLED 1
1265 :
1266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1267 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1268 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1269 :
1270 : #define D1_ENABLED 1
1271 :
1272 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1273 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1275 :
1276 : #define InvDef_ENABLED 1
1277 :
1278 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1279 :
1280 : #define CK_ENABLED 1
1281 :
1282 : #if CK5_ENABLED
1283 : module procedure setMahalSqOneInvDef_D1_CK5
1284 : use pm_kind, only: CKC => CK5
1285 : #include "pm_distanceMahal@routines.inc.F90"
1286 : end procedure
1287 : #endif
1288 :
1289 : #if CK4_ENABLED
1290 0 : module procedure setMahalSqOneInvDef_D1_CK4
1291 : use pm_kind, only: CKC => CK4
1292 : #include "pm_distanceMahal@routines.inc.F90"
1293 0 : end procedure
1294 : #endif
1295 :
1296 : #if CK3_ENABLED
1297 0 : module procedure setMahalSqOneInvDef_D1_CK3
1298 : use pm_kind, only: CKC => CK3
1299 : #include "pm_distanceMahal@routines.inc.F90"
1300 0 : end procedure
1301 : #endif
1302 :
1303 : #if CK2_ENABLED
1304 0 : module procedure setMahalSqOneInvDef_D1_CK2
1305 : use pm_kind, only: CKC => CK2
1306 : #include "pm_distanceMahal@routines.inc.F90"
1307 0 : end procedure
1308 : #endif
1309 :
1310 : #if CK1_ENABLED
1311 1 : module procedure setMahalSqOneInvDef_D1_CK1
1312 : use pm_kind, only: CKC => CK1
1313 : #include "pm_distanceMahal@routines.inc.F90"
1314 1 : end procedure
1315 : #endif
1316 :
1317 : #undef CK_ENABLED
1318 :
1319 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1320 :
1321 : #define RK_ENABLED 1
1322 :
1323 : #if RK5_ENABLED
1324 : module procedure setMahalSqOneInvDef_D1_RK5
1325 : use pm_kind, only: RKC => RK5
1326 : #include "pm_distanceMahal@routines.inc.F90"
1327 : end procedure
1328 : #endif
1329 :
1330 : #if RK4_ENABLED
1331 0 : module procedure setMahalSqOneInvDef_D1_RK4
1332 : use pm_kind, only: RKC => RK4
1333 : #include "pm_distanceMahal@routines.inc.F90"
1334 0 : end procedure
1335 : #endif
1336 :
1337 : #if RK3_ENABLED
1338 0 : module procedure setMahalSqOneInvDef_D1_RK3
1339 : use pm_kind, only: RKC => RK3
1340 : #include "pm_distanceMahal@routines.inc.F90"
1341 0 : end procedure
1342 : #endif
1343 :
1344 : #if RK2_ENABLED
1345 0 : module procedure setMahalSqOneInvDef_D1_RK2
1346 : use pm_kind, only: RKC => RK2
1347 : #include "pm_distanceMahal@routines.inc.F90"
1348 0 : end procedure
1349 : #endif
1350 :
1351 : #if RK1_ENABLED
1352 1 : module procedure setMahalSqOneInvDef_D1_RK1
1353 : use pm_kind, only: RKC => RK1
1354 : #include "pm_distanceMahal@routines.inc.F90"
1355 1 : end procedure
1356 : #endif
1357 :
1358 : #undef RK_ENABLED
1359 :
1360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1361 :
1362 : #undef InvDef_ENABLED
1363 :
1364 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1365 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1367 :
1368 : #define InvCen_ENABLED 1
1369 :
1370 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1371 :
1372 : #define CK_ENABLED 1
1373 :
1374 : #if CK5_ENABLED
1375 : module procedure setMahalSqOneInvCen_D1_CK5
1376 : use pm_kind, only: CKC => CK5
1377 : #include "pm_distanceMahal@routines.inc.F90"
1378 : end procedure
1379 : #endif
1380 :
1381 : #if CK4_ENABLED
1382 0 : module procedure setMahalSqOneInvCen_D1_CK4
1383 : use pm_kind, only: CKC => CK4
1384 : #include "pm_distanceMahal@routines.inc.F90"
1385 0 : end procedure
1386 : #endif
1387 :
1388 : #if CK3_ENABLED
1389 0 : module procedure setMahalSqOneInvCen_D1_CK3
1390 : use pm_kind, only: CKC => CK3
1391 : #include "pm_distanceMahal@routines.inc.F90"
1392 0 : end procedure
1393 : #endif
1394 :
1395 : #if CK2_ENABLED
1396 0 : module procedure setMahalSqOneInvCen_D1_CK2
1397 : use pm_kind, only: CKC => CK2
1398 : #include "pm_distanceMahal@routines.inc.F90"
1399 0 : end procedure
1400 : #endif
1401 :
1402 : #if CK1_ENABLED
1403 1 : module procedure setMahalSqOneInvCen_D1_CK1
1404 : use pm_kind, only: CKC => CK1
1405 : #include "pm_distanceMahal@routines.inc.F90"
1406 1 : end procedure
1407 : #endif
1408 :
1409 : #undef CK_ENABLED
1410 :
1411 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1412 :
1413 : #define RK_ENABLED 1
1414 :
1415 : #if RK5_ENABLED
1416 : module procedure setMahalSqOneInvCen_D1_RK5
1417 : use pm_kind, only: RKC => RK5
1418 : #include "pm_distanceMahal@routines.inc.F90"
1419 : end procedure
1420 : #endif
1421 :
1422 : #if RK4_ENABLED
1423 0 : module procedure setMahalSqOneInvCen_D1_RK4
1424 : use pm_kind, only: RKC => RK4
1425 : #include "pm_distanceMahal@routines.inc.F90"
1426 0 : end procedure
1427 : #endif
1428 :
1429 : #if RK3_ENABLED
1430 0 : module procedure setMahalSqOneInvCen_D1_RK3
1431 : use pm_kind, only: RKC => RK3
1432 : #include "pm_distanceMahal@routines.inc.F90"
1433 0 : end procedure
1434 : #endif
1435 :
1436 : #if RK2_ENABLED
1437 0 : module procedure setMahalSqOneInvCen_D1_RK2
1438 : use pm_kind, only: RKC => RK2
1439 : #include "pm_distanceMahal@routines.inc.F90"
1440 0 : end procedure
1441 : #endif
1442 :
1443 : #if RK1_ENABLED
1444 1 : module procedure setMahalSqOneInvCen_D1_RK1
1445 : use pm_kind, only: RKC => RK1
1446 : #include "pm_distanceMahal@routines.inc.F90"
1447 1 : end procedure
1448 : #endif
1449 :
1450 : #undef RK_ENABLED
1451 :
1452 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1453 :
1454 : #undef InvCen_ENABLED
1455 :
1456 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1457 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1458 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1459 :
1460 : #undef D1_ENABLED
1461 :
1462 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1463 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1464 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465 :
1466 : #define D2_ENABLED 1
1467 :
1468 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1469 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1470 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1471 :
1472 : #define InvDef_ENABLED 1
1473 :
1474 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1475 :
1476 : #define CK_ENABLED 1
1477 :
1478 : #if CK5_ENABLED
1479 : module procedure setMahalSqOneInvDef_D2_CK5
1480 : use pm_kind, only: CKC => CK5
1481 : #include "pm_distanceMahal@routines.inc.F90"
1482 : end procedure
1483 : #endif
1484 :
1485 : #if CK4_ENABLED
1486 0 : module procedure setMahalSqOneInvDef_D2_CK4
1487 : use pm_kind, only: CKC => CK4
1488 : #include "pm_distanceMahal@routines.inc.F90"
1489 0 : end procedure
1490 : #endif
1491 :
1492 : #if CK3_ENABLED
1493 0 : module procedure setMahalSqOneInvDef_D2_CK3
1494 : use pm_kind, only: CKC => CK3
1495 : #include "pm_distanceMahal@routines.inc.F90"
1496 0 : end procedure
1497 : #endif
1498 :
1499 : #if CK2_ENABLED
1500 0 : module procedure setMahalSqOneInvDef_D2_CK2
1501 : use pm_kind, only: CKC => CK2
1502 : #include "pm_distanceMahal@routines.inc.F90"
1503 0 : end procedure
1504 : #endif
1505 :
1506 : #if CK1_ENABLED
1507 1 : module procedure setMahalSqOneInvDef_D2_CK1
1508 : use pm_kind, only: CKC => CK1
1509 : #include "pm_distanceMahal@routines.inc.F90"
1510 1 : end procedure
1511 : #endif
1512 :
1513 : #undef CK_ENABLED
1514 :
1515 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1516 :
1517 : #define RK_ENABLED 1
1518 :
1519 : #if RK5_ENABLED
1520 : module procedure setMahalSqOneInvDef_D2_RK5
1521 : use pm_kind, only: RKC => RK5
1522 : #include "pm_distanceMahal@routines.inc.F90"
1523 : end procedure
1524 : #endif
1525 :
1526 : #if RK4_ENABLED
1527 0 : module procedure setMahalSqOneInvDef_D2_RK4
1528 : use pm_kind, only: RKC => RK4
1529 : #include "pm_distanceMahal@routines.inc.F90"
1530 0 : end procedure
1531 : #endif
1532 :
1533 : #if RK3_ENABLED
1534 0 : module procedure setMahalSqOneInvDef_D2_RK3
1535 : use pm_kind, only: RKC => RK3
1536 : #include "pm_distanceMahal@routines.inc.F90"
1537 0 : end procedure
1538 : #endif
1539 :
1540 : #if RK2_ENABLED
1541 0 : module procedure setMahalSqOneInvDef_D2_RK2
1542 : use pm_kind, only: RKC => RK2
1543 : #include "pm_distanceMahal@routines.inc.F90"
1544 0 : end procedure
1545 : #endif
1546 :
1547 : #if RK1_ENABLED
1548 1 : module procedure setMahalSqOneInvDef_D2_RK1
1549 : use pm_kind, only: RKC => RK1
1550 : #include "pm_distanceMahal@routines.inc.F90"
1551 1 : end procedure
1552 : #endif
1553 :
1554 : #undef RK_ENABLED
1555 :
1556 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1557 :
1558 : #undef InvDef_ENABLED
1559 :
1560 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1561 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1562 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1563 :
1564 : #define InvCen_ENABLED 1
1565 :
1566 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1567 :
1568 : #define CK_ENABLED 1
1569 :
1570 : #if CK5_ENABLED
1571 : module procedure setMahalSqOneInvCen_D2_CK5
1572 : use pm_kind, only: CKC => CK5
1573 : #include "pm_distanceMahal@routines.inc.F90"
1574 : end procedure
1575 : #endif
1576 :
1577 : #if CK4_ENABLED
1578 0 : module procedure setMahalSqOneInvCen_D2_CK4
1579 : use pm_kind, only: CKC => CK4
1580 : #include "pm_distanceMahal@routines.inc.F90"
1581 0 : end procedure
1582 : #endif
1583 :
1584 : #if CK3_ENABLED
1585 0 : module procedure setMahalSqOneInvCen_D2_CK3
1586 : use pm_kind, only: CKC => CK3
1587 : #include "pm_distanceMahal@routines.inc.F90"
1588 0 : end procedure
1589 : #endif
1590 :
1591 : #if CK2_ENABLED
1592 0 : module procedure setMahalSqOneInvCen_D2_CK2
1593 : use pm_kind, only: CKC => CK2
1594 : #include "pm_distanceMahal@routines.inc.F90"
1595 0 : end procedure
1596 : #endif
1597 :
1598 : #if CK1_ENABLED
1599 1 : module procedure setMahalSqOneInvCen_D2_CK1
1600 : use pm_kind, only: CKC => CK1
1601 : #include "pm_distanceMahal@routines.inc.F90"
1602 1 : end procedure
1603 : #endif
1604 :
1605 : #undef CK_ENABLED
1606 :
1607 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1608 :
1609 : #define RK_ENABLED 1
1610 :
1611 : #if RK5_ENABLED
1612 : module procedure setMahalSqOneInvCen_D2_RK5
1613 : use pm_kind, only: RKC => RK5
1614 : #include "pm_distanceMahal@routines.inc.F90"
1615 : end procedure
1616 : #endif
1617 :
1618 : #if RK4_ENABLED
1619 0 : module procedure setMahalSqOneInvCen_D2_RK4
1620 : use pm_kind, only: RKC => RK4
1621 : #include "pm_distanceMahal@routines.inc.F90"
1622 0 : end procedure
1623 : #endif
1624 :
1625 : #if RK3_ENABLED
1626 0 : module procedure setMahalSqOneInvCen_D2_RK3
1627 : use pm_kind, only: RKC => RK3
1628 : #include "pm_distanceMahal@routines.inc.F90"
1629 0 : end procedure
1630 : #endif
1631 :
1632 : #if RK2_ENABLED
1633 0 : module procedure setMahalSqOneInvCen_D2_RK2
1634 : use pm_kind, only: RKC => RK2
1635 : #include "pm_distanceMahal@routines.inc.F90"
1636 0 : end procedure
1637 : #endif
1638 :
1639 : #if RK1_ENABLED
1640 1 : module procedure setMahalSqOneInvCen_D2_RK1
1641 : use pm_kind, only: RKC => RK1
1642 : #include "pm_distanceMahal@routines.inc.F90"
1643 1 : end procedure
1644 : #endif
1645 :
1646 : #undef RK_ENABLED
1647 :
1648 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1649 :
1650 : #undef InvCen_ENABLED
1651 :
1652 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1653 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1654 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1655 :
1656 : #undef D2_ENABLED
1657 :
1658 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1659 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1660 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1661 :
1662 : #undef One_ENABLED
1663 :
1664 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1665 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1666 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1667 :
1668 : #define Mix_ENABLED 1
1669 :
1670 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1671 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1672 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1673 :
1674 : #define D1_ENABLED 1
1675 :
1676 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1677 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1678 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1679 :
1680 : #define InvDef_ENABLED 1
1681 :
1682 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1683 :
1684 : #define CK_ENABLED 1
1685 :
1686 : #if CK5_ENABLED
1687 : module procedure setMahalSqMixInvDef_D1_CK5
1688 : use pm_kind, only: CKC => CK5
1689 : #include "pm_distanceMahal@routines.inc.F90"
1690 : end procedure
1691 : #endif
1692 :
1693 : #if CK4_ENABLED
1694 0 : module procedure setMahalSqMixInvDef_D1_CK4
1695 : use pm_kind, only: CKC => CK4
1696 : #include "pm_distanceMahal@routines.inc.F90"
1697 0 : end procedure
1698 : #endif
1699 :
1700 : #if CK3_ENABLED
1701 0 : module procedure setMahalSqMixInvDef_D1_CK3
1702 : use pm_kind, only: CKC => CK3
1703 : #include "pm_distanceMahal@routines.inc.F90"
1704 0 : end procedure
1705 : #endif
1706 :
1707 : #if CK2_ENABLED
1708 0 : module procedure setMahalSqMixInvDef_D1_CK2
1709 : use pm_kind, only: CKC => CK2
1710 : #include "pm_distanceMahal@routines.inc.F90"
1711 0 : end procedure
1712 : #endif
1713 :
1714 : #if CK1_ENABLED
1715 1 : module procedure setMahalSqMixInvDef_D1_CK1
1716 : use pm_kind, only: CKC => CK1
1717 : #include "pm_distanceMahal@routines.inc.F90"
1718 1 : end procedure
1719 : #endif
1720 :
1721 : #undef CK_ENABLED
1722 :
1723 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1724 :
1725 : #define RK_ENABLED 1
1726 :
1727 : #if RK5_ENABLED
1728 : module procedure setMahalSqMixInvDef_D1_RK5
1729 : use pm_kind, only: RKC => RK5
1730 : #include "pm_distanceMahal@routines.inc.F90"
1731 : end procedure
1732 : #endif
1733 :
1734 : #if RK4_ENABLED
1735 0 : module procedure setMahalSqMixInvDef_D1_RK4
1736 : use pm_kind, only: RKC => RK4
1737 : #include "pm_distanceMahal@routines.inc.F90"
1738 0 : end procedure
1739 : #endif
1740 :
1741 : #if RK3_ENABLED
1742 0 : module procedure setMahalSqMixInvDef_D1_RK3
1743 : use pm_kind, only: RKC => RK3
1744 : #include "pm_distanceMahal@routines.inc.F90"
1745 0 : end procedure
1746 : #endif
1747 :
1748 : #if RK2_ENABLED
1749 0 : module procedure setMahalSqMixInvDef_D1_RK2
1750 : use pm_kind, only: RKC => RK2
1751 : #include "pm_distanceMahal@routines.inc.F90"
1752 0 : end procedure
1753 : #endif
1754 :
1755 : #if RK1_ENABLED
1756 1 : module procedure setMahalSqMixInvDef_D1_RK1
1757 : use pm_kind, only: RKC => RK1
1758 : #include "pm_distanceMahal@routines.inc.F90"
1759 1 : end procedure
1760 : #endif
1761 :
1762 : #undef RK_ENABLED
1763 :
1764 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1765 :
1766 : #undef InvDef_ENABLED
1767 :
1768 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1769 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1770 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1771 :
1772 : #define InvCen_ENABLED 1
1773 :
1774 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1775 :
1776 : #define CK_ENABLED 1
1777 :
1778 : #if CK5_ENABLED
1779 : module procedure setMahalSqMixInvCen_D1_CK5
1780 : use pm_kind, only: CKC => CK5
1781 : #include "pm_distanceMahal@routines.inc.F90"
1782 : end procedure
1783 : #endif
1784 :
1785 : #if CK4_ENABLED
1786 0 : module procedure setMahalSqMixInvCen_D1_CK4
1787 : use pm_kind, only: CKC => CK4
1788 : #include "pm_distanceMahal@routines.inc.F90"
1789 0 : end procedure
1790 : #endif
1791 :
1792 : #if CK3_ENABLED
1793 0 : module procedure setMahalSqMixInvCen_D1_CK3
1794 : use pm_kind, only: CKC => CK3
1795 : #include "pm_distanceMahal@routines.inc.F90"
1796 0 : end procedure
1797 : #endif
1798 :
1799 : #if CK2_ENABLED
1800 0 : module procedure setMahalSqMixInvCen_D1_CK2
1801 : use pm_kind, only: CKC => CK2
1802 : #include "pm_distanceMahal@routines.inc.F90"
1803 0 : end procedure
1804 : #endif
1805 :
1806 : #if CK1_ENABLED
1807 1 : module procedure setMahalSqMixInvCen_D1_CK1
1808 : use pm_kind, only: CKC => CK1
1809 : #include "pm_distanceMahal@routines.inc.F90"
1810 1 : end procedure
1811 : #endif
1812 :
1813 : #undef CK_ENABLED
1814 :
1815 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1816 :
1817 : #define RK_ENABLED 1
1818 :
1819 : #if RK5_ENABLED
1820 : module procedure setMahalSqMixInvCen_D1_RK5
1821 : use pm_kind, only: RKC => RK5
1822 : #include "pm_distanceMahal@routines.inc.F90"
1823 : end procedure
1824 : #endif
1825 :
1826 : #if RK4_ENABLED
1827 0 : module procedure setMahalSqMixInvCen_D1_RK4
1828 : use pm_kind, only: RKC => RK4
1829 : #include "pm_distanceMahal@routines.inc.F90"
1830 0 : end procedure
1831 : #endif
1832 :
1833 : #if RK3_ENABLED
1834 0 : module procedure setMahalSqMixInvCen_D1_RK3
1835 : use pm_kind, only: RKC => RK3
1836 : #include "pm_distanceMahal@routines.inc.F90"
1837 0 : end procedure
1838 : #endif
1839 :
1840 : #if RK2_ENABLED
1841 0 : module procedure setMahalSqMixInvCen_D1_RK2
1842 : use pm_kind, only: RKC => RK2
1843 : #include "pm_distanceMahal@routines.inc.F90"
1844 0 : end procedure
1845 : #endif
1846 :
1847 : #if RK1_ENABLED
1848 1 : module procedure setMahalSqMixInvCen_D1_RK1
1849 : use pm_kind, only: RKC => RK1
1850 : #include "pm_distanceMahal@routines.inc.F90"
1851 1 : end procedure
1852 : #endif
1853 :
1854 : #undef RK_ENABLED
1855 :
1856 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1857 :
1858 : #undef InvCen_ENABLED
1859 :
1860 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1861 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1862 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1863 :
1864 : #undef D1_ENABLED
1865 :
1866 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1867 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1868 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1869 :
1870 : #define D2_ENABLED 1
1871 :
1872 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1873 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1874 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1875 :
1876 : #define InvDef_ENABLED 1
1877 :
1878 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1879 :
1880 : #define CK_ENABLED 1
1881 :
1882 : #if CK5_ENABLED
1883 : module procedure setMahalSqMixInvDef_D2_CK5
1884 : use pm_kind, only: CKC => CK5
1885 : #include "pm_distanceMahal@routines.inc.F90"
1886 : end procedure
1887 : #endif
1888 :
1889 : #if CK4_ENABLED
1890 0 : module procedure setMahalSqMixInvDef_D2_CK4
1891 : use pm_kind, only: CKC => CK4
1892 : #include "pm_distanceMahal@routines.inc.F90"
1893 0 : end procedure
1894 : #endif
1895 :
1896 : #if CK3_ENABLED
1897 0 : module procedure setMahalSqMixInvDef_D2_CK3
1898 : use pm_kind, only: CKC => CK3
1899 : #include "pm_distanceMahal@routines.inc.F90"
1900 0 : end procedure
1901 : #endif
1902 :
1903 : #if CK2_ENABLED
1904 0 : module procedure setMahalSqMixInvDef_D2_CK2
1905 : use pm_kind, only: CKC => CK2
1906 : #include "pm_distanceMahal@routines.inc.F90"
1907 0 : end procedure
1908 : #endif
1909 :
1910 : #if CK1_ENABLED
1911 1 : module procedure setMahalSqMixInvDef_D2_CK1
1912 : use pm_kind, only: CKC => CK1
1913 : #include "pm_distanceMahal@routines.inc.F90"
1914 1 : end procedure
1915 : #endif
1916 :
1917 : #undef CK_ENABLED
1918 :
1919 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1920 :
1921 : #define RK_ENABLED 1
1922 :
1923 : #if RK5_ENABLED
1924 : module procedure setMahalSqMixInvDef_D2_RK5
1925 : use pm_kind, only: RKC => RK5
1926 : #include "pm_distanceMahal@routines.inc.F90"
1927 : end procedure
1928 : #endif
1929 :
1930 : #if RK4_ENABLED
1931 0 : module procedure setMahalSqMixInvDef_D2_RK4
1932 : use pm_kind, only: RKC => RK4
1933 : #include "pm_distanceMahal@routines.inc.F90"
1934 0 : end procedure
1935 : #endif
1936 :
1937 : #if RK3_ENABLED
1938 0 : module procedure setMahalSqMixInvDef_D2_RK3
1939 : use pm_kind, only: RKC => RK3
1940 : #include "pm_distanceMahal@routines.inc.F90"
1941 0 : end procedure
1942 : #endif
1943 :
1944 : #if RK2_ENABLED
1945 0 : module procedure setMahalSqMixInvDef_D2_RK2
1946 : use pm_kind, only: RKC => RK2
1947 : #include "pm_distanceMahal@routines.inc.F90"
1948 0 : end procedure
1949 : #endif
1950 :
1951 : #if RK1_ENABLED
1952 1 : module procedure setMahalSqMixInvDef_D2_RK1
1953 : use pm_kind, only: RKC => RK1
1954 : #include "pm_distanceMahal@routines.inc.F90"
1955 1 : end procedure
1956 : #endif
1957 :
1958 : #undef RK_ENABLED
1959 :
1960 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1961 :
1962 : #undef InvDef_ENABLED
1963 :
1964 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1965 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1966 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1967 :
1968 : #define InvCen_ENABLED 1
1969 :
1970 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1971 :
1972 : #define CK_ENABLED 1
1973 :
1974 : #if CK5_ENABLED
1975 : module procedure setMahalSqMixInvCen_D2_CK5
1976 : use pm_kind, only: CKC => CK5
1977 : #include "pm_distanceMahal@routines.inc.F90"
1978 : end procedure
1979 : #endif
1980 :
1981 : #if CK4_ENABLED
1982 0 : module procedure setMahalSqMixInvCen_D2_CK4
1983 : use pm_kind, only: CKC => CK4
1984 : #include "pm_distanceMahal@routines.inc.F90"
1985 0 : end procedure
1986 : #endif
1987 :
1988 : #if CK3_ENABLED
1989 0 : module procedure setMahalSqMixInvCen_D2_CK3
1990 : use pm_kind, only: CKC => CK3
1991 : #include "pm_distanceMahal@routines.inc.F90"
1992 0 : end procedure
1993 : #endif
1994 :
1995 : #if CK2_ENABLED
1996 0 : module procedure setMahalSqMixInvCen_D2_CK2
1997 : use pm_kind, only: CKC => CK2
1998 : #include "pm_distanceMahal@routines.inc.F90"
1999 0 : end procedure
2000 : #endif
2001 :
2002 : #if CK1_ENABLED
2003 1 : module procedure setMahalSqMixInvCen_D2_CK1
2004 : use pm_kind, only: CKC => CK1
2005 : #include "pm_distanceMahal@routines.inc.F90"
2006 1 : end procedure
2007 : #endif
2008 :
2009 : #undef CK_ENABLED
2010 :
2011 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2012 :
2013 : #define RK_ENABLED 1
2014 :
2015 : #if RK5_ENABLED
2016 : module procedure setMahalSqMixInvCen_D2_RK5
2017 : use pm_kind, only: RKC => RK5
2018 : #include "pm_distanceMahal@routines.inc.F90"
2019 : end procedure
2020 : #endif
2021 :
2022 : #if RK4_ENABLED
2023 0 : module procedure setMahalSqMixInvCen_D2_RK4
2024 : use pm_kind, only: RKC => RK4
2025 : #include "pm_distanceMahal@routines.inc.F90"
2026 0 : end procedure
2027 : #endif
2028 :
2029 : #if RK3_ENABLED
2030 0 : module procedure setMahalSqMixInvCen_D2_RK3
2031 : use pm_kind, only: RKC => RK3
2032 : #include "pm_distanceMahal@routines.inc.F90"
2033 0 : end procedure
2034 : #endif
2035 :
2036 : #if RK2_ENABLED
2037 0 : module procedure setMahalSqMixInvCen_D2_RK2
2038 : use pm_kind, only: RKC => RK2
2039 : #include "pm_distanceMahal@routines.inc.F90"
2040 0 : end procedure
2041 : #endif
2042 :
2043 : #if RK1_ENABLED
2044 1 : module procedure setMahalSqMixInvCen_D2_RK1
2045 : use pm_kind, only: RKC => RK1
2046 : #include "pm_distanceMahal@routines.inc.F90"
2047 1 : end procedure
2048 : #endif
2049 :
2050 : #undef RK_ENABLED
2051 :
2052 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2053 :
2054 : #undef InvCen_ENABLED
2055 :
2056 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2057 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2058 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2059 :
2060 : #undef D2_ENABLED
2061 :
2062 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2063 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2064 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2065 :
2066 : #undef Mix_ENABLED
2067 :
2068 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2069 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2070 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2071 :
2072 : #undef setMahalSq_ENABLED
2073 :
2074 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2075 :
2076 : #undef CHECK_ASSERTION
2077 :
2078 : end submodule routines
|