SUEWS API Site
Documentation of SUEWS source code
Public Member Functions | List of all members
strings::value Interface Reference

Public Member Functions

subroutine value_dr (str, rnum, ios)
 
subroutine value_sr (str, rnum, ios)
 
subroutine value_di (str, inum, ios)
 
subroutine value_si (str, inum, ios)
 

Detailed Description

Definition at line 30 of file suews_util_stringmod.f95.

Member Function/Subroutine Documentation

◆ value_di()

subroutine strings::value::value_di ( character(len=*)  str,
integer(ki8)  inum,
  ios 
)

Definition at line 219 of file suews_util_stringmod.f95.

219 
220 ! Converts number string to a double precision integer value
221 
222  character(len=*)::str
223  integer(ki8) :: inum
224  real(kr8) :: rnum
225 
226  call value_dr(str, rnum, ios)
227  if (abs(rnum) > huge(real(inum, kr8))) then
228  ios = 15
229  return
230  end if
231  inum = nint(rnum, ki8)
232 

◆ value_dr()

subroutine strings::value::value_dr ( character(len=*)  str,
real(kr8)  rnum,
integer  ios 
)

Definition at line 179 of file suews_util_stringmod.f95.

179 
180 ! Converts number string to a double precision real number
181 
182  character(len=*)::str
183  real(kr8)::rnum
184  integer :: ios
185 
186  ilen = len_trim(str)
187  ipos = scan(str, 'Ee')
188  if (.not. is_digit(str(ilen:ilen)) .and. ipos /= 0) then
189  ios = 3
190  return
191  end if
192  read (str, *, iostat=ios) rnum
193 

◆ value_si()

subroutine strings::value::value_si ( character(len=*)  str,
integer(ki4)  inum,
  ios 
)

Definition at line 238 of file suews_util_stringmod.f95.

238 
239 ! Converts number string to a single precision integer value
240 
241  character(len=*)::str
242  integer(ki4) :: inum
243  real(kr8) :: rnum
244 
245  call value_dr(str, rnum, ios)
246  if (abs(rnum) > huge(inum)) then
247  ios = 15
248  return
249  end if
250  inum = nint(rnum, ki4)
251 

◆ value_sr()

subroutine strings::value::value_sr ( character(len=*)  str,
real(kr4)  rnum,
  ios 
)

Definition at line 199 of file suews_util_stringmod.f95.

199 
200 ! Converts number string to a single precision real number
201 
202  character(len=*)::str
203  real(kr4) :: rnum
204  real(kr8) :: rnumd
205 
206  call value_dr(str, rnumd, ios)
207  if (abs(rnumd) > huge(rnum)) then
208  ios = 15
209  return
210  end if
211  if (abs(rnumd) < tiny(rnum)) rnum = 0.0_kr4
212  rnum = real(rnumd, kr4)
213 

The documentation for this interface was generated from the following file: