FORCES
FORtran lib for Comp. Env. Sys.
|
Append (rows) scalars, vectors, and matrixes onto existing array. More...
Public Member Functions | |
subroutine | append_i4_v_s (vec1, sca2) |
subroutine | append_i4_v_v (vec1, vec2) |
subroutine | append_i4_m_m (mat1, mat2, fill_value) |
subroutine | append_i4_3d (mat1, mat2, fill_value) |
subroutine | append_i8_v_s (vec1, sca2) |
subroutine | append_i8_v_v (vec1, vec2) |
subroutine | append_i8_m_m (mat1, mat2, fill_value) |
subroutine | append_i8_3d (mat1, mat2, fill_value) |
subroutine | append_sp_v_s (vec1, sca2) |
subroutine | append_sp_v_v (vec1, vec2) |
subroutine | append_sp_m_m (mat1, mat2, fill_value) |
subroutine | append_sp_3d (mat1, mat2, fill_value) |
subroutine | append_dp_v_s (vec1, sca2) |
subroutine | append_dp_v_v (vec1, vec2) |
subroutine | append_dp_m_m (mat1, mat2, fill_value, idim) |
subroutine | append_dp_3d (mat1, mat2, fill_value, idim) |
subroutine | append_dp_4d (mat1, mat2, fill_value, idim) |
subroutine | append_char_v_s (vec1, sca2) |
subroutine | append_char_v_v (vec1, vec2) |
subroutine | append_char_m_m (mat1, mat2, fill_value) |
subroutine | append_char_3d (mat1, mat2, fill_value) |
subroutine | append_lgt_v_s (vec1, sca2) |
subroutine | append_lgt_v_v (vec1, vec2) |
subroutine | append_lgt_m_m (mat1, mat2, fill_value, idim) |
subroutine | append_lgt_3d (mat1, mat2, fill_value, idim) |
subroutine | append_lgt_4d (mat1, mat2, fill_value, idim) |
Append (rows) scalars, vectors, and matrixes onto existing array.
Appends one input to the rows of another, i.e. append on the first dimension. Append variants for 3d and 4d also exists.
The input might be a scalar, a vector or a matrix.
Possibilities are:
Example
Append input1 with input2
See also test folder for a detailed example, "test/test_mo_append/".
[in] | input2 | Values to append. Can be integer(i4/i8) , real(sp/dp) , logical , or character(len=*) and also scalar, dimension(:) , or dimension(:,:) .Includes 3d version, where the append is always done along the first dimension. 4d version is available for real(dp) and logical , where append can be done in any component of the dimension.If not scalar then the columns have to agree with input1 . |
[in,out] | `allocatable` :: input1 | Array to be appended to. Can be integer(i4/i8) , real(sp/dp) , logical , or character(len=*) . Must be dimension(:) or dimension(:,:) , and allocatable .If input2 is not scalar then it must be size(input1,2) = size(input2,2) . |
[in] | optional :: fill_value | Filler value if number of columns do not coincide. Then the largest column will be taken and empty elements from the generated column will be filled by this value. |
[in] | integer(i4), optional :: idim | Applicable when appending matrix-matrix, 3d, and 4d for logical and real(dp) . Determines along which dimension input2 is appended to. |
input1
and input2
have to fit together, i.e. number of columns input1 = number of columns input2. Definition at line 101 of file mo_append.f90.
subroutine mo_append::append::append_char_3d | ( | character(len=*), dimension(:,:,:), intent(inout), allocatable | mat1, |
character(len=*), dimension(:,:,:), intent(in) | mat2, | ||
character(len=*), intent(in), optional | fill_value | ||
) |
Definition at line 1176 of file mo_append.f90.
subroutine mo_append::append::append_char_m_m | ( | character(len=*), dimension(:,:), intent(inout), allocatable | mat1, |
character(len=*), dimension(:,:), intent(in) | mat2, | ||
character(len=*), intent(in), optional | fill_value | ||
) |
Definition at line 1119 of file mo_append.f90.
subroutine mo_append::append::append_char_v_s | ( | character(len=*), dimension(:), intent(inout), allocatable | vec1, |
character(len=*), intent(in) | sca2 | ||
) |
Definition at line 1061 of file mo_append.f90.
subroutine mo_append::append::append_char_v_v | ( | character(len=*), dimension(:), intent(inout), allocatable | vec1, |
character(len=*), dimension(:), intent(in) | vec2 | ||
) |
Definition at line 1091 of file mo_append.f90.
subroutine mo_append::append::append_dp_3d | ( | real(dp), dimension(:,:,:), intent(inout), allocatable | mat1, |
real(dp), dimension(:,:,:), intent(in) | mat2, | ||
real(dp), intent(in), optional | fill_value, | ||
integer(i4), intent(in), optional | idim | ||
) |
Definition at line 875 of file mo_append.f90.
subroutine mo_append::append::append_dp_4d | ( | real(dp), dimension(:,:,:,:), intent(inout), allocatable | mat1, |
real(dp), dimension(:,:,:,:), intent(in) | mat2, | ||
real(dp), intent(in), optional | fill_value, | ||
integer(i4), intent(in), optional | idim | ||
) |
Definition at line 959 of file mo_append.f90.
subroutine mo_append::append::append_dp_m_m | ( | real(dp), dimension(:,:), intent(inout), allocatable | mat1, |
real(dp), dimension(:,:), intent(in) | mat2, | ||
real(dp), intent(in), optional | fill_value, | ||
integer(i4), intent(in), optional | idim | ||
) |
Definition at line 777 of file mo_append.f90.
subroutine mo_append::append::append_dp_v_s | ( | real(dp), dimension(:), intent(inout), allocatable | vec1, |
real(dp), intent(in) | sca2 | ||
) |
Definition at line 717 of file mo_append.f90.
subroutine mo_append::append::append_dp_v_v | ( | real(dp), dimension(:), intent(inout), allocatable | vec1, |
real(dp), dimension(:), intent(in) | vec2 | ||
) |
Definition at line 747 of file mo_append.f90.
subroutine mo_append::append::append_i4_3d | ( | integer(i4), dimension(:,:,:), intent(inout), allocatable | mat1, |
integer(i4), dimension(:,:,:), intent(in) | mat2, | ||
integer(i4), intent(in), optional | fill_value | ||
) |
Definition at line 342 of file mo_append.f90.
subroutine mo_append::append::append_i4_m_m | ( | integer(i4), dimension(:,:), intent(inout), allocatable | mat1, |
integer(i4), dimension(:,:), intent(in) | mat2, | ||
integer(i4), intent(in), optional | fill_value | ||
) |
Definition at line 285 of file mo_append.f90.
subroutine mo_append::append::append_i4_v_s | ( | integer(i4), dimension(:), intent(inout), allocatable | vec1, |
integer(i4), intent(in) | sca2 | ||
) |
Definition at line 225 of file mo_append.f90.
subroutine mo_append::append::append_i4_v_v | ( | integer(i4), dimension(:), intent(inout), allocatable | vec1, |
integer(i4), dimension(:), intent(in) | vec2 | ||
) |
Definition at line 255 of file mo_append.f90.
subroutine mo_append::append::append_i8_3d | ( | integer(i8), dimension(:,:,:), intent(inout), allocatable | mat1, |
integer(i8), dimension(:,:,:), intent(in) | mat2, | ||
integer(i8), intent(in), optional | fill_value | ||
) |
Definition at line 506 of file mo_append.f90.
subroutine mo_append::append::append_i8_m_m | ( | integer(i8), dimension(:,:), intent(inout), allocatable | mat1, |
integer(i8), dimension(:,:), intent(in) | mat2, | ||
integer(i8), intent(in), optional | fill_value | ||
) |
Definition at line 449 of file mo_append.f90.
subroutine mo_append::append::append_i8_v_s | ( | integer(i8), dimension(:), intent(inout), allocatable | vec1, |
integer(i8), intent(in) | sca2 | ||
) |
Definition at line 389 of file mo_append.f90.
subroutine mo_append::append::append_i8_v_v | ( | integer(i8), dimension(:), intent(inout), allocatable | vec1, |
integer(i8), dimension(:), intent(in) | vec2 | ||
) |
Definition at line 419 of file mo_append.f90.
subroutine mo_append::append::append_lgt_3d | ( | logical, dimension(:,:,:), intent(inout), allocatable | mat1, |
logical, dimension(:,:,:), intent(in) | mat2, | ||
logical, intent(in), optional | fill_value, | ||
integer(i4), optional | idim | ||
) |
Definition at line 1381 of file mo_append.f90.
subroutine mo_append::append::append_lgt_4d | ( | logical, dimension(:,:,:,:), intent(inout), allocatable | mat1, |
logical, dimension(:,:,:,:), intent(in) | mat2, | ||
logical, intent(in), optional | fill_value, | ||
integer(i4), intent(in), optional | idim | ||
) |
Definition at line 1465 of file mo_append.f90.
subroutine mo_append::append::append_lgt_m_m | ( | logical, dimension(:,:), intent(inout), allocatable | mat1, |
logical, dimension(:,:), intent(in) | mat2, | ||
logical, intent(in), optional | fill_value, | ||
integer(i4), intent(in), optional | idim | ||
) |
Definition at line 1283 of file mo_append.f90.
subroutine mo_append::append::append_lgt_v_s | ( | logical, dimension(:), intent(inout), allocatable | vec1, |
logical, intent(in) | sca2 | ||
) |
Definition at line 1223 of file mo_append.f90.
subroutine mo_append::append::append_lgt_v_v | ( | logical, dimension(:), intent(inout), allocatable | vec1, |
logical, dimension(:), intent(in) | vec2 | ||
) |
Definition at line 1253 of file mo_append.f90.
subroutine mo_append::append::append_sp_3d | ( | real(sp), dimension(:,:,:), intent(inout), allocatable | mat1, |
real(sp), dimension(:,:,:), intent(in) | mat2, | ||
real(sp), intent(in), optional | fill_value | ||
) |
Definition at line 670 of file mo_append.f90.
subroutine mo_append::append::append_sp_m_m | ( | real(sp), dimension(:,:), intent(inout), allocatable | mat1, |
real(sp), dimension(:,:), intent(in) | mat2, | ||
real(sp), intent(in), optional | fill_value | ||
) |
Definition at line 613 of file mo_append.f90.
subroutine mo_append::append::append_sp_v_s | ( | real(sp), dimension(:), intent(inout), allocatable | vec1, |
real(sp), intent(in) | sca2 | ||
) |
Definition at line 553 of file mo_append.f90.
subroutine mo_append::append::append_sp_v_v | ( | real(sp), dimension(:), intent(inout), allocatable | vec1, |
real(sp), dimension(:), intent(in) | vec2 | ||
) |
Definition at line 583 of file mo_append.f90.