pic_copy Interface

public interface pic_copy

copy provides a blas-less implementation of xcopy where x is (i,s,d) icopy, scopy, dcopy if you built pic with BLAS use the copy interface provided there, I will not beat BLAS copy is implemented for (int32, int64, sp, dp) for 1 and 2d arrays of the same types

Usage: call pic_copy(destination, source, [optional] threaded)

This subroutine is threaded for performance purposes if threaded is set to .true.

Calls

interface~~pic_copy~~CallsGraph interface~pic_copy pic_copy proc~copy_3d_tensor_dp copy_3d_tensor_dp interface~pic_copy->proc~copy_3d_tensor_dp proc~copy_3d_tensor_int32 copy_3d_tensor_int32 interface~pic_copy->proc~copy_3d_tensor_int32 proc~copy_3d_tensor_int64 copy_3d_tensor_int64 interface~pic_copy->proc~copy_3d_tensor_int64 proc~copy_3d_tensor_sp copy_3d_tensor_sp interface~pic_copy->proc~copy_3d_tensor_sp proc~copy_matrix_dp copy_matrix_dp interface~pic_copy->proc~copy_matrix_dp proc~copy_matrix_int32 copy_matrix_int32 interface~pic_copy->proc~copy_matrix_int32 proc~copy_matrix_int64 copy_matrix_int64 interface~pic_copy->proc~copy_matrix_int64 proc~copy_matrix_sp copy_matrix_sp interface~pic_copy->proc~copy_matrix_sp proc~copy_vector_dp copy_vector_dp interface~pic_copy->proc~copy_vector_dp proc~copy_vector_int32 copy_vector_int32 interface~pic_copy->proc~copy_vector_int32 proc~copy_vector_int64 copy_vector_int64 interface~pic_copy->proc~copy_vector_int64 proc~copy_vector_sp copy_vector_sp interface~pic_copy->proc~copy_vector_sp interface~pic_optional pic_optional proc~copy_3d_tensor_dp->interface~pic_optional proc~copy_3d_tensor_int32->interface~pic_optional proc~copy_3d_tensor_int64->interface~pic_optional proc~copy_3d_tensor_sp->interface~pic_optional proc~copy_matrix_dp->interface~pic_optional proc~copy_matrix_int32->interface~pic_optional proc~copy_matrix_int64->interface~pic_optional proc~copy_matrix_sp->interface~pic_optional proc~copy_vector_dp->interface~pic_optional proc~copy_vector_int32->interface~pic_optional proc~copy_vector_int64->interface~pic_optional proc~copy_vector_sp->interface~pic_optional proc~optional_char optional_char interface~pic_optional->proc~optional_char proc~optional_dp optional_dp interface~pic_optional->proc~optional_dp proc~optional_int32 optional_int32 interface~pic_optional->proc~optional_int32 proc~optional_int64 optional_int64 interface~pic_optional->proc~optional_int64 proc~optional_logical optional_logical interface~pic_optional->proc~optional_logical proc~optional_sp optional_sp interface~pic_optional->proc~optional_sp

Module Procedures

private subroutine copy_vector_int32(dest, source, threaded)

copy a vector of datatype int32

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: dest(:)
integer(kind=int32), intent(in) :: source(:)
logical, intent(in), optional :: threaded

private subroutine copy_vector_int64(dest, source, threaded)

copy a vector of datatype int64

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: dest(:)
integer(kind=int64), intent(in) :: source(:)
logical, intent(in), optional :: threaded

private subroutine copy_vector_sp(dest, source, threaded)

copy a vector of datatype sp

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(inout) :: dest(:)
real(kind=sp), intent(in) :: source(:)
logical, intent(in), optional :: threaded

private subroutine copy_vector_dp(dest, source, threaded)

copy a vector of datatype dp

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: dest(:)
real(kind=dp), intent(in) :: source(:)
logical, intent(in), optional :: threaded

private subroutine copy_matrix_int32(dest, source, threaded)

copy a matrix of datatype int32

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: dest(:,:)
integer(kind=int32), intent(in) :: source(:,:)
logical, intent(in), optional :: threaded

private subroutine copy_matrix_int64(dest, source, threaded)

copy a matrix of datatype int64

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: dest(:,:)
integer(kind=int64), intent(in) :: source(:,:)
logical, intent(in), optional :: threaded

private subroutine copy_matrix_sp(dest, source, threaded)

copy a matrix of datatype sp

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(inout) :: dest(:,:)
real(kind=sp), intent(in) :: source(:,:)
logical, intent(in), optional :: threaded

private subroutine copy_matrix_dp(dest, source, threaded)

copy a matrix of datatype dp

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: dest(:,:)
real(kind=dp), intent(in) :: source(:,:)
logical, intent(in), optional :: threaded

private subroutine copy_3d_tensor_int32(dest, source, threaded)

copy a tensor of datatype int32

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout) :: dest(:,:,:)
integer(kind=int32), intent(in) :: source(:,:,:)
logical, intent(in), optional :: threaded

private subroutine copy_3d_tensor_int64(dest, source, threaded)

copy a tensor of datatype int64

Arguments

Type IntentOptional Attributes Name
integer(kind=int64), intent(inout) :: dest(:,:,:)
integer(kind=int64), intent(in) :: source(:,:,:)
logical, intent(in), optional :: threaded

private subroutine copy_3d_tensor_sp(dest, source, threaded)

copy a tensor of datatype sp

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(inout) :: dest(:,:,:)
real(kind=sp), intent(in) :: source(:,:,:)
logical, intent(in), optional :: threaded

private subroutine copy_3d_tensor_dp(dest, source, threaded)

copy a tensor of datatype dp

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout) :: dest(:,:,:)
real(kind=dp), intent(in) :: source(:,:,:)
logical, intent(in), optional :: threaded