Generate and return an object of type note_type with the userspecified input attributes.
This generic interface serves as the custom constructor for objects of type note_type.
See the documentation of note_type for the documentation of the input arguments.
This custom constructor exists because of a GNU Fortran Compiler gfortran
bug in the implementation of the default constructor.
See the bug description below.
 See also
 note_type
 Test:
 test_pm_err
 Bug:
Status: Unresolved
Source: GNU Fortran Compiler gfortran
version 1113
Description: GNU Fortran Compiler gfortran
cannot properly construct the allocatable
scalar noncharacter
components of objects of type note_type using the default constructor.
For example, when unit
is set via the default constructor, the program behaves as if the unit
component of the object is allocated but unset, yielding a segmentation fault
error.
Remedy (as of ParaMonte Library version 2.0.0): For now, the custom constructor bypasses GNU Fortran Compiler gfortran
bug.
 Todo:
 Low Priority: A test should be implemented for arrays of size that can be represented only by an IKD integer.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.

If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
 Copyright
 Computational Data Science Lab
 Author:
 Amir Shahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas Austin
This is the derived type for constructing objects that contain the specifications of the generic interface setWarned along with a dynamic method show that acts as a convenience wrapper around the generic interface setWarned.
See the documentation of the parent type message_type for more details and inherited derived type components.
 Returns
warn
: An object of type warn_type containing the attributes and wrapper method for outputting a warning message.
Possible calling interfaces ⛓
type(warn_type) :: spec
, indent = indent &
, break = break &
, newline = newline &
, width = width &
, maxwidth = maxwidth &
, tmsize = tmsize &
, bmsize = bmsize &
, unit = unit &
, sticky = sticky &
)
This module contains classes and procedures for reporting and handling errors.
Generate and return an object of type note_type with the userspecified input attributes.
 See also
 mark_type
