dbcsr_api_c Module

PUBLIC :: dbcsr_get_info PUBLIC :: dbcsr_distribution_get PUBLIC :: dbcsr_setname PUBLIC :: dbcsr_get_matrix_type PUBLIC :: dbcsr_get_occupation PUBLIC :: dbcsr_nblkrows_total PUBLIC :: dbcsr_nblkcols_total

PUBLIC :: dbcsr_get_num_blocks PUBLIC :: dbcsr_get_data_size PUBLIC :: dbcsr_has_symmetry PUBLIC :: dbcsr_nfullrows_total PUBLIC :: dbcsr_nfullcols_total PUBLIC :: dbcsr_get_stored_coordinates PUBLIC :: dbcsr_valid_index PUBLIC :: dbcsr_get_data_type



Functions

private function c_dbcsr_iterator_blocks_left(c_iterator) result(c_blocks_left) bind(C, name="c_dbcsr_iterator_blocks_left")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator

Return Value logical(kind=c_bool)

private function c_dbcsr_checksum(c_matrix, c_local, c_pos) result(c_checksum) bind(C, name="c_dbcsr_checksum")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
logical(kind=c_bool), intent(in), optional :: c_local
logical(kind=c_bool), intent(in), optional :: c_pos

Return Value real(kind=c_double)

private function c_dbcsr_maxabs(c_matrix) result(c_norm) bind(C, name="c_dbcsr_maxabs")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value real(kind=c_double)

private function c_dbcsr_gershgorin_norm(c_matrix) result(c_norm) bind(C, name="c_dbcsr_gershgorin_norm")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value real(kind=c_double)

private function c_dbcsr_frobenius_norm(c_matrix, c_local) result(c_norm) bind(C, name="c_dbcsr_frobenius_norm")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
logical(kind=c_bool), intent(in), optional :: c_local

Return Value real(kind=c_double)

private function c_dbcsr_nblkrows_total(c_matrix) result(c_nblkrows_tot) bind(C, name="c_dbcsr_nblkrows_total")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_nblkcols_total(c_matrix) result(c_nblkcols_tot) bind(C, name="c_dbcsr_nblkcols_total")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_nblkrows_local(c_matrix) result(c_nblkrows_loc) bind(C, name="c_dbcsr_nblkrows_local")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_nblkcols_local(c_matrix) result(c_nblkcols_loc) bind(C, name="c_dbcsr_nblkcols_local")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_get_matrix_type(c_matrix) result(c_matrix_type) bind(C, name="c_dbcsr_get_matrix_type")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value character(kind=c_char, len=1)

private function c_dbcsr_get_occupation(c_matrix) result(c_occupation) bind(C, name="c_dbcsr_get_occupation")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value real(kind=c_double)

private function c_dbcsr_get_num_blocks(c_matrix) result(c_num_blocks) bind(C, name="c_dbcsr_get_num_blocks")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_get_data_size(c_matrix) result(c_data_size) bind(C, name="c_dbcsr_get_data_size")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_has_symmetry(c_matrix) result(c_has_symmetry) bind(C, name="c_dbcsr_has_symmetry")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value logical(kind=c_bool)

private function c_dbcsr_nfullrows_total(c_matrix) result(c_nfullrows_total) bind(C, name="c_dbcsr_nfullrows_total")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_nfullcols_total(c_matrix) result(c_nfullcols_total) bind(C, name="c_dbcsr_nfullcols_total")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)

private function c_dbcsr_valid_index(c_matrix) result(c_valid_index) bind(C, name="c_dbcsr_valid_index")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value logical(kind=c_bool)

private function c_dbcsr_get_data_type(c_matrix) result(c_data_type) bind(C, name="c_dbcsr_get_data_type")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

Return Value integer(kind=c_int)


Subroutines

private subroutine c_f_string(c_str, str)

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in) :: c_str
character(kind=c_char, len=:), intent(out), ALLOCATABLE :: str

private subroutine c_dbcsr_clear_mempools() bind(C, name="c_dbcsr_clear_mempools")

Arguments

None

private subroutine c_dbcsr_init_lib(fcomm, io_unit) bind(C, name="c_dbcsr_init_lib_internal")

Arguments

Type IntentOptional Attributes Name
integer(kind=c_int), intent(in) :: fcomm
integer(kind=c_int), intent(in), optional :: io_unit

private subroutine c_dbcsr_finalise_lib() bind(C, name="c_dbcsr_finalize_lib")

Arguments

None

private subroutine c_dbcsr_mp_grid_setup(c_dist) bind(C, name="c_dbcsr_mp_grid_setup")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_dist

private subroutine c_dbcsr_print_statistics(c_print_timers, c_callgraph_filename) bind(C, name="c_dbcsr_print_statistics")

Arguments

Type IntentOptional Attributes Name
logical(kind=c_bool), intent(in), optional :: c_print_timers
type(c_ptr), intent(in), VALUE :: c_callgraph_filename

private subroutine c_dbcsr_distribution_hold(c_dist) bind(C, name="c_dbcsr_distribution_hold")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_dist

