dbcsr_block_transpose Interface

public interface dbcsr_block_transpose

Module Procedures

private subroutine block_transpose_inplace_s(extent, rows, columns)

In-place block transpose.

Arguments

Type IntentOptional Attributes Name
real(kind=real_4), intent(inout), DIMENSION(rows*columns) :: extent

Matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_inplace_d(extent, rows, columns)

In-place block transpose.

Arguments

Type IntentOptional Attributes Name
real(kind=real_8), intent(inout), DIMENSION(rows*columns) :: extent

Matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_inplace_c(extent, rows, columns)

In-place block transpose.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_4), intent(inout), DIMENSION(rows*columns) :: extent

Matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_inplace_z(extent, rows, columns)

In-place block transpose.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_8), intent(inout), DIMENSION(rows*columns) :: extent

Matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_d(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_8), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

real(kind=real_8), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_s(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_4), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

real(kind=real_4), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_z(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_8), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

complex(kind=real_8), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_c(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_4), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

complex(kind=real_4), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_2d1d_d(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_8), intent(out), DIMENSION(columns, rows), TARGET :: extent_out

output matrix in the form of a 2-d array

real(kind=real_8), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_2d1d_s(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_4), intent(out), DIMENSION(columns, rows), TARGET :: extent_out

output matrix in the form of a 2-d array

real(kind=real_4), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_2d1d_z(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_8), intent(out), DIMENSION(columns, rows), TARGET :: extent_out

output matrix in the form of a 2-d array

complex(kind=real_8), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_2d1d_c(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_4), intent(out), DIMENSION(columns, rows), TARGET :: extent_out

output matrix in the form of a 2-d array

complex(kind=real_4), intent(in), DIMENSION(:) :: extent_in

input matrix in the form of a 1-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_1d2d_d(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_8), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

real(kind=real_8), intent(in), DIMENSION(rows, columns) :: extent_in

input matrix in the form of a 2-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_1d2d_s(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
real(kind=real_4), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

real(kind=real_4), intent(in), DIMENSION(rows, columns) :: extent_in

input matrix in the form of a 2-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_1d2d_z(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_8), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

complex(kind=real_8), intent(in), DIMENSION(rows, columns) :: extent_in

input matrix in the form of a 2-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

private subroutine block_transpose_copy_1d2d_c(extent_out, extent_in, rows, columns)

Copy and transpose block.

Arguments

Type IntentOptional Attributes Name
complex(kind=real_4), intent(out), DIMENSION(:), TARGET :: extent_out

output matrix in the form of a 1-d array

complex(kind=real_4), intent(in), DIMENSION(rows, columns) :: extent_in

input matrix in the form of a 2-d array

integer, intent(in) :: rows

input matrix size input matrix size

integer, intent(in) :: columns

input matrix size input matrix size

public subroutine dbcsr_block_transpose_aa(dst, src, row_size, col_size, lb, source_lb, scale, lb2, source_lb2)

Copy data from one data area to another. There are no checks done for correctness!

Arguments

Type IntentOptional Attributes Name
type(dbcsr_data_obj), intent(inout) :: dst

destination data area

type(dbcsr_data_obj), intent(in) :: src

source data area

integer, intent(in) :: row_size

row size of existing block column size of existing block

integer, intent(in) :: col_size

row size of existing block column size of existing block

integer, intent(in), optional :: lb

lower bound for destination (and source if not given explicitly) lower bound of source

integer, intent(in), optional :: source_lb

lower bound for destination (and source if not given explicitly) lower bound of source

type(dbcsr_scalar_type), intent(in), optional :: scale

scale data

integer, intent(in), optional :: lb2

lower bound of 2nd dimension for target lower bound of 2nd dimension for source

integer, intent(in), optional :: source_lb2

lower bound of 2nd dimension for target lower bound of 2nd dimension for source

private subroutine dbcsr_block_transpose_a(area, row_size, col_size)

In-place transpose of encapsulated data There are no checks done for correctness!

Arguments

Type IntentOptional Attributes Name
type(dbcsr_data_obj), intent(inout) :: area

encapsulated data area

integer, intent(in) :: row_size

number of rows in existing block number of columns in existing block

integer, intent(in) :: col_size

number of rows in existing block number of columns in existing block