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_ellipsoid](@ref pm_ellipsoid).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, April 23, 2017, 1:36 AM, Institute for Computational Engineering and Sciences (ICES), University of Texas at Austin
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_ellipsoid) 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 : use pm_matrixCopy, only: setMatCopy, rdpack, uppDia
39 : use pm_mathFactorial, only: getLogFactorial
40 : use pm_matrixDet, only: getMatDetSqrtLog
41 :
42 : implicit none
43 :
44 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 :
46 : contains
47 :
48 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
49 :
50 : #define getLogVolUnitBall_ENABLED 1
51 :
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
55 :
56 : #define Gamm_ENABLED 1
57 :
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 :
60 : #define RK_ENABLED 1
61 :
62 : #if RK5_ENABLED
63 : module procedure getLogVolUnitBallGamm_RK5
64 : use pm_kind, only: RKC => RK5
65 : #include "pm_ellipsoid@routines.inc.F90"
66 : end procedure
67 : #endif
68 :
69 : #if RK4_ENABLED
70 0 : module procedure getLogVolUnitBallGamm_RK4
71 : use pm_kind, only: RKC => RK4
72 : #include "pm_ellipsoid@routines.inc.F90"
73 0 : end procedure
74 : #endif
75 :
76 : #if RK3_ENABLED
77 0 : module procedure getLogVolUnitBallGamm_RK3
78 : use pm_kind, only: RKC => RK3
79 : #include "pm_ellipsoid@routines.inc.F90"
80 0 : end procedure
81 : #endif
82 :
83 : #if RK2_ENABLED
84 0 : module procedure getLogVolUnitBallGamm_RK2
85 : use pm_kind, only: RKC => RK2
86 : #include "pm_ellipsoid@routines.inc.F90"
87 0 : end procedure
88 : #endif
89 :
90 : #if RK1_ENABLED
91 1020 : module procedure getLogVolUnitBallGamm_RK1
92 : use pm_kind, only: RKC => RK1
93 : #include "pm_ellipsoid@routines.inc.F90"
94 1020 : end procedure
95 : #endif
96 :
97 : #undef RK_ENABLED
98 :
99 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
100 :
101 : #undef Gamm_ENABLED
102 :
103 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
104 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106 :
107 : #undef getLogVolUnitBall_ENABLED
108 :
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define setLogVolUnitBall_ENABLED 1
112 :
113 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
115 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
116 :
117 : #define Gamm_ENABLED 1
118 :
119 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120 :
121 : #define RK_ENABLED 1
122 :
123 : #if RK5_ENABLED
124 : module procedure setLogVolUnitBallGamm_RK5
125 : use pm_kind, only: RKC => RK5
126 : #include "pm_ellipsoid@routines.inc.F90"
127 : end procedure
128 : #endif
129 :
130 : #if RK4_ENABLED
131 6 : module procedure setLogVolUnitBallGamm_RK4
132 : use pm_kind, only: RKC => RK4
133 : #include "pm_ellipsoid@routines.inc.F90"
134 6 : end procedure
135 : #endif
136 :
137 : #if RK3_ENABLED
138 0 : module procedure setLogVolUnitBallGamm_RK3
139 : use pm_kind, only: RKC => RK3
140 : #include "pm_ellipsoid@routines.inc.F90"
141 0 : end procedure
142 : #endif
143 :
144 : #if RK2_ENABLED
145 0 : module procedure setLogVolUnitBallGamm_RK2
146 : use pm_kind, only: RKC => RK2
147 : #include "pm_ellipsoid@routines.inc.F90"
148 0 : end procedure
149 : #endif
150 :
151 : #if RK1_ENABLED
152 1000 : module procedure setLogVolUnitBallGamm_RK1
153 : use pm_kind, only: RKC => RK1
154 : #include "pm_ellipsoid@routines.inc.F90"
155 1000 : end procedure
156 : #endif
157 :
158 : #undef RK_ENABLED
159 :
160 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 :
162 : #undef Gamm_ENABLED
163 :
164 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
165 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
167 :
168 : #define Iter_ENABLED 1
169 :
170 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 :
172 : #define RK_ENABLED 1
173 :
174 : #if RK5_ENABLED
175 : module procedure setLogVolUnitBallIter_RK5
176 : use pm_kind, only: RKC => RK5
177 : #include "pm_ellipsoid@routines.inc.F90"
178 : end procedure
179 : #endif
180 :
181 : #if RK4_ENABLED
182 6 : module procedure setLogVolUnitBallIter_RK4
183 : use pm_kind, only: RKC => RK4
184 : #include "pm_ellipsoid@routines.inc.F90"
185 6 : end procedure
186 : #endif
187 :
188 : #if RK3_ENABLED
189 0 : module procedure setLogVolUnitBallIter_RK3
190 : use pm_kind, only: RKC => RK3
191 : #include "pm_ellipsoid@routines.inc.F90"
192 0 : end procedure
193 : #endif
194 :
195 : #if RK2_ENABLED
196 0 : module procedure setLogVolUnitBallIter_RK2
197 : use pm_kind, only: RKC => RK2
198 : #include "pm_ellipsoid@routines.inc.F90"
199 0 : end procedure
200 : #endif
201 :
202 : #if RK1_ENABLED
203 0 : module procedure setLogVolUnitBallIter_RK1
204 : use pm_kind, only: RKC => RK1
205 : #include "pm_ellipsoid@routines.inc.F90"
206 0 : end procedure
207 : #endif
208 :
209 : #undef RK_ENABLED
210 :
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 :
213 : #undef Iter_ENABLED
214 :
215 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
217 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218 :
219 : #undef setLogVolUnitBall_ENABLED
220 :
221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222 :
223 : #define getLogVolEll_ENABLED 1
224 :
225 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
226 :
227 : #define RK_ENABLED 1
228 :
229 : #if RK5_ENABLED
230 : module procedure getLogVolEll_RK5
231 : use pm_kind, only: RKC => RK5
232 : #include "pm_ellipsoid@routines.inc.F90"
233 : end procedure
234 : #endif
235 :
236 : #if RK4_ENABLED
237 0 : module procedure getLogVolEll_RK4
238 : use pm_kind, only: RKC => RK4
239 : #include "pm_ellipsoid@routines.inc.F90"
240 0 : end procedure
241 : #endif
242 :
243 : #if RK3_ENABLED
244 0 : module procedure getLogVolEll_RK3
245 : use pm_kind, only: RKC => RK3
246 : #include "pm_ellipsoid@routines.inc.F90"
247 0 : end procedure
248 : #endif
249 :
250 : #if RK2_ENABLED
251 0 : module procedure getLogVolEll_RK2
252 : use pm_kind, only: RKC => RK2
253 : #include "pm_ellipsoid@routines.inc.F90"
254 0 : end procedure
255 : #endif
256 :
257 : #if RK1_ENABLED
258 3 : module procedure getLogVolEll_RK1
259 : use pm_kind, only: RKC => RK1
260 : #include "pm_ellipsoid@routines.inc.F90"
261 3 : end procedure
262 : #endif
263 :
264 : #undef RK_ENABLED
265 :
266 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
267 :
268 : #undef getLogVolEll_ENABLED
269 :
270 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
271 :
272 : #define getCountMemberEll_ENABLED 1
273 :
274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
276 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
277 :
278 : #define Sph_ENABLED 1
279 :
280 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
281 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
283 :
284 : #define Org_ENABLED 1
285 :
286 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
287 :
288 : #define RK_ENABLED 1
289 :
290 : #if RK5_ENABLED
291 : module procedure getCountMemberSphOrg_RK5
292 : use pm_kind, only: RKC => RK5
293 : #include "pm_ellipsoid@routines.inc.F90"
294 : end procedure
295 : #endif
296 :
297 : #if RK4_ENABLED
298 0 : module procedure getCountMemberSphOrg_RK4
299 : use pm_kind, only: RKC => RK4
300 : #include "pm_ellipsoid@routines.inc.F90"
301 0 : end procedure
302 : #endif
303 :
304 : #if RK3_ENABLED
305 0 : module procedure getCountMemberSphOrg_RK3
306 : use pm_kind, only: RKC => RK3
307 : #include "pm_ellipsoid@routines.inc.F90"
308 0 : end procedure
309 : #endif
310 :
311 : #if RK2_ENABLED
312 0 : module procedure getCountMemberSphOrg_RK2
313 : use pm_kind, only: RKC => RK2
314 : #include "pm_ellipsoid@routines.inc.F90"
315 0 : end procedure
316 : #endif
317 :
318 : #if RK1_ENABLED
319 1 : module procedure getCountMemberSphOrg_RK1
320 : use pm_kind, only: RKC => RK1
321 : #include "pm_ellipsoid@routines.inc.F90"
322 1 : end procedure
323 : #endif
324 :
325 : #undef RK_ENABLED
326 :
327 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
328 :
329 : #undef Org_ENABLED
330 :
331 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
332 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 :
335 : #define Cen_ENABLED 1
336 :
337 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
338 :
339 : #define RK_ENABLED 1
340 :
341 : #if RK5_ENABLED
342 : module procedure getCountMemberSphCen_RK5
343 : use pm_kind, only: RKC => RK5
344 : #include "pm_ellipsoid@routines.inc.F90"
345 : end procedure
346 : #endif
347 :
348 : #if RK4_ENABLED
349 0 : module procedure getCountMemberSphCen_RK4
350 : use pm_kind, only: RKC => RK4
351 : #include "pm_ellipsoid@routines.inc.F90"
352 0 : end procedure
353 : #endif
354 :
355 : #if RK3_ENABLED
356 0 : module procedure getCountMemberSphCen_RK3
357 : use pm_kind, only: RKC => RK3
358 : #include "pm_ellipsoid@routines.inc.F90"
359 0 : end procedure
360 : #endif
361 :
362 : #if RK2_ENABLED
363 0 : module procedure getCountMemberSphCen_RK2
364 : use pm_kind, only: RKC => RK2
365 : #include "pm_ellipsoid@routines.inc.F90"
366 0 : end procedure
367 : #endif
368 :
369 : #if RK1_ENABLED
370 1 : module procedure getCountMemberSphCen_RK1
371 : use pm_kind, only: RKC => RK1
372 : #include "pm_ellipsoid@routines.inc.F90"
373 1 : end procedure
374 : #endif
375 :
376 : #undef RK_ENABLED
377 :
378 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
379 :
380 : #undef Cen_ENABLED
381 :
382 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
383 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
384 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 :
386 : #undef Sph_ENABLED
387 :
388 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
389 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
390 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 :
392 : #define Ell_ENABLED 1
393 :
394 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
395 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
397 :
398 : #define Org_ENABLED 1
399 :
400 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
401 :
402 : #define RK_ENABLED 1
403 :
404 : #if RK5_ENABLED
405 : module procedure getCountMemberEllOrg_RK5
406 : use pm_kind, only: RKC => RK5
407 : #include "pm_ellipsoid@routines.inc.F90"
408 : end procedure
409 : #endif
410 :
411 : #if RK4_ENABLED
412 0 : module procedure getCountMemberEllOrg_RK4
413 : use pm_kind, only: RKC => RK4
414 : #include "pm_ellipsoid@routines.inc.F90"
415 0 : end procedure
416 : #endif
417 :
418 : #if RK3_ENABLED
419 0 : module procedure getCountMemberEllOrg_RK3
420 : use pm_kind, only: RKC => RK3
421 : #include "pm_ellipsoid@routines.inc.F90"
422 0 : end procedure
423 : #endif
424 :
425 : #if RK2_ENABLED
426 0 : module procedure getCountMemberEllOrg_RK2
427 : use pm_kind, only: RKC => RK2
428 : #include "pm_ellipsoid@routines.inc.F90"
429 0 : end procedure
430 : #endif
431 :
432 : #if RK1_ENABLED
433 1 : module procedure getCountMemberEllOrg_RK1
434 : use pm_kind, only: RKC => RK1
435 : #include "pm_ellipsoid@routines.inc.F90"
436 1 : end procedure
437 : #endif
438 :
439 : #undef RK_ENABLED
440 :
441 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442 :
443 : #undef Org_ENABLED
444 :
445 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
446 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
447 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
448 :
449 : #define Cen_ENABLED 1
450 :
451 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
452 :
453 : #define RK_ENABLED 1
454 :
455 : #if RK5_ENABLED
456 : module procedure getCountMemberEllCen_RK5
457 : use pm_kind, only: RKC => RK5
458 : #include "pm_ellipsoid@routines.inc.F90"
459 : end procedure
460 : #endif
461 :
462 : #if RK4_ENABLED
463 0 : module procedure getCountMemberEllCen_RK4
464 : use pm_kind, only: RKC => RK4
465 : #include "pm_ellipsoid@routines.inc.F90"
466 0 : end procedure
467 : #endif
468 :
469 : #if RK3_ENABLED
470 0 : module procedure getCountMemberEllCen_RK3
471 : use pm_kind, only: RKC => RK3
472 : #include "pm_ellipsoid@routines.inc.F90"
473 0 : end procedure
474 : #endif
475 :
476 : #if RK2_ENABLED
477 0 : module procedure getCountMemberEllCen_RK2
478 : use pm_kind, only: RKC => RK2
479 : #include "pm_ellipsoid@routines.inc.F90"
480 0 : end procedure
481 : #endif
482 :
483 : #if RK1_ENABLED
484 1 : module procedure getCountMemberEllCen_RK1
485 : use pm_kind, only: RKC => RK1
486 : #include "pm_ellipsoid@routines.inc.F90"
487 1 : end procedure
488 : #endif
489 :
490 : #undef RK_ENABLED
491 :
492 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
493 :
494 : #undef Cen_ENABLED
495 :
496 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
497 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
498 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
499 :
500 : #undef Ell_ENABLED
501 :
502 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
503 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
504 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
505 :
506 : #undef getCountMemberEll_ENABLED
507 :
508 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
509 :
510 : #define isMemberEll_ENABLED 1
511 :
512 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
513 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
514 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
515 :
516 : #define Sph_ENABLED 1
517 :
518 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
519 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
520 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
521 :
522 : #define Org_ENABLED 1
523 :
524 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
525 :
526 : #define RK_ENABLED 1
527 :
528 : #if RK5_ENABLED
529 : module procedure isMemberSphOrg_RK5
530 : use pm_kind, only: RKC => RK5
531 : #include "pm_ellipsoid@routines.inc.F90"
532 : end procedure
533 : #endif
534 :
535 : #if RK4_ENABLED
536 0 : module procedure isMemberSphOrg_RK4
537 : use pm_kind, only: RKC => RK4
538 : #include "pm_ellipsoid@routines.inc.F90"
539 0 : end procedure
540 : #endif
541 :
542 : #if RK3_ENABLED
543 0 : module procedure isMemberSphOrg_RK3
544 : use pm_kind, only: RKC => RK3
545 : #include "pm_ellipsoid@routines.inc.F90"
546 0 : end procedure
547 : #endif
548 :
549 : #if RK2_ENABLED
550 0 : module procedure isMemberSphOrg_RK2
551 : use pm_kind, only: RKC => RK2
552 : #include "pm_ellipsoid@routines.inc.F90"
553 0 : end procedure
554 : #endif
555 :
556 : #if RK1_ENABLED
557 8 : module procedure isMemberSphOrg_RK1
558 : use pm_kind, only: RKC => RK1
559 : #include "pm_ellipsoid@routines.inc.F90"
560 8 : end procedure
561 : #endif
562 :
563 : #undef RK_ENABLED
564 :
565 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
566 :
567 : #undef Org_ENABLED
568 :
569 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
570 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
571 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
572 :
573 : #define Cen_ENABLED 1
574 :
575 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
576 :
577 : #define RK_ENABLED 1
578 :
579 : #if RK5_ENABLED
580 : module procedure isMemberSphCen_RK5
581 : use pm_kind, only: RKC => RK5
582 : #include "pm_ellipsoid@routines.inc.F90"
583 : end procedure
584 : #endif
585 :
586 : #if RK4_ENABLED
587 0 : module procedure isMemberSphCen_RK4
588 : use pm_kind, only: RKC => RK4
589 : #include "pm_ellipsoid@routines.inc.F90"
590 0 : end procedure
591 : #endif
592 :
593 : #if RK3_ENABLED
594 0 : module procedure isMemberSphCen_RK3
595 : use pm_kind, only: RKC => RK3
596 : #include "pm_ellipsoid@routines.inc.F90"
597 0 : end procedure
598 : #endif
599 :
600 : #if RK2_ENABLED
601 0 : module procedure isMemberSphCen_RK2
602 : use pm_kind, only: RKC => RK2
603 : #include "pm_ellipsoid@routines.inc.F90"
604 0 : end procedure
605 : #endif
606 :
607 : #if RK1_ENABLED
608 6 : module procedure isMemberSphCen_RK1
609 : use pm_kind, only: RKC => RK1
610 : #include "pm_ellipsoid@routines.inc.F90"
611 6 : end procedure
612 : #endif
613 :
614 : #undef RK_ENABLED
615 :
616 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
617 :
618 : #undef Cen_ENABLED
619 :
620 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
621 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
622 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
623 :
624 : #undef Sph_ENABLED
625 :
626 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
627 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
628 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
629 :
630 : #define Ell_ENABLED 1
631 :
632 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
633 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
634 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
635 :
636 : #define Org_ENABLED 1
637 :
638 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
639 :
640 : #define RK_ENABLED 1
641 :
642 : #if RK5_ENABLED
643 : module procedure isMemberEllOrg_RK5
644 : use pm_kind, only: RKC => RK5
645 : #include "pm_ellipsoid@routines.inc.F90"
646 : end procedure
647 : #endif
648 :
649 : #if RK4_ENABLED
650 0 : module procedure isMemberEllOrg_RK4
651 : use pm_kind, only: RKC => RK4
652 : #include "pm_ellipsoid@routines.inc.F90"
653 0 : end procedure
654 : #endif
655 :
656 : #if RK3_ENABLED
657 0 : module procedure isMemberEllOrg_RK3
658 : use pm_kind, only: RKC => RK3
659 : #include "pm_ellipsoid@routines.inc.F90"
660 0 : end procedure
661 : #endif
662 :
663 : #if RK2_ENABLED
664 0 : module procedure isMemberEllOrg_RK2
665 : use pm_kind, only: RKC => RK2
666 : #include "pm_ellipsoid@routines.inc.F90"
667 0 : end procedure
668 : #endif
669 :
670 : #if RK1_ENABLED
671 6 : module procedure isMemberEllOrg_RK1
672 : use pm_kind, only: RKC => RK1
673 : #include "pm_ellipsoid@routines.inc.F90"
674 6 : end procedure
675 : #endif
676 :
677 : #undef RK_ENABLED
678 :
679 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
680 :
681 : #undef Org_ENABLED
682 :
683 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
684 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
685 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
686 :
687 : #define Cen_ENABLED 1
688 :
689 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
690 :
691 : #define RK_ENABLED 1
692 :
693 : #if RK5_ENABLED
694 : module procedure isMemberEllCen_RK5
695 : use pm_kind, only: RKC => RK5
696 : #include "pm_ellipsoid@routines.inc.F90"
697 : end procedure
698 : #endif
699 :
700 : #if RK4_ENABLED
701 0 : module procedure isMemberEllCen_RK4
702 : use pm_kind, only: RKC => RK4
703 : #include "pm_ellipsoid@routines.inc.F90"
704 0 : end procedure
705 : #endif
706 :
707 : #if RK3_ENABLED
708 0 : module procedure isMemberEllCen_RK3
709 : use pm_kind, only: RKC => RK3
710 : #include "pm_ellipsoid@routines.inc.F90"
711 0 : end procedure
712 : #endif
713 :
714 : #if RK2_ENABLED
715 0 : module procedure isMemberEllCen_RK2
716 : use pm_kind, only: RKC => RK2
717 : #include "pm_ellipsoid@routines.inc.F90"
718 0 : end procedure
719 : #endif
720 :
721 : #if RK1_ENABLED
722 6 : module procedure isMemberEllCen_RK1
723 : use pm_kind, only: RKC => RK1
724 : #include "pm_ellipsoid@routines.inc.F90"
725 6 : end procedure
726 : #endif
727 :
728 : #undef RK_ENABLED
729 :
730 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
731 :
732 : #undef Cen_ENABLED
733 :
734 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
735 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
736 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
737 :
738 : #undef Ell_ENABLED
739 :
740 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
741 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
742 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
743 :
744 : #undef isMemberEll_ENABLED
745 :
746 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
747 :
748 : end submodule routines
|