private subroutine c_dbcsr_distribution_new(c_dist, fcomm, c_row_dist, row_dist_size, c_col_dist, col_dist_size) bind(C, name="c_dbcsr_distribution_new_aux")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(out) :: c_dist
integer(kind=c_int), intent(in) :: fcomm
integer(kind=c_int), intent(in), TARGET :: c_row_dist(row_dist_size)
integer(kind=c_int), intent(in), value :: row_dist_size
integer(kind=c_int), intent(in), TARGET :: c_col_dist(col_dist_size)
integer(kind=c_int), intent(in), value :: col_dist_size

private subroutine c_dbcsr_distribution_release(c_dist) bind(C, name="c_dbcsr_distribution_release")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_dist

private subroutine c_dbcsr_release(c_matrix) bind(C, name="c_dbcsr_release")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_matrix

private subroutine c_dbcsr_create_new(c_matrix, c_name, c_dist, c_matrix_type, c_row_blk_size, c_row_size, c_col_blk_size, c_col_size, c_nze, c_data_type, c_reuse, c_reuse_arrays, c_mutable_work, c_replication_type) bind(C, name="c_dbcsr_create_new")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_matrix
type(c_ptr), intent(in), VALUE :: c_name
type(c_ptr), intent(in), VALUE :: c_dist
character(kind=c_char, len=1), intent(in), VALUE :: c_matrix_type
integer(kind=c_int), intent(in), TARGET :: c_row_blk_size(c_row_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), TARGET :: c_col_blk_size(c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_col_size
integer(kind=c_int), intent(in), optional :: c_nze
integer(kind=c_int), intent(in), optional :: c_data_type
logical(kind=c_bool), intent(in), optional :: c_reuse
logical(kind=c_bool), intent(in), optional :: c_reuse_arrays
logical(kind=c_bool), intent(in), optional :: c_mutable_work
character(kind=c_char, len=1), intent(in), optional :: c_replication_type

private subroutine c_dbcsr_create_template(c_matrix, c_name, c_template, c_dist, c_matrix_type, c_row_blk_size, c_row_size, C_col_blk_size, c_col_size, c_nze, c_data_type, c_reuse_arrays, c_mutable_work, c_replication_type) bind(C, name="c_dbcsr_create_template")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_matrix
type(c_ptr), intent(in), VALUE :: c_name
type(c_ptr), intent(in), VALUE :: c_template
type(c_ptr), intent(in), VALUE :: c_dist
character(kind=c_char, len=1), intent(in), optional :: c_matrix_type
integer(kind=c_int), intent(in), optional, TARGET :: c_row_blk_size(c_row_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), optional, TARGET :: C_col_blk_size(c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_col_size
integer(kind=c_int), intent(in), optional :: c_nze
integer(kind=c_int), intent(in), optional :: c_data_type
logical(kind=c_bool), intent(in), optional :: c_reuse_arrays
logical(kind=c_bool), intent(in), optional :: c_mutable_work
character(kind=c_char, len=1), intent(in), optional :: c_replication_type

private subroutine c_dbcsr_finalize(c_matrix) bind(C, name="c_dbcsr_finalize")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: c_matrix

private subroutine c_dbcsr_set_d(c_matrix, c_alpha) bind(C, name="c_dbcsr_set_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_double), intent(in), VALUE :: c_alpha

private subroutine c_dbcsr_add_d(c_matrix_a, c_matrix_b, c_alpha_scalar, c_beta_scalar) bind(C, name="c_dbcsr_add_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_double), intent(in), VALUE :: c_alpha_scalar
real(kind=c_double), intent(in), VALUE :: c_beta_scalar

private subroutine c_dbcsr_scale_d(c_matrix_a, c_alpha_scalar, c_last_column) bind(C, name="c_dbcsr_scale_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_double), intent(in), VALUE :: c_alpha_scalar
integer(kind=c_int), intent(in), optional :: c_last_column

private subroutine c_dbcsr_scale_by_vector_d(c_matrix_a, c_alpha, c_alpha_size, c_side) bind(C, name="c_dbcsr_scale_by_vector_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_double), intent(in) :: c_alpha(c_alpha_size)
integer(kind=c_int), intent(in), VALUE :: c_alpha_size
type(c_ptr), intent(in), VALUE :: c_side

private subroutine c_dbcsr_multiply_d(c_transa, c_transb, c_alpha, c_matrix_a, c_matrix_b, c_beta, c_matrix_c, c_first_row, c_last_row, c_first_column, c_last_column, c_first_k, c_last_k, c_retain_sparsity, c_filter_eps, c_flop) bind(C, name="c_dbcsr_multiply_d")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char, len=1), intent(in), value :: c_transa
character(kind=c_char, len=1), intent(in), value :: c_transb
real(kind=c_double), intent(in), value :: c_alpha
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_double), intent(in), value :: c_beta
type(c_ptr), intent(in), VALUE :: c_matrix_c
integer(kind=c_int), intent(in), optional :: c_first_row
integer(kind=c_int), intent(in), optional :: c_last_row
integer(kind=c_int), intent(in), optional :: c_first_column
integer(kind=c_int), intent(in), optional :: c_last_column
integer(kind=c_int), intent(in), optional :: c_first_k
integer(kind=c_int), intent(in), optional :: c_last_k
logical(kind=c_bool), intent(in), optional :: c_retain_sparsity
real(kind=c_double), optional :: c_filter_eps
integer(kind=c_long_long), optional :: c_flop

private subroutine c_dbcsr_add_on_diag_d(c_matrix, c_alpha_scalar) bind(C, name="c_dbcsr_add_on_diag_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_double), intent(in) :: c_alpha_scalar

private subroutine c_dbcsr_set_diag_d(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_set_diag_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_double), intent(in) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_get_diag_d(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_get_diag_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_double), intent(inout) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_trace_d(c_matrix_a, c_trace) bind(C, name="c_dbcsr_trace_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_double), intent(out) :: c_trace

private subroutine c_dbcsr_dot_d(c_matrix_a, c_matrix_b, c_result) bind(C, name="c_dbcsr_dot_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_double), intent(inout) :: c_result

private subroutine c_dbcsr_get_block_p_d(c_matrix, c_row, c_col, c_block, c_tr, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_p_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_tr
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_get_block_notrans_p_d(c_matrix, c_row, c_col, c_block, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_notrans_p_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_set_s(c_matrix, c_alpha) bind(C, name="c_dbcsr_set_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_float), intent(in), VALUE :: c_alpha

private subroutine c_dbcsr_add_s(c_matrix_a, c_matrix_b, c_alpha_scalar, c_beta_scalar) bind(C, name="c_dbcsr_add_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_float), intent(in), VALUE :: c_alpha_scalar
real(kind=c_float), intent(in), VALUE :: c_beta_scalar

private subroutine c_dbcsr_scale_s(c_matrix_a, c_alpha_scalar, c_last_column) bind(C, name="c_dbcsr_scale_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_float), intent(in), VALUE :: c_alpha_scalar
integer(kind=c_int), intent(in), optional :: c_last_column

private subroutine c_dbcsr_scale_by_vector_s(c_matrix_a, c_alpha, c_alpha_size, c_side) bind(C, name="c_dbcsr_scale_by_vector_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_float), intent(in) :: c_alpha(c_alpha_size)
integer(kind=c_int), intent(in), VALUE :: c_alpha_size
type(c_ptr), intent(in), VALUE :: c_side

private subroutine c_dbcsr_multiply_s(c_transa, c_transb, c_alpha, c_matrix_a, c_matrix_b, c_beta, c_matrix_c, c_first_row, c_last_row, c_first_column, c_last_column, c_first_k, c_last_k, c_retain_sparsity, c_filter_eps, c_flop) bind(C, name="c_dbcsr_multiply_s")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char, len=1), intent(in), value :: c_transa
character(kind=c_char, len=1), intent(in), value :: c_transb
real(kind=c_float), intent(in), value :: c_alpha
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_float), intent(in), value :: c_beta
type(c_ptr), intent(in), VALUE :: c_matrix_c
integer(kind=c_int), intent(in), optional :: c_first_row
integer(kind=c_int), intent(in), optional :: c_last_row
integer(kind=c_int), intent(in), optional :: c_first_column
integer(kind=c_int), intent(in), optional :: c_last_column
integer(kind=c_int), intent(in), optional :: c_first_k
integer(kind=c_int), intent(in), optional :: c_last_k
logical(kind=c_bool), intent(in), optional :: c_retain_sparsity
real(kind=c_double), optional :: c_filter_eps
integer(kind=c_long_long), optional :: c_flop

private subroutine c_dbcsr_add_on_diag_s(c_matrix, c_alpha_scalar) bind(C, name="c_dbcsr_add_on_diag_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_float), intent(in) :: c_alpha_scalar

private subroutine c_dbcsr_set_diag_s(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_set_diag_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_float), intent(in) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_get_diag_s(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_get_diag_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_float), intent(inout) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_trace_s(c_matrix_a, c_trace) bind(C, name="c_dbcsr_trace_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
real(kind=c_float), intent(out) :: c_trace

private subroutine c_dbcsr_dot_s(c_matrix_a, c_matrix_b, c_result) bind(C, name="c_dbcsr_dot_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
real(kind=c_float), intent(inout) :: c_result

private subroutine c_dbcsr_get_block_p_s(c_matrix, c_row, c_col, c_block, c_tr, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_p_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_tr
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_get_block_notrans_p_s(c_matrix, c_row, c_col, c_block, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_notrans_p_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_set_z(c_matrix, c_alpha) bind(C, name="c_dbcsr_set_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_double_complex), intent(in), VALUE :: c_alpha

private subroutine c_dbcsr_add_z(c_matrix_a, c_matrix_b, c_alpha_scalar, c_beta_scalar) bind(C, name="c_dbcsr_add_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_double_complex), intent(in), VALUE :: c_alpha_scalar
complex(kind=c_double_complex), intent(in), VALUE :: c_beta_scalar

private subroutine c_dbcsr_scale_z(c_matrix_a, c_alpha_scalar, c_last_column) bind(C, name="c_dbcsr_scale_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_double_complex), intent(in), VALUE :: c_alpha_scalar
integer(kind=c_int), intent(in), optional :: c_last_column

private subroutine c_dbcsr_scale_by_vector_z(c_matrix_a, c_alpha, c_alpha_size, c_side) bind(C, name="c_dbcsr_scale_by_vector_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_double_complex), intent(in) :: c_alpha(c_alpha_size)
integer(kind=c_int), intent(in), VALUE :: c_alpha_size
type(c_ptr), intent(in), VALUE :: c_side

private subroutine c_dbcsr_multiply_z(c_transa, c_transb, c_alpha, c_matrix_a, c_matrix_b, c_beta, c_matrix_c, c_first_row, c_last_row, c_first_column, c_last_column, c_first_k, c_last_k, c_retain_sparsity, c_filter_eps, c_flop) bind(C, name="c_dbcsr_multiply_z")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char, len=1), intent(in), value :: c_transa
character(kind=c_char, len=1), intent(in), value :: c_transb
complex(kind=c_double_complex), intent(in), value :: c_alpha
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_double_complex), intent(in), value :: c_beta
type(c_ptr), intent(in), VALUE :: c_matrix_c
integer(kind=c_int), intent(in), optional :: c_first_row
integer(kind=c_int), intent(in), optional :: c_last_row
integer(kind=c_int), intent(in), optional :: c_first_column
integer(kind=c_int), intent(in), optional :: c_last_column
integer(kind=c_int), intent(in), optional :: c_first_k
integer(kind=c_int), intent(in), optional :: c_last_k
logical(kind=c_bool), intent(in), optional :: c_retain_sparsity
real(kind=c_double), optional :: c_filter_eps
integer(kind=c_long_long), optional :: c_flop

private subroutine c_dbcsr_add_on_diag_z(c_matrix, c_alpha_scalar) bind(C, name="c_dbcsr_add_on_diag_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_double_complex), intent(in) :: c_alpha_scalar

private subroutine c_dbcsr_set_diag_z(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_set_diag_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_double_complex), intent(in) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_get_diag_z(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_get_diag_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_double_complex), intent(inout) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_trace_z(c_matrix_a, c_trace) bind(C, name="c_dbcsr_trace_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_double_complex), intent(out) :: c_trace

private subroutine c_dbcsr_dot_z(c_matrix_a, c_matrix_b, c_result) bind(C, name="c_dbcsr_dot_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_double_complex), intent(inout) :: c_result

private subroutine c_dbcsr_get_block_p_z(c_matrix, c_row, c_col, c_block, c_tr, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_p_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_tr
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_get_block_notrans_p_z(c_matrix, c_row, c_col, c_block, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_notrans_p_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_set_c(c_matrix, c_alpha) bind(C, name="c_dbcsr_set_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_float_complex), intent(in), VALUE :: c_alpha

private subroutine c_dbcsr_add_c(c_matrix_a, c_matrix_b, c_alpha_scalar, c_beta_scalar) bind(C, name="c_dbcsr_add_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_float_complex), intent(in), VALUE :: c_alpha_scalar
complex(kind=c_float_complex), intent(in), VALUE :: c_beta_scalar

private subroutine c_dbcsr_scale_c(c_matrix_a, c_alpha_scalar, c_last_column) bind(C, name="c_dbcsr_scale_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_float_complex), intent(in), VALUE :: c_alpha_scalar
integer(kind=c_int), intent(in), optional :: c_last_column

private subroutine c_dbcsr_scale_by_vector_c(c_matrix_a, c_alpha, c_alpha_size, c_side) bind(C, name="c_dbcsr_scale_by_vector_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_float_complex), intent(in) :: c_alpha(c_alpha_size)
integer(kind=c_int), intent(in), VALUE :: c_alpha_size
type(c_ptr), intent(in), VALUE :: c_side

private subroutine c_dbcsr_multiply_c(c_transa, c_transb, c_alpha, c_matrix_a, c_matrix_b, c_beta, c_matrix_c, c_first_row, c_last_row, c_first_column, c_last_column, c_first_k, c_last_k, c_retain_sparsity, c_filter_eps, c_flop) bind(C, name="c_dbcsr_multiply_c")

Arguments

Type IntentOptional Attributes Name
character(kind=c_char, len=1), intent(in), value :: c_transa
character(kind=c_char, len=1), intent(in), value :: c_transb
complex(kind=c_float_complex), intent(in), value :: c_alpha
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_float_complex), intent(in), value :: c_beta
type(c_ptr), intent(in), VALUE :: c_matrix_c
integer(kind=c_int), intent(in), optional :: c_first_row
integer(kind=c_int), intent(in), optional :: c_last_row
integer(kind=c_int), intent(in), optional :: c_first_column
integer(kind=c_int), intent(in), optional :: c_last_column
integer(kind=c_int), intent(in), optional :: c_first_k
integer(kind=c_int), intent(in), optional :: c_last_k
logical(kind=c_bool), intent(in), optional :: c_retain_sparsity
real(kind=c_double), optional :: c_filter_eps
integer(kind=c_long_long), optional :: c_flop

private subroutine c_dbcsr_add_on_diag_c(c_matrix, c_alpha_scalar) bind(C, name="c_dbcsr_add_on_diag_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_float_complex), intent(in) :: c_alpha_scalar

private subroutine c_dbcsr_set_diag_c(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_set_diag_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_float_complex), intent(in) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_get_diag_c(c_matrix, c_diag, c_diag_size) bind(C, name="c_dbcsr_get_diag_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
complex(kind=c_float_complex), intent(inout) :: c_diag(c_diag_size)
integer(kind=c_int), intent(in), VALUE :: c_diag_size

private subroutine c_dbcsr_trace_c(c_matrix_a, c_trace) bind(C, name="c_dbcsr_trace_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
complex(kind=c_float_complex), intent(out) :: c_trace

private subroutine c_dbcsr_dot_c(c_matrix_a, c_matrix_b, c_result) bind(C, name="c_dbcsr_dot_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
complex(kind=c_float_complex), intent(inout) :: c_result

private subroutine c_dbcsr_get_block_p_c(c_matrix, c_row, c_col, c_block, c_tr, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_p_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_tr
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_get_block_notrans_p_c(c_matrix, c_row, c_col, c_block, c_found, c_row_size, c_col_size) bind(C, name="c_dbcsr_get_block_notrans_p_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_found
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size

private subroutine c_dbcsr_complete_redistribute(c_matrix, c_redist, c_keep_sparsity, c_summation) bind(C, name="c_dbcsr_complete_redistribute")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(in), VALUE :: c_redist
logical(kind=c_bool), intent(in), optional :: c_keep_sparsity
logical(kind=c_bool), intent(in), optional :: c_summation

private subroutine c_dbcsr_filter(c_matrix, c_eps, c_method, c_use_absolute, c_filter_diag) bind(C, name="c_dbcsr_filter")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
real(kind=c_double), intent(in) :: c_eps
integer(kind=c_int), intent(in), optional :: c_method
logical(kind=c_bool), intent(in), optional :: c_use_absolute
logical(kind=c_bool), intent(in), optional :: c_filter_diag

private subroutine c_dbcsr_get_block_diag(c_matrix, c_diag) bind(C, name="c_dbcsr_get_block_diag")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(inout) :: c_diag

private subroutine c_dbcsr_transposed(c_transposed, c_normal, c_shallow_data_copy, c_transpose_data, c_transpose_distribution, c_use_distribution) bind(C, name="c_dbcsr_transposed")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_transposed
type(c_ptr), intent(in), VALUE :: c_normal
logical(kind=c_bool), intent(in), optional :: c_shallow_data_copy
logical(kind=c_bool), intent(in), optional :: c_transpose_data
logical(kind=c_bool), intent(in), optional :: c_transpose_distribution
type(c_ptr), intent(in), VALUE :: c_use_distribution

private subroutine c_dbcsr_copy(c_matrix_b, c_matrix_a, c_name, c_keep_sparsity, c_shallow_data, c_keep_imaginary, c_matrix_type) bind(C, name="c_dbcsr_copy")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_matrix_b
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_name
logical(kind=c_bool), intent(in), optional :: c_keep_sparsity
logical(kind=c_bool), intent(in), optional :: c_shallow_data
logical(kind=c_bool), intent(in), optional :: c_keep_imaginary
character(kind=c_char, len=1), intent(in), optional :: c_matrix_type

private subroutine c_dbcsr_copy_into_existing(c_matrix_b, c_matrix_a) bind(C, name="c_dbcsr_copy_into_existing")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_b
type(c_ptr), intent(in), VALUE :: c_matrix_a

private subroutine c_dbcsr_desymmetrize(c_matrix_a, c_matrix_b) bind(C, name="c_dbcsr_desymmetrize")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(inout) :: c_matrix_b

private subroutine c_dbcsr_clear(c_dbcsr_mat) bind(C, name="c_dbcsr_clear")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_dbcsr_mat

private subroutine c_dbcsr_reserve_diag_blocks(c_matrix) bind(C, name="c_dbcsr_reserve_diag_blocks")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

private subroutine c_dbcsr_reserve_blocks(c_matrix, c_rows, c_cols, c_size) bind(C, name="c_dbcsr_reserve_blocks")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in) :: c_rows(c_size)
integer(kind=c_int), intent(in) :: c_cols(c_size)
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_reserve_all_blocks(c_matrix) bind(C, name="c_dbcsr_reserve_all_blocks")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

private subroutine c_dbcsr_reserve_block2d_d(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_transposed, c_existed) bind(C, name="c_dbcsr_reserve_block2d_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in) :: c_row
integer(kind=c_int), intent(in) :: c_col
real(kind=c_double), intent(in), DIMENSION(c_row_size, c_col_size), TARGET :: c_block
integer(kind=c_int), intent(in) :: c_row_size
integer(kind=c_int), intent(in) :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_transposed
logical(kind=c_bool), intent(out), optional :: c_existed

private subroutine c_dbcsr_reserve_block2d_s(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_transposed, c_existed) bind(C, name="c_dbcsr_reserve_block2d_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in) :: c_row
integer(kind=c_int), intent(in) :: c_col
real(kind=c_float), intent(in), DIMENSION(c_row_size, c_col_size), TARGET :: c_block
integer(kind=c_int), intent(in) :: c_row_size
integer(kind=c_int), intent(in) :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_transposed
logical(kind=c_bool), intent(out), optional :: c_existed

private subroutine c_dbcsr_reserve_block2d_z(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_transposed, c_existed) bind(C, name="c_dbcsr_reserve_block2d_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in) :: c_row
integer(kind=c_int), intent(in) :: c_col
complex(kind=c_double_complex), intent(in), DIMENSION(c_row_size, c_col_size), TARGET :: c_block
integer(kind=c_int), intent(in) :: c_row_size
integer(kind=c_int), intent(in) :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_transposed
logical(kind=c_bool), intent(out), optional :: c_existed

private subroutine c_dbcsr_reserve_block2d_c(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_transposed, c_existed) bind(C, name="c_dbcsr_reserve_block2d_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in) :: c_row
integer(kind=c_int), intent(in) :: c_col
complex(kind=c_float_complex), intent(in), DIMENSION(c_row_size, c_col_size), TARGET :: c_block
integer(kind=c_int), intent(in) :: c_row_size
integer(kind=c_int), intent(in) :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_transposed
logical(kind=c_bool), intent(out), optional :: c_existed

private subroutine c_dbcsr_iterator_stop(c_iterator) bind(C, name="c_dbcsr_iterator_stop")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_iterator

private subroutine c_dbcsr_iterator_start(c_iterator, c_matrix, c_shared, c_dynamic, c_dynamic_byrows, c_contiguous_pointers, c_read_only) bind(C, name="c_dbcsr_iterator_start")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_iterator
type(c_ptr), intent(in), VALUE :: c_matrix
logical(kind=c_bool), intent(in), optional :: c_shared
logical(kind=c_bool), intent(in), optional :: c_dynamic
logical(kind=c_bool), intent(in), optional :: c_dynamic_byrows
logical(kind=c_bool), intent(in), optional :: c_contiguous_pointers
logical(kind=c_bool), intent(in), optional :: c_read_only

private subroutine c_dbcsr_iterator_next_block_index(c_iterator, c_row, c_column, c_blk, c_blk_p) bind(C, name="c_dbcsr_iterator_next_block_index")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator
integer(kind=c_int), intent(out) :: c_row
integer(kind=c_int), intent(out) :: c_column
integer(kind=c_int), intent(out) :: c_blk
integer(kind=c_int), intent(out), optional :: c_blk_p

private subroutine c_dbcsr_iterator_next_2d_block_d(c_iterator, c_row, c_column, c_block, c_transposed, c_block_number, c_row_size, c_col_size, c_row_offset, c_col_offset) bind(C, name="c_dbcsr_iterator_next_2d_block_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator
integer(kind=c_int), intent(out) :: c_row
integer(kind=c_int), intent(out) :: c_column
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_transposed
integer(kind=c_int), intent(out), optional :: c_block_number
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size
integer(kind=c_int), intent(out), optional :: c_row_offset
integer(kind=c_int), intent(out), optional :: c_col_offset

private subroutine c_dbcsr_iterator_next_2d_block_s(c_iterator, c_row, c_column, c_block, c_transposed, c_block_number, c_row_size, c_col_size, c_row_offset, c_col_offset) bind(C, name="c_dbcsr_iterator_next_2d_block_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator
integer(kind=c_int), intent(out) :: c_row
integer(kind=c_int), intent(out) :: c_column
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_transposed
integer(kind=c_int), intent(out), optional :: c_block_number
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size
integer(kind=c_int), intent(out), optional :: c_row_offset
integer(kind=c_int), intent(out), optional :: c_col_offset

private subroutine c_dbcsr_iterator_next_2d_block_z(c_iterator, c_row, c_column, c_block, c_transposed, c_block_number, c_row_size, c_col_size, c_row_offset, c_col_offset) bind(C, name="c_dbcsr_iterator_next_2d_block_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator
integer(kind=c_int), intent(out) :: c_row
integer(kind=c_int), intent(out) :: c_column
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_transposed
integer(kind=c_int), intent(out), optional :: c_block_number
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size
integer(kind=c_int), intent(out), optional :: c_row_offset
integer(kind=c_int), intent(out), optional :: c_col_offset

private subroutine c_dbcsr_iterator_next_2d_block_c(c_iterator, c_row, c_column, c_block, c_transposed, c_block_number, c_row_size, c_col_size, c_row_offset, c_col_offset) bind(C, name="c_dbcsr_iterator_next_2d_block_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_iterator
integer(kind=c_int), intent(out) :: c_row
integer(kind=c_int), intent(out) :: c_column
type(c_ptr), intent(inout) :: c_block
logical(kind=c_bool), intent(out) :: c_transposed
integer(kind=c_int), intent(out), optional :: c_block_number
integer(kind=c_int), intent(out), optional :: c_row_size
integer(kind=c_int), intent(out), optional :: c_col_size
integer(kind=c_int), intent(out), optional :: c_row_offset
integer(kind=c_int), intent(out), optional :: c_col_offset

private subroutine c_dbcsr_put_block2d_d(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_summation, c_scale) bind(C, name="c_dbcsr_put_block2d_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
real(kind=c_double), intent(in) :: c_block(c_row_size,c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), VALUE :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_summation
real(kind=c_double), intent(in), optional :: c_scale

private subroutine c_dbcsr_get_data_d(c_matrix, c_data, c_data_size, c_select_data_type, c_lb, c_ub) bind(C, name="c_dbcsr_get_data_d")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_data
integer(kind=c_long_long), intent(out) :: c_data_size
real(kind=c_double), intent(in) :: c_select_data_type
integer(kind=c_int), intent(in), optional :: c_lb
integer(kind=c_int), intent(in), optional :: c_ub

private subroutine c_dbcsr_put_block2d_s(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_summation, c_scale) bind(C, name="c_dbcsr_put_block2d_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
real(kind=c_float), intent(in) :: c_block(c_row_size,c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), VALUE :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_summation
real(kind=c_float), intent(in), optional :: c_scale

private subroutine c_dbcsr_get_data_s(c_matrix, c_data, c_data_size, c_select_data_type, c_lb, c_ub) bind(C, name="c_dbcsr_get_data_s")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_data
integer(kind=c_long_long), intent(out) :: c_data_size
real(kind=c_float), intent(in) :: c_select_data_type
integer(kind=c_int), intent(in), optional :: c_lb
integer(kind=c_int), intent(in), optional :: c_ub

private subroutine c_dbcsr_put_block2d_z(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_summation, c_scale) bind(C, name="c_dbcsr_put_block2d_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
complex(kind=c_double_complex), intent(in) :: c_block(c_row_size,c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), VALUE :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_summation
complex(kind=c_double_complex), intent(in), optional :: c_scale

private subroutine c_dbcsr_get_data_z(c_matrix, c_data, c_data_size, c_select_data_type, c_lb, c_ub) bind(C, name="c_dbcsr_get_data_z")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_data
integer(kind=c_long_long), intent(out) :: c_data_size
complex(kind=c_double_complex), intent(in) :: c_select_data_type
integer(kind=c_int), intent(in), optional :: c_lb
integer(kind=c_int), intent(in), optional :: c_ub

private subroutine c_dbcsr_put_block2d_c(c_matrix, c_row, c_col, c_block, c_row_size, c_col_size, c_summation, c_scale) bind(C, name="c_dbcsr_put_block2d_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_row
integer(kind=c_int), intent(in), VALUE :: c_col
complex(kind=c_float_complex), intent(in) :: c_block(c_row_size,c_col_size)
integer(kind=c_int), intent(in), VALUE :: c_row_size
integer(kind=c_int), intent(in), VALUE :: c_col_size
logical(kind=c_bool), intent(in), optional :: c_summation
complex(kind=c_float_complex), intent(in), optional :: c_scale

private subroutine c_dbcsr_get_data_c(c_matrix, c_data, c_data_size, c_select_data_type, c_lb, c_ub) bind(C, name="c_dbcsr_get_data_c")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_data
integer(kind=c_long_long), intent(out) :: c_data_size
complex(kind=c_float_complex), intent(in) :: c_select_data_type
integer(kind=c_int), intent(in), optional :: c_lb
integer(kind=c_int), intent(in), optional :: c_ub

private subroutine c_dbcsr_replicate_all(c_matrix) bind(C, name="c_dbcsr_replicate_all")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

private subroutine c_dbcsr_distribute(c_matrix, c_fast) bind(C, name="c_dbcsr_distribute")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
logical(kind=c_bool), intent(in), optional :: c_fast

private subroutine c_dbcsr_sum_replicated(c_matrix) bind(C, name="c_dbcsr_sum_replicated")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

private subroutine c_dbcsr_hadamard_product(c_matrix_a, c_matrix_b, c_matrix_c, c_b_assume_value) bind(C, name="c_dbcsr_hadamard_product")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix_a
type(c_ptr), intent(in), VALUE :: c_matrix_b
type(c_ptr), intent(in), VALUE :: c_matrix_c
real(kind=c_double), intent(in), optional :: c_b_assume_value

private subroutine c_dbcsr_print(c_matrix) bind(C, name="c_dbcsr_print")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: c_matrix

private subroutine c_dbcsr_print_block_sum(c_matrix, c_unit_nr) bind(C, name="c_dbcsr_print_block_sum")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), optional :: c_unit_nr

private subroutine c_dbcsr_norm_scalar(c_matrix, c_which_norm, c_norm_scalar) bind(C, name="c_dbcsr_norm_scalar")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_which_norm
real(kind=c_double), intent(out) :: c_norm_scalar

private subroutine c_dbcsr_triu(c_matrix) bind(C, name="c_dbcsr_triu")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix

private subroutine c_dbcsr_init_random(c_matrix, c_keep_sparsity) bind(C, name="c_dbcsr_init_random")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
logical(kind=c_bool), intent(in), optional :: c_keep_sparsity

private subroutine c_dbcsr_function_of_elements(c_matrix, c_func, c_a0, c_a1, c_a2) bind(C, name="c_dbcsr_function_of_elements")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(in), VALUE :: c_func
real(kind=c_double), intent(in), optional :: c_a0
real(kind=c_double), intent(in), optional :: c_a1
real(kind=c_double), intent(in), optional :: c_a2

private subroutine c_dbcsr_get_info(c_matrix, c_nblkrows_total, c_nblkcols_total, c_nfullrows_total, c_nfullcols_total, c_nblkrows_local, c_nblkcols_local, c_nfullrows_local, c_nfullcols_local, c_my_prow, c_my_pcol, c_local_rows, c_local_cols, c_proc_row_dist, c_proc_col_dist, c_row_blk_size, c_col_blk_size, c_row_blk_offset, c_col_blk_offset, c_distribution, c_name, c_matrix_type, c_data_type, c_group) bind(C, name="c_dbcsr_get_info")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(out), optional :: c_nblkrows_total
integer(kind=c_int), intent(out), optional :: c_nblkcols_total
integer(kind=c_int), intent(out), optional :: c_nfullrows_total
integer(kind=c_int), intent(out), optional :: c_nfullcols_total
integer(kind=c_int), intent(out), optional :: c_nblkrows_local
integer(kind=c_int), intent(out), optional :: c_nblkcols_local
integer(kind=c_int), intent(out), optional :: c_nfullrows_local
integer(kind=c_int), intent(out), optional :: c_nfullcols_local
integer(kind=c_int), intent(out), optional :: c_my_prow
integer(kind=c_int), intent(out), optional :: c_my_pcol
type(c_ptr), intent(in), VALUE :: c_local_rows
type(c_ptr), intent(in), VALUE :: c_local_cols
type(c_ptr), intent(in), VALUE :: c_proc_row_dist
type(c_ptr), intent(in), VALUE :: c_proc_col_dist
type(c_ptr), intent(in), VALUE :: c_row_blk_size
type(c_ptr), intent(in), VALUE :: c_col_blk_size
type(c_ptr), intent(in), VALUE :: c_row_blk_offset
type(c_ptr), intent(in), VALUE :: c_col_blk_offset
type(c_ptr), intent(out), optional :: c_distribution
type(c_ptr), intent(out), optional :: c_name
character(kind=c_char, len=1), intent(out), optional :: c_matrix_type
integer(kind=c_int), intent(out), optional :: c_data_type
integer(kind=c_int), intent(out), optional :: c_group

private subroutine c_dbcsr_get_local_rows(c_matrix, c_local_rows, c_size) bind(C, name="c_dbcsr_get_local_rows")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_local_rows
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_local_cols(c_matrix, c_local_cols, c_size) bind(C, name="c_dbcsr_get_local_cols")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_local_cols
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_proc_row_dist(c_matrix, c_proc_row_dist, c_size) bind(C, name="c_dbcsr_get_proc_row_dist")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_proc_row_dist
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_proc_col_dist(c_matrix, c_proc_col_dist, c_size) bind(C, name="c_dbcsr_get_proc_col_dist")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_proc_col_dist
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_row_blk_size(c_matrix, c_row_blk_size, c_size) bind(C, name="c_dbcsr_get_row_blk_size")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_row_blk_size
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_col_blk_size(c_matrix, c_col_blk_size, c_size) bind(C, name="c_dbcsr_get_col_blk_size")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_col_blk_size
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_row_blk_offset(c_matrix, c_row_blk_offset, c_size) bind(C, name="c_dbcsr_get_row_blk_offset")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_row_blk_offset
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_col_blk_offset(c_matrix, c_col_blk_offset, c_size) bind(C, name="c_dbcsr_get_col_blk_offset")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(inout), DIMENSION(c_size) :: c_col_blk_offset
integer(kind=c_int), intent(in), VALUE :: c_size

private subroutine c_dbcsr_get_name(c_matrix, c_name) bind(C, name="c_dbcsr_get_name")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_name

private subroutine c_dbcsr_get_group(c_matrix, c_group) bind(C, name="c_dbcsr_get_group_aux")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
integer(kind=c_int), intent(out) :: c_group

private subroutine c_dbcsr_get_distribution(c_matrix, c_dist) bind(C, name="c_dbcsr_get_distribution")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(out) :: c_dist

private subroutine c_dbcsr_distribution_get(c_dist, c_row_dist, c_col_dist, c_nrows, c_ncols, c_has_threads, c_group, c_mynode, c_numnodes, c_nprows, c_npcols, c_myprow, c_mypcol, c_pgrid, c_subgroups_defined, c_prow_group, c_pcol_group) bind(C, name="c_dbcsr_distribution_get_aux")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_dist
type(c_ptr), intent(out), optional :: c_row_dist
type(c_ptr), intent(out), optional :: c_col_dist
integer(kind=c_int), intent(out), optional :: c_nrows
integer(kind=c_int), intent(out), optional :: c_ncols
logical(kind=c_bool), intent(out), optional :: c_has_threads
integer(kind=c_int), intent(out), optional :: c_group
integer(kind=c_int), intent(out), optional :: c_mynode
integer(kind=c_int), intent(out), optional :: c_numnodes
integer(kind=c_int), intent(out), optional :: c_nprows
integer(kind=c_int), intent(out), optional :: c_npcols
integer(kind=c_int), intent(out), optional :: c_myprow
integer(kind=c_int), intent(out), optional :: c_mypcol
type(c_ptr), intent(out), optional :: c_pgrid
logical(kind=c_bool), intent(out), optional :: c_subgroups_defined
integer(kind=c_int), intent(out), optional :: c_prow_group
integer(kind=c_int), intent(out), optional :: c_pcol_group

private subroutine c_dbcsr_get_stored_coordinates(c_matrix, row, col, processor) bind(C, name="c_dbcsr_get_stored_coordinates")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), value :: c_matrix
integer(kind=c_int), intent(in), value :: row
integer(kind=c_int), intent(in), value :: col
integer(kind=c_int), intent(out) :: processor

private subroutine c_dbcsr_setname(c_matrix, c_newname) bind(C, name="c_dbcsr_setname")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(in), VALUE :: c_newname

private subroutine c_dbcsr_binary_write(c_matrix, c_filepath) bind(C, name="c_dbcsr_binary_write")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_matrix
type(c_ptr), intent(in), VALUE :: c_filepath

private subroutine c_dbcsr_binary_read(c_filepath, c_distribution, c_matrix_new) bind(C, name="c_dbcsr_binary_read")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(in), VALUE :: c_filepath
type(c_ptr), intent(in), VALUE :: c_distribution
type(c_ptr), intent(inout) :: c_matrix_new

private subroutine c_free_string(c_string) bind(C, name="c_free_string")

Arguments

Type IntentOptional Attributes Name
type(c_ptr), intent(inout) :: c_string