dbcsr_put_block Interface

public interface dbcsr_put_block

Module Procedures

private subroutine dbcsr_put_block_area(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

We allow : matrix(dp) [+]= [scale(dp)] * block(dp) matrix(dp) [+]= [scale(dp)] * block(sp) matrix(sp) [+]= [scale(dp)] * block(sp)

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix
integer, intent(in) :: row
integer, intent(in) :: col
type(dbcsr_data_obj) :: block
integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed
logical, intent(in), optional :: summation
integer(kind=int_8), intent(inout), optional :: flop
type(dbcsr_scalar_type), intent(in), optional :: scale

private subroutine dbcsr_put_block_d(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Inserts a block in a dbcsr matrix. If the block exists, the current data is overwritten.

Read more…

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the logical row the logical column

integer, intent(in) :: col

the logical row the logical column

real(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
real(kind=real_8), intent(in), optional :: scale

scale the OBblock being added

private subroutine dbcsr_put_block_s(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Inserts a block in a dbcsr matrix. If the block exists, the current data is overwritten.

Read more…

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the logical row the logical column

integer, intent(in) :: col

the logical row the logical column

real(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
real(kind=real_4), intent(in), optional :: scale

scale the OBblock being added

private subroutine dbcsr_put_block_z(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Inserts a block in a dbcsr matrix. If the block exists, the current data is overwritten.

Read more…

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the logical row the logical column

integer, intent(in) :: col

the logical row the logical column

complex(kind=real_8), intent(in), DIMENSION(:), CONTIGUOUS :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
complex(kind=real_8), intent(in), optional :: scale

scale the OBblock being added

private subroutine dbcsr_put_block_c(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Inserts a block in a dbcsr matrix. If the block exists, the current data is overwritten.

Read more…

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the logical row the logical column

integer, intent(in) :: col

the logical row the logical column

complex(kind=real_4), intent(in), DIMENSION(:), CONTIGUOUS :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
complex(kind=real_4), intent(in), optional :: scale

scale the OBblock being added

private subroutine dbcsr_put_block2d_d(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Put a 2-D block in a DBCSR matrix

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the row the column

integer, intent(in) :: col

the row the column

real(kind=real_8), intent(in), DIMENSION(:, :), CONTIGUOUS, TARGET :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
real(kind=real_8), intent(in), optional :: scale

scale the block being added

private subroutine dbcsr_put_block2d_s(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Put a 2-D block in a DBCSR matrix

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the row the column

integer, intent(in) :: col

the row the column

real(kind=real_4), intent(in), DIMENSION(:, :), CONTIGUOUS, TARGET :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
real(kind=real_4), intent(in), optional :: scale

scale the block being added

private subroutine dbcsr_put_block2d_z(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Put a 2-D block in a DBCSR matrix

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the row the column

integer, intent(in) :: col

the row the column

complex(kind=real_8), intent(in), DIMENSION(:, :), CONTIGUOUS, TARGET :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
complex(kind=real_8), intent(in), optional :: scale

scale the block being added

private subroutine dbcsr_put_block2d_c(matrix, row, col, block, lb_row_col, transposed, summation, flop, scale)

Put a 2-D block in a DBCSR matrix

Arguments

Type IntentOptional Attributes Name
type(dbcsr_type), intent(inout) :: matrix

DBCSR matrix

integer, intent(in) :: row

the row the column

integer, intent(in) :: col

the row the column

complex(kind=real_4), intent(in), DIMENSION(:, :), CONTIGUOUS, TARGET :: block

the block to put

integer, intent(inout), optional, DIMENSION(2) :: lb_row_col
logical, intent(in), optional :: transposed

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

logical, intent(in), optional :: summation

the block is transposed if block exists, then sum the new block to the old one instead of replacing it

integer(kind=int_8), intent(inout), optional :: flop
complex(kind=real_4), intent(in), optional :: scale

scale the block being added