ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_control.F90
Go to the documentation of this file.
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
42
43!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44
46
47 use pm_kind, only: SK
48
49 implicit none
50
51 character(*,SK), parameter :: MODULE_NAME = "@pm_control"
52
53!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54
78 type, abstract :: control_type
79 end type
80
81!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
82
112 type, extends(control_type) :: sequence_type
113 end type
114
137 type(sequence_type), parameter :: sequence = sequence_type()
138#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
139 !DIR$ ATTRIBUTES DLLEXPORT :: sequence
140#endif
141
142!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143
173 type, extends(control_type) :: recursion_type
174 end type
175
199#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
200 !DIR$ ATTRIBUTES DLLEXPORT :: recursion
201#endif
202
203!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
204
234 type, extends(control_type) :: iteration_type
235 end type
236
260#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
261 !DIR$ ATTRIBUTES DLLEXPORT :: iteration
262#endif
263
264!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
265
295 type, extends(control_type) :: selection_type
296 end type
297
321#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
322 !DIR$ ATTRIBUTES DLLEXPORT :: selection
323#endif
324
325!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
326
327end module pm_control ! LCOV_EXCL_LINE
This module contains abstract and concrete derived types that are required for compile-time resolutio...
Definition: pm_control.F90:45
type(iteration_type), parameter iteration
This is a scalar parameter object of type iteration_type that is exclusively used to request looping ...
Definition: pm_control.F90:259
type(sequence_type), parameter sequence
This is a scalar parameter object of type sequence_type that is exclusively used to request sequence ...
Definition: pm_control.F90:137
character(*, SK), parameter MODULE_NAME
Definition: pm_control.F90:51
type(selection_type), parameter selection
This is a scalar parameter object of type selection_type that is exclusively used to request selectio...
Definition: pm_control.F90:320
type(recursion_type), parameter recursion
This is a scalar parameter object of type recursion_type that is exclusively used to request recursiv...
Definition: pm_control.F90:198
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
This is an abstract derived type for constructing concrete derived types to distinguish various proce...
Definition: pm_control.F90:78
This is a concrete derived type whose instances are exclusively used to request looping procedure int...
Definition: pm_control.F90:234
This is a concrete derived type whose instances are exclusively used to request recursive procedure i...
Definition: pm_control.F90:173
This is a concrete derived type whose instances are exclusively used to request selection control flo...
Definition: pm_control.F90:295
This is a concrete derived type whose instances are exclusively used to request sequence control flow...
Definition: pm_control.F90:112