22#else /* default quoting macro */
23# define GET_QUOTED(X) #X
25# define QEND(X) GET_QUOTED(X)
43 use iso_fortran_env,
only: compiler_options, compiler_version
200#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
218#define PROGLANG cobol
219#define PROGNAME"COBOL"
228#define PROGLANG csharp
238#define PROGLANG fortran
239#define PROGNAME"Fortran"
244#define PROGNAME"Java"
246#elif JAVASCRIPT_ENABLED
248#define PROGLANG javascript
249#define PROGNAME"JavaScript"
253#define PROGLANG julia
254#define PROGNAME"Julia"
258#define PROGLANG matlab
259#define PROGNAME"MATLAB"
261#elif MATTHEMATICA_ENABLED
263#define PROGLANG mathematica
264#define PROGNAME"Wolfram Mathematica"
268#define PROGLANG python
269#define PROGNAME"Python"
279#define PROGNAME"Rust"
288#define PROGLANG swift
289#define PROGNAME"Swift"
293#define PROGLANG fortran
294#define PROGNAME"Fortran"
312 character(
*,
SK),
parameter ::
envname = PROGNAME
//" programming language"
332 logical(
LK) :: c
= .false._LK
333 logical(
LK) :: cobol
= .false._LK
334 logical(
LK) :: cpp
= .false._LK
335 logical(
LK) :: csharp
= .false._LK
336 logical(
LK) :: go
= .false._LK
337 logical(
LK) :: fortran
= .false._LK
338 logical(
LK) :: java
= .false._LK
339 logical(
LK) :: javascript
= .false._LK
340 logical(
LK) :: julia
= .false._LK
341 logical(
LK) :: matlab
= .false._LK
342 logical(
LK) :: mathematica
= .false._LK
343 logical(
LK) :: python
= .false._LK
344 logical(
LK) :: r
= .false._LK
345 logical(
LK) :: rust
= .false._LK
346 logical(
LK) :: sas
= .false._LK
347 logical(
LK) :: swift
= .false._LK
407#if INTEL_ENABLED || GNU_ENABLED
410#elif defined PARAMONTE_BUILD_TIMESTAMP
452#if defined __PARAMONTE_VERSION__
461#include "pm_paramonte@version.inc.F90"
508 SK_
"ParaMonte"//NLC// &
509 SK_
"Parallel Monte Carlo and"//NLC// &
510 SK_
"Machine Learning Library"//NLC// &
516 SK_
"Developed by"//NLC// &
518 SK_
"The computational Data Science Lab"//NLC// &
522 SK_
"Department of Physics"//NLC// &
523 SK_
"Data Science Program, College of Science"//NLC// &
524 SK_
"The University of Texas at Arlington"//NLC// &
526 SK_
"Multiscale Modeling Group"//NLC// &
527 SK_
"Center for Computational Oncology"//NLC// &
528 SK_
"Oden Institute for Computational Engineering and Sciences"//NLC// &
529 SK_
"Department of Aerospace Engineering and Engineering Mechanics"//NLC// &
530 SK_
"Department of Neurology, Dell-Seton Medical School"//NLC// &
531 SK_
"Department of Biomedical Engineering"//NLC// &
532 SK_
"The University of Texas at Austin"//NLC// &
534 SK_
"For questions and further information, please contact the PI:"//NLC// &
536 SK_
"Amir Shahmoradi"//NLC// &
538 SK_
"shahmoradi@utexas.edu"//NLC// &
547 SK_
"cdslab.org/pm"//NLC// &
622 PURE function getParaMonteSplash(width, lwsize, twsize, rwsize, bwsize, fill, lwfill, twfill, rwfill, bwfill)
result(splash)
623#if __INTEL_COMPILER && DLL_ENABLED && (_WIN32 || _WIN64)
630 integer(
IK) ,
intent(in) ,
optional :: width, lwsize, twsize, rwsize, bwsize
631 character(
1,
SK),
intent(in) ,
optional :: fill , lwfill, twfill, rwfill, bwfill
632 character(:,
SK),
allocatable :: splash
633 integer(
IK) ,
allocatable :: locNLC(:)
634 character(
1,
SK) :: fill_def , lwfill_def, twfill_def, rwfill_def, bwfill_def
635 integer(
IK) :: splashLen, iline, ibeg, iend, sbeg, lenNLC, linewidth, lenLocNLC
636 integer(
IK) :: lwsize_def, twsize_def, rwsize_def, bwsize_def
646 lenNLC
= len(
NLC,
IK)
651 linewidth
= max(
maxval(locNLC(
2 : lenLocNLC)
- locNLC(
1 : lenLocNLC
- 1))
- lenNLC,
getOption(
132_IK, width))
652 splashLen
= lenNLC
+ (twsize_def
+ lenLocNLC
+ bwsize_def)
* (linewidth
+ lenNLC)
653 allocate(
character(splashLen,
SK) :: splash)
654 splash(
1 : lenNLC)
= NLC
656 do iline
= 1, twsize_def
657 iend
= ibeg
+ linewidth
- 1_IK
658 splash(ibeg : iend)
= repeat(twfill_def, linewidth)
659 ibeg
= iend
+ lenNLC
+ 1
660 splash(iend
+ 1 : ibeg
- 1)
= NLC
662 if (lenLocNLC
> 0_IK)
then
664 do iline
= 1, lenLocNLC
665 iend
= ibeg
+ linewidth
- 1_IK
668 , lmsize
= lwsize_def
&
669 , rmsize
= rwsize_def
&
670 , lmfill
= lwfill_def
&
671 , rmfill
= rwfill_def
&
674 sbeg
= locNLC(iline)
+ lenNLC
675 ibeg
= iend
+ lenNLC
+ 1_IK
676 splash(iend
+ 1 : ibeg
- 1)
= NLC
681 , lmsize
= lwsize_def
&
682 , rmsize
= rwsize_def
&
683 , lmfill
= lwfill_def
&
684 , rmfill
= rwfill_def
&
688 do iline
= 1, bwsize_def
689 iend
= ibeg
+ linewidth
- 1_IK
690 splash(ibeg : iend)
= repeat(bwfill_def, linewidth)
691 ibeg
= iend
+ lenNLC
+ 1
692 splash(iend
+ 1 : ibeg
- 1)
= NLC
Center the contents of the input array within the output arrayCentered while filling the newly added ...
Return an allocatable array containing the indices of the locations within the input array where the ...
Allocate or resize (shrink or expand) an input allocatable scalar string or array of rank 1....
Generate and return the value of the optional input argument if it is present, otherwise,...
This module contains procedures and generic interfaces for resizing an input array and centering the ...
This module contains procedures and generic interfaces for finding locations of a pattern in arrays o...
This module contains procedures and generic interfaces for resizing allocatable arrays of various typ...
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
This module contains procedures, generic interfaces, and types for generating default values for opti...
This module contains procedures and data that provide general information about the ParaMonte library...
character(*, SK), parameter PARAMONTE_SPLASH
The public scalar character constant of default kind SK containing the ParaMonte splash information.
type(envis_type), parameter envis
The scalar constant object of type envis_type whose components are all .false. except the environment...
PURE character(:, SK) function, allocatable getParaMonteSplash(width, lwsize, twsize, rwsize, bwsize, fill, lwfill, twfill, rwfill, bwfill)
Generate and return an allocatable scalar character of default kind SK containing the ParaMonte libra...
character(*, SK), parameter PARAMONTE_VERSION
The public scalar character constant of default kind SK containing the ParaMonte library version.
character(*, SK), parameter PARAMONTE_BUILD_DATE
The public scalar character constant of default kind SK containing the ParaMonte library build date.
type(paramonte_type), parameter paramonte
The scalar module constant of type paramonte_type that can be used within the ParaMonte library to si...
character(*, SK), parameter PARAMONTE_COMPILER_OPTIONS
The scalar constant of type character of default kind SK, containing the compiler options used to bui...
character(*, SK), parameter envname
The scalar constant of type character of default kind SK containing the full generic name of the prog...
character(*, SK), parameter PARAMONTE_WEB_REPOSITORY
The scalar constant of type character of default kind SK, containing the web portal address for the P...
character(*, SK), parameter PARAMONTE_WEB_DOC
The scalar constant of type character of default kind SK, containing the web portal address for repor...
character(*, SK), parameter PARAMONTE_WEB_ISSUES
The scalar constant of type character of default kind SK, containing the web portal address for repor...
character(*, SK), parameter PARAMONTE_COMPILER_VERSION
The scalar constant of type character of default kind SK, containing the version of the compiler with...
This module contains classes and procedures for various string manipulations and inquiries.
character(*, SK), parameter UNDEFINED
The scalar character parameter of default kind SK containing "UNDEFINED".
character(*, SK), parameter NLC
The newline character of default kind SK as returned by new_line(SK_"a").
This is the derived type for generating objects containing scalar components of type logical named af...
This a derived type devoid of any components or methods whose instantiated objects are used within th...