17 use,
intrinsic :: ieee_arithmetic, only : ieee_value, ieee_quiet_nan, ieee_is_nan
88 integer(i1),
parameter :: empty_i1(0) = 0_i1
89 integer(i2),
parameter :: empty_i2(0) = 0_i2
90 integer(i4),
parameter :: empty_i4(0) = 0_i4
91 integer(i8),
parameter :: empty_i8(0) = 0_i8
92 character,
parameter :: sent_char = achar(0)
157 integer(i1),
intent(inout) ::
value
163 integer(i2),
intent(inout) ::
value
169 integer(i4),
intent(inout) ::
value
175 integer(i8),
intent(inout) ::
value
181 real(
sp),
intent(inout) ::
value
187 real(
dp),
intent(inout) ::
value
193 complex(spc),
intent(inout) ::
value
199 complex(dpc),
intent(inout) ::
value
205 character(len=*),
intent(inout) ::
value
212 character(*),
intent(in) ::
value
218 integer(i1),
intent(in) ::
value
224 integer(i2),
intent(in) ::
value
230 integer(i4),
intent(in) ::
value
236 integer(i8),
intent(in) ::
value
242 real(
sp),
intent(in) ::
value
248 real(
dp),
intent(in) ::
value
254 complex(spc),
intent(in) ::
value
260 complex(dpc),
intent(in) ::
value
267 character(*),
intent(in) ::
value
269 if ( len_trim(
value) /= 1 )
then
278 integer(i1),
intent(in) ::
value
279 integer(i1) :: sentinel
286 integer(i2),
intent(in) ::
value
287 integer(i2) :: sentinel
294 integer(i4),
intent(in) ::
value
295 integer(i4) :: sentinel
302 integer(i8),
intent(in) ::
value
303 integer(i8) :: sentinel
310 real(
sp),
intent(in) ::
value
316 real(
dp),
intent(in) ::
value
322 complex(spc),
intent(in) ::
value
328 complex(dpc),
intent(in) ::
value
Check given variable to be equal to the sentinel value.
Get sentinel values of the given kind.
Set variable to sentinel value.
Define number representations.
integer, parameter sp
Single Precision Real Kind.
integer, parameter i4
4 Byte Integer Kind
integer, parameter i8
8 Byte Integer Kind
integer, parameter i2
2 Byte Integer Kind
integer, parameter i1
1 Byte Integer Kind
integer, parameter dpc
Double Precision Complex Kind.
integer, parameter dp
Double Precision Real Kind.
integer, parameter spc
Single Precision Complex Kind.
Module to handle sentinels.
elemental logical function check_sentinel_dp(value)
Check for sentinel value for dp.
elemental integer(i4) function get_sentinel_i4(value)
Get sentinel value for i4.
pure integer(i1) function, public sentinel_i1()
Default sentinel value (-huge()-1) for i1.
pure character function, public sentinel_char()
Default sentinel value (Null character) for characters.
pure complex(dpc) function, public sentinel_dpc()
Default sentinel value (NaN) for dpc.
elemental integer(i8) function get_sentinel_i8(value)
Get sentinel value for i8.
elemental subroutine set_sentinel_i4(value)
Set sentinel value for i4.
elemental character function get_sentinel_char(value)
Get sentinel value for char.
elemental logical function check_sentinel_i2(value)
Check for sentinel value for i2.
elemental logical function check_sentinel_i8(value)
Check for sentinel value for i8.
pure complex(spc) function, public sentinel_spc()
Default sentinel value (NaN) for spc.
elemental subroutine set_sentinel_i1(value)
Set sentinel value for i1.
elemental real(dp) function get_sentinel_dp(value)
Get sentinel value for dp.
elemental complex(dpc) function get_sentinel_dpc(value)
Get sentinel value for dpc.
elemental integer(i1) function get_sentinel_i1(value)
Get sentinel value for i1.
pure integer(i2) function, public sentinel_i2()
Default sentinel value (-huge()-1) for i2.
pure real(sp) function, public sentinel_sp()
Default sentinel value (NaN) for sp.
elemental logical function check_sentinel_sp(value)
Check for sentinel value for sp.
elemental subroutine set_sentinel_char(value)
Set sentinel value for char.
pure integer(i8) function, public sentinel_i8()
Default sentinel value (-huge()-1) for i8.
elemental logical function check_sentinel_spc(value)
Check for sentinel value for spc.
elemental complex(spc) function get_sentinel_spc(value)
Get sentinel value for spc.
elemental integer(i2) function get_sentinel_i2(value)
Get sentinel value for i2.
elemental subroutine set_sentinel_i2(value)
Set sentinel value for i2.
elemental subroutine set_sentinel_i8(value)
Set sentinel value for i8.
pure integer(i4) function, public sentinel_i4()
Default sentinel value (-huge()-1) for i4.
elemental logical function check_sentinel_dpc(value)
Check for sentinel value for dpc.
elemental subroutine set_sentinel_dpc(value)
Set sentinel value for dpc.
elemental logical function check_sentinel_i4(value)
Check for sentinel value for i4.
elemental logical function check_sentinel_i1(value)
Check for sentinel value for i1.
elemental logical function check_sentinel_char(value)
Check for sentinel value for string.
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_sp(value)
Set sentinel value for sp.
pure real(dp) function, public sentinel_dp()
Default sentinel value (NaN) for dp.
elemental real(sp) function get_sentinel_sp(value)
Get sentinel value for sp.