FORCES
FORtran lib for Comp. Env. Sys.
|
Module to handle sentinels. More...
Data Types | |
interface | check_sentinel |
Check given variable to be equal to the sentinel value. More... | |
interface | get_sentinel |
Get sentinel values of the given kind. More... | |
interface | set_sentinel |
Set variable to sentinel value. More... | |
Functions/Subroutines | |
pure character function, public | sentinel_char () |
Default sentinel value (Null character) for characters. | |
pure integer(i1) function, public | sentinel_i1 () |
Default sentinel value (-huge()-1) for i1. | |
pure integer(i2) function, public | sentinel_i2 () |
Default sentinel value (-huge()-1) for i2. | |
pure integer(i4) function, public | sentinel_i4 () |
Default sentinel value (-huge()-1) for i4. | |
pure integer(i8) function, public | sentinel_i8 () |
Default sentinel value (-huge()-1) for i8. | |
pure real(sp) function, public | sentinel_sp () |
Default sentinel value (NaN) for sp. | |
pure real(dp) function, public | sentinel_dp () |
Default sentinel value (NaN) for dp. | |
pure complex(spc) function, public | sentinel_spc () |
Default sentinel value (NaN) for spc. | |
pure complex(dpc) function, public | sentinel_dpc () |
Default sentinel value (NaN) for dpc. | |
elemental subroutine | set_sentinel_i1 (value) |
Set sentinel value for i1. | |
elemental subroutine | set_sentinel_i2 (value) |
Set sentinel value for i2. | |
elemental subroutine | set_sentinel_i4 (value) |
Set sentinel value for i4. | |
elemental subroutine | set_sentinel_i8 (value) |
Set sentinel value for i8. | |
elemental subroutine | set_sentinel_sp (value) |
Set sentinel value for sp. | |
elemental subroutine | set_sentinel_dp (value) |
Set sentinel value for dp. | |
elemental subroutine | set_sentinel_spc (value) |
Set sentinel value for spc. | |
elemental subroutine | set_sentinel_dpc (value) |
Set sentinel value for dpc. | |
elemental subroutine | set_sentinel_char (value) |
Set sentinel value for char. | |
elemental character function | get_sentinel_char (value) |
Get sentinel value for char. | |
elemental integer(i1) function | get_sentinel_i1 (value) |
Get sentinel value for i1. | |
elemental integer(i2) function | get_sentinel_i2 (value) |
Get sentinel value for i2. | |
elemental integer(i4) function | get_sentinel_i4 (value) |
Get sentinel value for i4. | |
elemental integer(i8) function | get_sentinel_i8 (value) |
Get sentinel value for i8. | |
elemental real(sp) function | get_sentinel_sp (value) |
Get sentinel value for sp. | |
elemental real(dp) function | get_sentinel_dp (value) |
Get sentinel value for dp. | |
elemental complex(spc) function | get_sentinel_spc (value) |
Get sentinel value for spc. | |
elemental complex(dpc) function | get_sentinel_dpc (value) |
Get sentinel value for dpc. | |
elemental logical function | check_sentinel_char (value) |
Check for sentinel value for string. | |
elemental logical function | check_sentinel_i1 (value) |
Check for sentinel value for i1. | |
elemental logical function | check_sentinel_i2 (value) |
Check for sentinel value for i2. | |
elemental logical function | check_sentinel_i4 (value) |
Check for sentinel value for i4. | |
elemental logical function | check_sentinel_i8 (value) |
Check for sentinel value for i8. | |
elemental logical function | check_sentinel_sp (value) |
Check for sentinel value for sp. | |
elemental logical function | check_sentinel_dp (value) |
Check for sentinel value for dp. | |
elemental logical function | check_sentinel_spc (value) |
Check for sentinel value for spc. | |
elemental logical function | check_sentinel_dpc (value) |
Check for sentinel value for dpc. | |
Variables | |
integer(i1), dimension(0), parameter | empty_i1 = 0_i1 |
integer(i2), dimension(0), parameter | empty_i2 = 0_i2 |
integer(i4), dimension(0), parameter | empty_i4 = 0_i4 |
integer(i8), dimension(0), parameter | empty_i8 = 0_i8 |
character, parameter | sent_char = achar(0) |
Module to handle sentinels.
This module provides standard sentinels for all used types as well as set, get and check routines. Sentinels are used to mark variables in order to check if they were accessed by an algorithm. A common use case is to check if variables were set by reading a fortran namelist.
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/.
|
private |
Check for sentinel value for string.
[in] | value | value to determine sentinel |
Definition at line 266 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_char().
|
private |
Check for sentinel value for dp.
[in] | value | value to determine sentinel |
Definition at line 315 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_dp().
|
private |
Check for sentinel value for dpc.
[in] | value | value to determine sentinel |
Definition at line 327 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_dpc().
|
private |
Check for sentinel value for i1.
[in] | value | value to determine sentinel |
Definition at line 277 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_i1().
|
private |
Check for sentinel value for i2.
[in] | value | value to determine sentinel |
Definition at line 285 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_i2().
|
private |
Check for sentinel value for i4.
[in] | value | value to determine sentinel |
Definition at line 293 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_i4().
|
private |
Check for sentinel value for i8.
[in] | value | value to determine sentinel |
Definition at line 301 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_i8().
|
private |
Check for sentinel value for sp.
[in] | value | value to determine sentinel |
Definition at line 309 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_sp().
|
private |
Check for sentinel value for spc.
[in] | value | value to determine sentinel |
Definition at line 321 of file mo_sentinel.f90.
Referenced by mo_sentinel::check_sentinel::check_sentinel_spc().
|
private |
Get sentinel value for char.
[in] | value | value to determine sentinel |
Definition at line 211 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_char().
|
private |
Get sentinel value for dp.
[in] | value | value to determine sentinel |
Definition at line 247 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_dp().
|
private |
Get sentinel value for dpc.
[in] | value | value to determine sentinel |
Definition at line 259 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_dpc().
|
private |
Get sentinel value for i1.
[in] | value | value to determine sentinel |
Definition at line 217 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_i1().
|
private |
Get sentinel value for i2.
[in] | value | value to determine sentinel |
Definition at line 223 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_i2().
|
private |
Get sentinel value for i4.
[in] | value | value to determine sentinel |
Definition at line 229 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_i4().
|
private |
Get sentinel value for i8.
[in] | value | value to determine sentinel |
Definition at line 235 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_i8().
|
private |
Get sentinel value for sp.
[in] | value | value to determine sentinel |
Definition at line 241 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_sp().
|
private |
Get sentinel value for spc.
[in] | value | value to determine sentinel |
Definition at line 253 of file mo_sentinel.f90.
Referenced by mo_sentinel::get_sentinel::get_sentinel_spc().
pure character function, public mo_sentinel::sentinel_char |
Default sentinel value (Null character) for characters.
Definition at line 98 of file mo_sentinel.f90.
References sentinel_char().
Referenced by mo_sentinel::get_sentinel::get_sentinel_char(), sentinel_char(), and mo_sentinel::set_sentinel::set_sentinel_char().
pure real(dp) function, public mo_sentinel::sentinel_dp |
Default sentinel value (NaN) for dp.
Definition at line 134 of file mo_sentinel.f90.
References sentinel_dp().
Referenced by mo_sentinel::get_sentinel::get_sentinel_dp(), sentinel_dp(), sentinel_dpc(), and mo_sentinel::set_sentinel::set_sentinel_dp().
pure complex(dpc) function, public mo_sentinel::sentinel_dpc |
Default sentinel value (NaN) for dpc.
Definition at line 148 of file mo_sentinel.f90.
References mo_kind::dpc, sentinel_dp(), and sentinel_dpc().
Referenced by mo_sentinel::get_sentinel::get_sentinel_dpc(), sentinel_dpc(), and mo_sentinel::set_sentinel::set_sentinel_dpc().
pure integer(i1) function, public mo_sentinel::sentinel_i1 |
Default sentinel value (-huge()-1) for i1.
Definition at line 104 of file mo_sentinel.f90.
References sentinel_i1().
Referenced by mo_sentinel::check_sentinel::check_sentinel_i1(), mo_sentinel::get_sentinel::get_sentinel_i1(), sentinel_i1(), and mo_sentinel::set_sentinel::set_sentinel_i1().
pure integer(i2) function, public mo_sentinel::sentinel_i2 |
Default sentinel value (-huge()-1) for i2.
Definition at line 110 of file mo_sentinel.f90.
References sentinel_i2().
Referenced by mo_sentinel::check_sentinel::check_sentinel_i2(), mo_sentinel::get_sentinel::get_sentinel_i2(), sentinel_i2(), and mo_sentinel::set_sentinel::set_sentinel_i2().
pure integer(i4) function, public mo_sentinel::sentinel_i4 |
Default sentinel value (-huge()-1) for i4.
Definition at line 116 of file mo_sentinel.f90.
References sentinel_i4().
Referenced by mo_sentinel::check_sentinel::check_sentinel_i4(), mo_sentinel::get_sentinel::get_sentinel_i4(), sentinel_i4(), and mo_sentinel::set_sentinel::set_sentinel_i4().
pure integer(i8) function, public mo_sentinel::sentinel_i8 |
Default sentinel value (-huge()-1) for i8.
Definition at line 122 of file mo_sentinel.f90.
References sentinel_i8().
Referenced by mo_sentinel::check_sentinel::check_sentinel_i8(), mo_sentinel::get_sentinel::get_sentinel_i8(), sentinel_i8(), and mo_sentinel::set_sentinel::set_sentinel_i8().
pure real(sp) function, public mo_sentinel::sentinel_sp |
Default sentinel value (NaN) for sp.
Definition at line 128 of file mo_sentinel.f90.
References sentinel_sp().
Referenced by mo_sentinel::get_sentinel::get_sentinel_sp(), sentinel_sp(), sentinel_spc(), and mo_sentinel::set_sentinel::set_sentinel_sp().
pure complex(spc) function, public mo_sentinel::sentinel_spc |
Default sentinel value (NaN) for spc.
Definition at line 140 of file mo_sentinel.f90.
References sentinel_sp(), sentinel_spc(), and mo_kind::spc.
Referenced by mo_sentinel::get_sentinel::get_sentinel_spc(), sentinel_spc(), and mo_sentinel::set_sentinel::set_sentinel_spc().
|
private |
Set sentinel value for char.
[in,out] | value | value to be set to sentinel |
Definition at line 204 of file mo_sentinel.f90.
|
private |
Set sentinel value for dp.
[in,out] | value | value to be set to sentinel |
Definition at line 186 of file mo_sentinel.f90.
|
private |
Set sentinel value for dpc.
[in,out] | value | value to be set to sentinel |
Definition at line 198 of file mo_sentinel.f90.
|
private |
Set sentinel value for i1.
[in,out] | value | value to be set to sentinel |
Definition at line 156 of file mo_sentinel.f90.
|
private |
Set sentinel value for i2.
[in,out] | value | value to be set to sentinel |
Definition at line 162 of file mo_sentinel.f90.
|
private |
Set sentinel value for i4.
[in,out] | value | value to be set to sentinel |
Definition at line 168 of file mo_sentinel.f90.
|
private |
Set sentinel value for i8.
[in,out] | value | value to be set to sentinel |
Definition at line 174 of file mo_sentinel.f90.
|
private |
Set sentinel value for sp.
[in,out] | value | value to be set to sentinel |
Definition at line 180 of file mo_sentinel.f90.
|
private |
Set sentinel value for spc.
[in,out] | value | value to be set to sentinel |
Definition at line 192 of file mo_sentinel.f90.
|
private |
Definition at line 88 of file mo_sentinel.f90.
|
private |
Definition at line 89 of file mo_sentinel.f90.
|
private |
Definition at line 90 of file mo_sentinel.f90.
|
private |
Definition at line 91 of file mo_sentinel.f90.
|
private |
Definition at line 92 of file mo_sentinel.f90.