Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer(kind=I4P), | intent(in) | :: | x(1:,1:) |
function encode_ascii_dataarray1_rank2_I4P(x) result(code)
!< Encode (Base64) a dataarray with 1 components of rank 2 (I4P).
integer(I4P), intent(in) :: x(1:,1:) !< Data variable
character(len=:), allocatable :: code !< Encoded base64 dataarray.
integer(I4P) :: n1 !< Counter.
integer(I4P) :: n2 !< Counter.
integer(I4P) :: l !< Length
integer(I4P) :: sp !< String pointer
integer(I4P) :: size_n1 !< Dimension 1 size
integer(I4P) :: size_n2 !< Dimension 2 size
size_n1 = size(x, dim=1)
size_n2 = size(x, dim=2)
l = DI4P + 1
sp = 0
code = repeat(' ',l*size_n1*size_n2)
do n2=1, size(x, dim=2)
do n1=1, size(x, dim=1)-1
code(sp+1:sp+l) = str(n=x(n1, n2))//' '
sp = sp + l
enddo
code(sp+1:sp+l) = ' '//str(n=x(size(x, dim=1), n2))
sp = sp + l
enddo
endfunction encode_ascii_dataarray1_rank2_I4P