Relay onto p_merge; see oracle_argsort for why these exist.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sort_key_buf), | intent(in), | target | :: | keys(:) |
the keys, primary first. |
|
| integer(kind=int64), | intent(in) | :: | nrows |
rows each key describes. |
||
| integer(kind=int64), | intent(in) | :: | na |
rows belonging to the first input. |
||
| character(len=*), | intent(in) | :: | proc |
calling procedure, for messages. |
||
| integer(kind=int64), | intent(inout) | :: | perm(:) |
the permutation to fill. |
subroutine oracle_merge(keys, nrows, na, proc, perm) type(sort_key_buf), intent(in), target :: keys(:) !! the keys, primary first. integer(int64), intent(in) :: nrows !! rows each key describes. integer(int64), intent(in) :: na !! rows belonging to the first input. character(len=*), intent(in) :: proc !! calling procedure, for messages. integer(int64), intent(inout) :: perm(:) !! the permutation to fill. ! call check_oracle(associated(p_merge), proc) call p_merge(keys, nrows, na, proc, perm) end subroutine oracle_merge