note_type
warn_type
stop_type
display_type
message_type
getStrWrapped
getCentered
setCentered
Example usage ⛓
7 use iso_fortran_env,
only:
output_unit
11 character(:, SK),
allocatable :: str, strWrapped
13 type(display_type) :: disp
17 str
= "ParaMonte is a serial/parallel library of Monte Carlo routines for \n&
21 &of mathematical objective functions of arbitrarydimensions, &
22 &in particular, the posterior distributions of Bayesian models in \n&
24 & + Machine Learning, and \n&
25 & + scientific inference, \n&
26 &with the design goal of unifying the \n&
27 & + automation (of Monte Carlo simulations), \n&
28 & + userfriendliness (of the library), \n&
29 & + accessibility (from multiple programming environments), \n&
30 & + highperformance (at runtime), and \n&
31 & + scalability (across many parallel processors)."
34 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
35 call disp%show(
"! Notify the user about an important message.")
36 call disp%show(
"!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
40 type(warn_type) :: warn
41 call disp%show(
"warn = warn_type(unit = disp%unit, newline = SK_'\n', prefix = SK_' ParaMonte')")
42 warn
= warn_type(unit
= disp%unit, newline
= SK_
'\n', prefix
= SK_
' ParaMonte')
44 call disp%show( str, deliml
= SK_
"""" )
46 call disp%show(
"call warn%show(str)")
49 call disp%show(
"call warn%show(str, width = 72_IK, sticky = .true._LK)")
50 call warn
%show(str, width
= 72_IK, sticky
= .true._LK)
52 call disp%show(
"call warn%show(str) ! same width as before.")
Generate and return an object of type stop_type with the userspecified input attributes.
This is a generic method of the derived type display_type with pass attribute.
This module contains classes and procedures for input/output (IO) or generic display operations on st...
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
This module defines the relevant Fortran kind typeparameters 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 CFortran Interoper...
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in CFortran Intero...
Generate and return an object of type display_type.
Example Unix compile command via Intel ifort
compiler ⛓
3ifort fpp standardsemantics O3 Wl,rpath,../../../lib I../../../inc main.F90 ../../../lib/libparamonte* o main.exe
Example Windows Batch compile command via Intel ifort
compiler ⛓
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standardsemantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
Example Unix / MinGW compile command via GNU gfortran
compiler ⛓
3gfortran cpp ffreelinelengthnone O3 Wl,rpath,../../../lib I../../../inc main.F90 ../../../lib/libparamonte* o main.exe
Example output ⛓
6warn
= warn_type(unit
= disp%unit, newline
= SK_
'\n', prefix
= SK_
' ParaMonte')
8"ParaMonte is a serial/parallel library of Monte Carlo routines for \n + optimization, \n + sampling, and \n + integration \nof mathematical objective functions of arbitrarydimensions, in particular, the posterior distributions of Bayesian models in \n + data science, \n + Machine Learning, and \n + scientific inference, \nwith the design goal of unifying the \n + automation (of Monte Carlo simulations), \n + userfriendliness (of the library), \n + accessibility (from multiple programming environments), \n + highperformance (at runtime), and \n + scalability (across many parallel processors)."
12 ParaMonte
 WARNING: ParaMonte is a serial
/parallel library of Monte Carlo routines for
13 ParaMonte
 WARNING:
+ optimization,
14 ParaMonte
 WARNING:
+ sampling, and
15 ParaMonte
 WARNING:
+ integration
16 ParaMonte
 WARNING: of mathematical objective functions of arbitrary
dimensions, in particular, the posterior distributions of Bayesian models in
17 ParaMonte
 WARNING:
+ data science,
18 ParaMonte
 WARNING:
+ Machine Learning, and
19 ParaMonte
 WARNING:
+ scientific inference,
20 ParaMonte
 WARNING: with the design goal of unifying the
21 ParaMonte
 WARNING:
+ automation(of Monte Carlo simulations),
22 ParaMonte
 WARNING:
+ user
friendliness(of the library),
23 ParaMonte
 WARNING:
+ accessibility(from multiple programming environments),
24 ParaMonte
 WARNING:
+ high
performance(at runtime), and
25 ParaMonte
 WARNING:
+ scalability(across many parallel processors).
27call warn
%show(str, width
= 72_IK, sticky
= .true._LK)
29 ParaMonte
 WARNING: ParaMonte is a serial
/parallel library of Monte Carlo routines for
30 ParaMonte
 WARNING:
+ optimization,
31 ParaMonte
 WARNING:
+ sampling, and
32 ParaMonte
 WARNING:
+ integration
33 ParaMonte
 WARNING: of mathematical objective functions of arbitrary
dimensions, in particular,
34 ParaMonte
 WARNING: the posterior distributions of Bayesian models in
35 ParaMonte
 WARNING:
+ data science,
36 ParaMonte
 WARNING:
+ Machine Learning, and
37 ParaMonte
 WARNING:
+ scientific inference,
38 ParaMonte
 WARNING: with the design goal of unifying the
39 ParaMonte
 WARNING:
+ automation(of Monte Carlo simulations),
40 ParaMonte
 WARNING:
+ user
friendliness(of the library),
41 ParaMonte
 WARNING:
+ accessibility(from multiple programming environments),
42 ParaMonte
 WARNING:
+ high
performance(at runtime), and
43 ParaMonte
 WARNING:
+ scalability(across many parallel processors).
47 ParaMonte
 WARNING: ParaMonte is a serial
/parallel library of Monte Carlo routines for
48 ParaMonte
 WARNING:
+ optimization,
49 ParaMonte
 WARNING:
+ sampling, and
50 ParaMonte
 WARNING:
+ integration
51 ParaMonte
 WARNING: of mathematical objective functions of arbitrary
dimensions, in particular,
52 ParaMonte
 WARNING: the posterior distributions of Bayesian models in
53 ParaMonte
 WARNING:
+ data science,
54 ParaMonte
 WARNING:
+ Machine Learning, and
55 ParaMonte
 WARNING:
+ scientific inference,
56 ParaMonte
 WARNING: with the design goal of unifying the
57 ParaMonte
 WARNING:
+ automation(of Monte Carlo simulations),
58 ParaMonte
 WARNING:
+ user
friendliness(of the library),
59 ParaMonte
 WARNING:
+ accessibility(from multiple programming environments),
60 ParaMonte
 WARNING:
+ high
performance(at runtime), and
61 ParaMonte
 WARNING:
+ scalability(across many parallel processors).
 Test:
 test_pm_err
 Bug:
Status: Unresolved
Source: GNU Fortran Compiler gfortran
version 1113
Description: GNU Fortran Compiler gfortran
cannot properly construct the allocatable
scalar noncharacter
components of objects of type warn_type using the default constructor.
For example, when unit
is set via the default constructor, the program behaves as if the unit
component of the object is allocated but unset, yielding a segmentation fault
error.
Remedy (as of ParaMonte Library version 2.0.0): For now, the custom constructor bypasses GNU Fortran Compiler gfortran
bug.
Final Remarks ⛓
If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.

If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.
This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.
 Copyright
 Computational Data Science Lab
 Author:
 Amir Shahmoradi, Tuesday March 7, 2017, 3:50 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas Austin
Definition at line 1278 of file pm_err.F90.