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