Skip to content

Commit

Permalink
feat(string_t): add double-precision constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
rouson committed Jan 1, 2025
1 parent ab70ef2 commit 4839127
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
8 changes: 7 additions & 1 deletion src/julienne/julienne_string_m.f90
Original file line number Diff line number Diff line change
Expand Up @@ -68,12 +68,18 @@ elemental module function from_default_integer(i) result(string)
type(string_t) string
end function

elemental module function from_real(x) result(string)
elemental module function from_default_real(x) result(string)
implicit none
real, intent(in) :: x
type(string_t) string
end function

elemental module function from_double_precision(x) result(string)
implicit none
double precision, intent(in) :: x
type(string_t) string
end function

end interface

interface operator(.cat.)
Expand Down
15 changes: 10 additions & 5 deletions src/julienne/julienne_string_s.f90
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,19 @@
end procedure

module procedure from_default_integer
integer, parameter :: sign_width = 1, digits_width = range(i) + 1
character(len = digits_width + sign_width) characters
write(characters, '(i0)') i
character(len=11) characters
write(characters, '(g0)') i
string = string_t(trim(characters))
end procedure

module procedure from_real
character(len=100) characters
module procedure from_default_real
character(len=16) characters
write(characters, '(g0)') x
string = string_t(trim(characters))
end procedure

module procedure from_double_precision
character(len=24) characters
write(characters, '(g0)') x
string = string_t(trim(characters))
end procedure
Expand Down

0 comments on commit 4839127

Please sign in to comment.