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_arrayChange](@ref pm_arrayChange).
19 : !>
20 : !> \finmain
21 : !>
22 : !> \author
23 : !> \AmirShahmoradi, Monday March 6, 2017, 3:22 pm, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin.<br>
24 :
25 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26 :
27 : submodule (pm_arrayChange) 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_arrayRange, only: getRange
40 : use pm_arrayChoice, only: setChoice
41 : implicit none
42 :
43 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44 :
45 : contains
46 :
47 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
48 :
49 : #define getChange_ENABLED 1
50 :
51 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
52 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 :
55 : #define Unif_ENABLED 1
56 :
57 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 :
61 : #define RNGD_ENABLED 1
62 :
63 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64 :
65 : #define SK_ENABLED 1
66 :
67 : #if SK5_ENABLED
68 : module procedure getChangeUnifRNGD_SK5
69 : use pm_kind, only: SKC => SK5
70 : use pm_distUnif, only: rng => rngf
71 : #include "pm_arrayChange@routines.inc.F90"
72 : end procedure
73 : #endif
74 :
75 : #if SK4_ENABLED
76 : module procedure getChangeUnifRNGD_SK4
77 : use pm_kind, only: SKC => SK4
78 : use pm_distUnif, only: rng => rngf
79 : #include "pm_arrayChange@routines.inc.F90"
80 : end procedure
81 : #endif
82 :
83 : #if SK3_ENABLED
84 : module procedure getChangeUnifRNGD_SK3
85 : use pm_kind, only: SKC => SK3
86 : use pm_distUnif, only: rng => rngf
87 : #include "pm_arrayChange@routines.inc.F90"
88 : end procedure
89 : #endif
90 :
91 : #if SK2_ENABLED
92 : module procedure getChangeUnifRNGD_SK2
93 : use pm_kind, only: SKC => SK2
94 : use pm_distUnif, only: rng => rngf
95 : #include "pm_arrayChange@routines.inc.F90"
96 : end procedure
97 : #endif
98 :
99 : #if SK1_ENABLED
100 332 : module procedure getChangeUnifRNGD_SK1
101 : use pm_kind, only: SKC => SK1
102 : use pm_distUnif, only: rng => rngf
103 : #include "pm_arrayChange@routines.inc.F90"
104 332 : end procedure
105 : #endif
106 :
107 : #undef SK_ENABLED
108 :
109 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 :
111 : #define IK_ENABLED 1
112 :
113 : #if IK5_ENABLED
114 300 : module procedure getChangeUnifRNGD_IK5
115 : use pm_kind, only: IKC => IK5
116 : use pm_distUnif, only: rng => rngf
117 : #include "pm_arrayChange@routines.inc.F90"
118 300 : end procedure
119 : #endif
120 :
121 : #if IK4_ENABLED
122 300 : module procedure getChangeUnifRNGD_IK4
123 : use pm_kind, only: IKC => IK4
124 : use pm_distUnif, only: rng => rngf
125 : #include "pm_arrayChange@routines.inc.F90"
126 300 : end procedure
127 : #endif
128 :
129 : #if IK3_ENABLED
130 330 : module procedure getChangeUnifRNGD_IK3
131 : use pm_kind, only: IKC => IK3
132 : use pm_distUnif, only: rng => rngf
133 : #include "pm_arrayChange@routines.inc.F90"
134 330 : end procedure
135 : #endif
136 :
137 : #if IK2_ENABLED
138 300 : module procedure getChangeUnifRNGD_IK2
139 : use pm_kind, only: IKC => IK2
140 : use pm_distUnif, only: rng => rngf
141 : #include "pm_arrayChange@routines.inc.F90"
142 300 : end procedure
143 : #endif
144 :
145 : #if IK1_ENABLED
146 300 : module procedure getChangeUnifRNGD_IK1
147 : use pm_kind, only: IKC => IK1
148 : use pm_distUnif, only: rng => rngf
149 : #include "pm_arrayChange@routines.inc.F90"
150 300 : end procedure
151 : #endif
152 :
153 : #undef IK_ENABLED
154 :
155 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156 :
157 : #define RK_ENABLED 1
158 :
159 : #if RK5_ENABLED
160 : module procedure getChangeUnifRNGD_RK5
161 : use pm_kind, only: RKC => RK5
162 : use pm_distUnif, only: rng => rngf
163 : #include "pm_arrayChange@routines.inc.F90"
164 : end procedure
165 : #endif
166 :
167 : #if RK4_ENABLED
168 300 : module procedure getChangeUnifRNGD_RK4
169 : use pm_kind, only: RKC => RK4
170 : use pm_distUnif, only: rng => rngf
171 : #include "pm_arrayChange@routines.inc.F90"
172 300 : end procedure
173 : #endif
174 :
175 : #if RK3_ENABLED
176 300 : module procedure getChangeUnifRNGD_RK3
177 : use pm_kind, only: RKC => RK3
178 : use pm_distUnif, only: rng => rngf
179 : #include "pm_arrayChange@routines.inc.F90"
180 300 : end procedure
181 : #endif
182 :
183 : #if RK2_ENABLED
184 300 : module procedure getChangeUnifRNGD_RK2
185 : use pm_kind, only: RKC => RK2
186 : use pm_distUnif, only: rng => rngf
187 : #include "pm_arrayChange@routines.inc.F90"
188 300 : end procedure
189 : #endif
190 :
191 : #if RK1_ENABLED
192 300 : module procedure getChangeUnifRNGD_RK1
193 : use pm_kind, only: RKC => RK1
194 : use pm_distUnif, only: rng => rngf
195 : #include "pm_arrayChange@routines.inc.F90"
196 300 : end procedure
197 : #endif
198 :
199 : #undef RK_ENABLED
200 :
201 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
202 :
203 : #undef RNGD_ENABLED
204 :
205 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
206 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208 :
209 : #undef Unif_ENABLED
210 :
211 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
212 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
213 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214 :
215 : #undef getChange_ENABLED
216 :
217 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
218 :
219 : #define setChange_ENABLED 1
220 :
221 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
222 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
223 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
224 :
225 : #define Unif_ENABLED 1
226 :
227 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
230 :
231 : #define RNGF_ENABLED 1
232 :
233 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
234 :
235 : #define SK_ENABLED 1
236 :
237 : #if SK5_ENABLED
238 : module procedure setChangeUnifRNGF_SK5
239 : use pm_kind, only: SKC => SK5
240 : #include "pm_arrayChange@routines.inc.F90"
241 : end procedure
242 : #endif
243 :
244 : #if SK4_ENABLED
245 : module procedure setChangeUnifRNGF_SK4
246 : use pm_kind, only: SKC => SK4
247 : #include "pm_arrayChange@routines.inc.F90"
248 : end procedure
249 : #endif
250 :
251 : #if SK3_ENABLED
252 : module procedure setChangeUnifRNGF_SK3
253 : use pm_kind, only: SKC => SK3
254 : #include "pm_arrayChange@routines.inc.F90"
255 : end procedure
256 : #endif
257 :
258 : #if SK2_ENABLED
259 : module procedure setChangeUnifRNGF_SK2
260 : use pm_kind, only: SKC => SK2
261 : #include "pm_arrayChange@routines.inc.F90"
262 : end procedure
263 : #endif
264 :
265 : #if SK1_ENABLED
266 135 : module procedure setChangeUnifRNGF_SK1
267 : use pm_kind, only: SKC => SK1
268 : #include "pm_arrayChange@routines.inc.F90"
269 135 : end procedure
270 : #endif
271 :
272 : #undef SK_ENABLED
273 :
274 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
275 :
276 : #define IK_ENABLED 1
277 :
278 : #if IK5_ENABLED
279 156 : module procedure setChangeUnifRNGF_IK5
280 : use pm_kind, only: IKC => IK5
281 : #include "pm_arrayChange@routines.inc.F90"
282 156 : end procedure
283 : #endif
284 :
285 : #if IK4_ENABLED
286 114 : module procedure setChangeUnifRNGF_IK4
287 : use pm_kind, only: IKC => IK4
288 : #include "pm_arrayChange@routines.inc.F90"
289 114 : end procedure
290 : #endif
291 :
292 : #if IK3_ENABLED
293 129 : module procedure setChangeUnifRNGF_IK3
294 : use pm_kind, only: IKC => IK3
295 : #include "pm_arrayChange@routines.inc.F90"
296 129 : end procedure
297 : #endif
298 :
299 : #if IK2_ENABLED
300 138 : module procedure setChangeUnifRNGF_IK2
301 : use pm_kind, only: IKC => IK2
302 : #include "pm_arrayChange@routines.inc.F90"
303 138 : end procedure
304 : #endif
305 :
306 : #if IK1_ENABLED
307 132 : module procedure setChangeUnifRNGF_IK1
308 : use pm_kind, only: IKC => IK1
309 : #include "pm_arrayChange@routines.inc.F90"
310 132 : end procedure
311 : #endif
312 :
313 : #undef IK_ENABLED
314 :
315 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
316 :
317 : #define RK_ENABLED 1
318 :
319 : #if RK5_ENABLED
320 : module procedure setChangeUnifRNGF_RK5
321 : use pm_kind, only: RKC => RK5
322 : #include "pm_arrayChange@routines.inc.F90"
323 : end procedure
324 : #endif
325 :
326 : #if RK4_ENABLED
327 171 : module procedure setChangeUnifRNGF_RK4
328 : use pm_kind, only: RKC => RK4
329 : #include "pm_arrayChange@routines.inc.F90"
330 171 : end procedure
331 : #endif
332 :
333 : #if RK3_ENABLED
334 171 : module procedure setChangeUnifRNGF_RK3
335 : use pm_kind, only: RKC => RK3
336 : #include "pm_arrayChange@routines.inc.F90"
337 171 : end procedure
338 : #endif
339 :
340 : #if RK2_ENABLED
341 147 : module procedure setChangeUnifRNGF_RK2
342 : use pm_kind, only: RKC => RK2
343 : #include "pm_arrayChange@routines.inc.F90"
344 147 : end procedure
345 : #endif
346 :
347 : #if RK1_ENABLED
348 156 : module procedure setChangeUnifRNGF_RK1
349 : use pm_kind, only: RKC => RK1
350 : #include "pm_arrayChange@routines.inc.F90"
351 156 : end procedure
352 : #endif
353 :
354 : #undef RK_ENABLED
355 :
356 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
357 :
358 : #undef RNGF_ENABLED
359 :
360 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
361 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
362 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
363 :
364 : #define RNGX_ENABLED 1
365 :
366 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 :
368 : #define SK_ENABLED 1
369 :
370 : #if SK5_ENABLED
371 : module procedure setChangeUnifRNGX_SK5
372 : use pm_kind, only: SKC => SK5
373 : #include "pm_arrayChange@routines.inc.F90"
374 : end procedure
375 : #endif
376 :
377 : #if SK4_ENABLED
378 : module procedure setChangeUnifRNGX_SK4
379 : use pm_kind, only: SKC => SK4
380 : #include "pm_arrayChange@routines.inc.F90"
381 : end procedure
382 : #endif
383 :
384 : #if SK3_ENABLED
385 : module procedure setChangeUnifRNGX_SK3
386 : use pm_kind, only: SKC => SK3
387 : #include "pm_arrayChange@routines.inc.F90"
388 : end procedure
389 : #endif
390 :
391 : #if SK2_ENABLED
392 : module procedure setChangeUnifRNGX_SK2
393 : use pm_kind, only: SKC => SK2
394 : #include "pm_arrayChange@routines.inc.F90"
395 : end procedure
396 : #endif
397 :
398 : #if SK1_ENABLED
399 197 : module procedure setChangeUnifRNGX_SK1
400 : use pm_kind, only: SKC => SK1
401 : #include "pm_arrayChange@routines.inc.F90"
402 197 : end procedure
403 : #endif
404 :
405 : #undef SK_ENABLED
406 :
407 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
408 :
409 : #define IK_ENABLED 1
410 :
411 : #if IK5_ENABLED
412 144 : module procedure setChangeUnifRNGX_IK5
413 : use pm_kind, only: IKC => IK5
414 : #include "pm_arrayChange@routines.inc.F90"
415 144 : end procedure
416 : #endif
417 :
418 : #if IK4_ENABLED
419 186 : module procedure setChangeUnifRNGX_IK4
420 : use pm_kind, only: IKC => IK4
421 : #include "pm_arrayChange@routines.inc.F90"
422 186 : end procedure
423 : #endif
424 :
425 : #if IK3_ENABLED
426 201 : module procedure setChangeUnifRNGX_IK3
427 : use pm_kind, only: IKC => IK3
428 : #include "pm_arrayChange@routines.inc.F90"
429 201 : end procedure
430 : #endif
431 :
432 : #if IK2_ENABLED
433 162 : module procedure setChangeUnifRNGX_IK2
434 : use pm_kind, only: IKC => IK2
435 : #include "pm_arrayChange@routines.inc.F90"
436 162 : end procedure
437 : #endif
438 :
439 : #if IK1_ENABLED
440 168 : module procedure setChangeUnifRNGX_IK1
441 : use pm_kind, only: IKC => IK1
442 : #include "pm_arrayChange@routines.inc.F90"
443 168 : end procedure
444 : #endif
445 :
446 : #undef IK_ENABLED
447 :
448 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
449 :
450 : #define RK_ENABLED 1
451 :
452 : #if RK5_ENABLED
453 : module procedure setChangeUnifRNGX_RK5
454 : use pm_kind, only: RKC => RK5
455 : #include "pm_arrayChange@routines.inc.F90"
456 : end procedure
457 : #endif
458 :
459 : #if RK4_ENABLED
460 129 : module procedure setChangeUnifRNGX_RK4
461 : use pm_kind, only: RKC => RK4
462 : #include "pm_arrayChange@routines.inc.F90"
463 129 : end procedure
464 : #endif
465 :
466 : #if RK3_ENABLED
467 129 : module procedure setChangeUnifRNGX_RK3
468 : use pm_kind, only: RKC => RK3
469 : #include "pm_arrayChange@routines.inc.F90"
470 129 : end procedure
471 : #endif
472 :
473 : #if RK2_ENABLED
474 153 : module procedure setChangeUnifRNGX_RK2
475 : use pm_kind, only: RKC => RK2
476 : #include "pm_arrayChange@routines.inc.F90"
477 153 : end procedure
478 : #endif
479 :
480 : #if RK1_ENABLED
481 144 : module procedure setChangeUnifRNGX_RK1
482 : use pm_kind, only: RKC => RK1
483 : #include "pm_arrayChange@routines.inc.F90"
484 144 : end procedure
485 : #endif
486 :
487 : #undef RK_ENABLED
488 :
489 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
490 :
491 : #undef RNGX_ENABLED
492 :
493 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
494 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
495 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
496 :
497 : #undef Unif_ENABLED
498 :
499 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
500 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
501 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
502 :
503 : #undef setChange_ENABLED
504 :
505 : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
506 :
507 : #undef CHECK_ASSERTION
508 :
509 : end submodule routines
|