357 integer,
intent(in),
optional :: unit
363 character(*),
intent(in),
optional:: indent
368 integer :: out_unit, sec_ary_rev(imin:imax)
370 character(STRING):: indent_str
372 character(*),
parameter:: subname =
'DCScaledSecPutLine' 376 if (
present(unit))
then 384 if (
present(indent) )
then 385 if ( len(indent) /= 0 )
then 386 indent_len = len(indent)
387 indent_str(1:indent_len) = indent
391 sec_ary_rev(imin:imax) = sclsec % sec_ary(imax:imin:-1)
392 if ( sclsec % flag_negative )
then 397 if ( imax - imin + 1 == 6 )
then 399 & indent_str(1:indent_len) // &
400 &
'#<DC_SCALED_SEC:: @sign=%c @yotta=%d @exa=%d @tera=%d @mega=%d @base=%d @micro=%d>', &
401 & i = sec_ary_rev, c1 =
sign )
402 elseif ( imax - imin + 1 == 11 )
then 404 & indent_str(1:indent_len) // &
405 &
'#<DC_SCALED_SEC:: @sign=%c @yotta=%d @zetta=%d @exa=%d @peta=%d @tera=%d', &
406 & i = sec_ary_rev(imin:imin+4), c1 =
sign )
408 & indent_str(1:indent_len) // &
409 &
' @giga=%d @mega=%d @kilo=%d @base=%d @milli=%d @micro=%d>', &
410 & i = sec_ary_rev(imax-5:imax) )
413 & indent_str(1:indent_len) // &
414 &
'#<DC_SCALED_SEC:: @sign=%c @sec_ary=%*d>', &
415 & i = sec_ary_rev, n = (/ imax - imin + 1 /), c1 =
sign )
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
integer, parameter, public stdout
Unit number for Standard OUTPUT.
Handling character types.
Provides kind type parameter values.
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public string
Character length for string.