ITM AMNS: User Interface  \$Id: Doxyfile 502 2015-10-15 12:23:45Z dpc $
strings.F90
Go to the documentation of this file.
1 
15 
16 !######################################tall#
17 !----------- strings --------------------
18 !########################################
19 module strings
20 
21  use f90_kind
22 
23  implicit none
24 
25  public
26 
27 
28  interface operator(//)
29  module procedure print_int_r
30  module procedure print_int_l
31  end interface
32 
33  interface operator(//)
34  module procedure print_dble_r
35  module procedure print_dble_l
36  end interface
37 
38  interface operator(//)
39  module procedure print_real_r
40  module procedure print_real_l
41  end interface
42 
43 contains
44 
45  ! int right
46  !----------
47  function print_int_r(char, zahl ) result(string)
48 
49  character(len=*), intent(in) :: char
50  integer(ikind) , intent(in) :: zahl
51  character(len=len(char)+int(log10(dble(max(1,zahl))))+ &
52  1-floor(sign(0.1d0,dble(zahl))))::string
53 
54  write(string,'(i0)')zahl
55  string=char//trim(adjustl(string))
56 
57  end function print_int_r
58 
59  ! int left
60  !---------
61  function print_int_l(zahl, char ) result(string)
62  character(len=*), intent(in) :: char
63  integer(ikind) , intent(in) :: zahl
64  character(len=len(char)+int(log10(dble(max(1,zahl))))+ &
65  1-floor(sign(0.1d0,dble(zahl)))) :: string
66 
67  write(string,'(i0)')zahl
68  string=trim(adjustl(string))//char
69  end function print_int_l
70 
71  !dble right
72  !----------
73  function print_dble_r(char, zahl ) result(string)
74  character(len=*), intent(in) :: char
75  real(rkind) , intent(in) :: zahl
76  character(len=len(char)+22)::string
77 
78  write(string,'(1p,e22.15)')zahl
79  string=char//trim(adjustl(string))
80 
81  end function print_dble_r
82 
83  !dble left
84  !----------
85  function print_dble_l(zahl, char ) result(string)
86  character(len=*), intent(in) :: char
87  real(rkind) , intent(in) :: zahl
88  character(len=len(char)+22)::string
89 
90  write(string,'(1p,e22.15)')zahl
91  string=char//trim(adjustl(string))
92 
93  end function print_dble_l
94 
95  !real right
96  !----------
97  function print_real_r(char, zahl ) result(string)
98  character(len=*), intent(in) :: char
99  real , intent(in) :: zahl
100  character(len=len(char)+12)::string
101 
102  write(string,'(1p,e12.6)')dble(zahl)
103  string=char//trim(adjustl(string))
104 
105  end function print_real_r
106 
107  !real left
108  !----------
109  function print_real_l(zahl, char ) result(string)
110  character(len=*), intent(in) :: char
111  real , intent(in) :: zahl
112  character(len=len(char)+12)::string
113 
114  write(string,'(1p,e12.6)')dble(zahl)
115  string=char//trim(adjustl(string))
116 
117  end function print_real_l
118 end module strings
function print_int_l(zahl, char)
Definition: strings.F90:61
character(len=len(char)+22) function print_dble_l(zahl, char)
Definition: strings.F90:85
character(len=len(char)+12) function print_real_r(char, zahl)
Definition: strings.F90:97
function print_int_r(char, zahl)
Definition: strings.F90:47
character(len=len(char)+22) function print_dble_r(char, zahl)
Definition: strings.F90:73
strings module from Silvio Gori's grid package
Definition: strings.F90:19
character(len=len(char)+12) function print_real_l(zahl, char)
Definition: strings.F90:109
if error_status len(self._reactants))
f90_kind module from Silvio Gori's grid package
Definition: f90_kind.F90:9