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



Contents

c_f_string c_dbcsr_clear_mempools c_dbcsr_init_lib c_dbcsr_finalise_lib c_dbcsr_mp_grid_setup c_dbcsr_print_statistics c_dbcsr_distribution_hold c_dbcsr_distribution_new c_dbcsr_distribution_release c_dbcsr_release c_dbcsr_create_new c_dbcsr_create_template c_dbcsr_finalize c_dbcsr_set_d c_dbcsr_add_d c_dbcsr_scale_d c_dbcsr_scale_by_vector_d c_dbcsr_multiply_d c_dbcsr_add_on_diag_d c_dbcsr_set_diag_d c_dbcsr_get_diag_d c_dbcsr_trace_d c_dbcsr_dot_d c_dbcsr_get_block_p_d c_dbcsr_get_block_notrans_p_d c_dbcsr_set_s c_dbcsr_add_s c_dbcsr_scale_s c_dbcsr_scale_by_vector_s c_dbcsr_multiply_s c_dbcsr_add_on_diag_s c_dbcsr_set_diag_s c_dbcsr_get_diag_s c_dbcsr_trace_s c_dbcsr_dot_s c_dbcsr_get_block_p_s c_dbcsr_get_block_notrans_p_s c_dbcsr_set_z c_dbcsr_add_z c_dbcsr_scale_z c_dbcsr_scale_by_vector_z c_dbcsr_multiply_z c_dbcsr_add_on_diag_z c_dbcsr_set_diag_z c_dbcsr_get_diag_z c_dbcsr_trace_z c_dbcsr_dot_z c_dbcsr_get_block_p_z c_dbcsr_get_block_notrans_p_z c_dbcsr_set_c c_dbcsr_add_c c_dbcsr_scale_c c_dbcsr_scale_by_vector_c c_dbcsr_multiply_c c_dbcsr_add_on_diag_c c_dbcsr_set_diag_c c_dbcsr_get_diag_c c_dbcsr_trace_c c_dbcsr_dot_c c_dbcsr_get_block_p_c c_dbcsr_get_block_notrans_p_c c_dbcsr_complete_redistribute c_dbcsr_filter c_dbcsr_get_block_diag c_dbcsr_transposed c_dbcsr_copy c_dbcsr_copy_into_existing c_dbcsr_desymmetrize c_dbcsr_clear c_dbcsr_reserve_diag_blocks c_dbcsr_reserve_blocks c_dbcsr_reserve_all_blocks c_dbcsr_reserve_block2d_d c_dbcsr_reserve_block2d_s c_dbcsr_reserve_block2d_z c_dbcsr_reserve_block2d_c c_dbcsr_iterator_stop c_dbcsr_iterator_start c_dbcsr_iterator_next_block_index c_dbcsr_iterator_next_2d_block_d c_dbcsr_iterator_next_2d_block_s c_dbcsr_iterator_next_2d_block_z c_dbcsr_iterator_next_2d_block_c c_dbcsr_put_block2d_d c_dbcsr_get_data_d c_dbcsr_put_block2d_s c_dbcsr_get_data_s c_dbcsr_put_block2d_z c_dbcsr_get_data_z c_dbcsr_put_block2d_c c_dbcsr_get_data_c c_dbcsr_replicate_all c_dbcsr_distribute c_dbcsr_sum_replicated c_dbcsr_hadamard_product c_dbcsr_print c_dbcsr_print_block_sum c_dbcsr_norm_scalar c_dbcsr_triu c_dbcsr_init_random c_dbcsr_function_of_elements c_dbcsr_get_info c_dbcsr_get_local_rows c_dbcsr_get_local_cols c_dbcsr_get_proc_row_dist c_dbcsr_get_proc_col_dist c_dbcsr_get_row_blk_size c_dbcsr_get_col_blk_size c_dbcsr_get_row_blk_offset c_dbcsr_get_col_blk_offset c_dbcsr_get_name c_dbcsr_get_group c_dbcsr_get_distribution c_dbcsr_distribution_get c_dbcsr_get_stored_coordinates c_dbcsr_setname c_dbcsr_binary_write c_dbcsr_binary_read c_free_string

Functions

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

Arguments

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_matrix

Return Value character(kind=c_char)

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

Arguments

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
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

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_matrix

Return Value integer(kind=c_int)


Subroutines

private subroutine c_f_string(c_str, str)

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in) :: c_str
character(kind=c_char), intent(out), ALLOCATABLE:: str

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

Arguments

None

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

None

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

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_dist

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(inout) :: c_dist

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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), 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), 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="0")

Arguments

TypeIntentOptionalAttributesName
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), 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), intent(in), optional :: c_replication_type

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

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), value:: c_matrix

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
character(kind=c_char), intent(in), value:: c_transa
character(kind=c_char), 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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
character(kind=c_char), intent(in), value:: c_transa
character(kind=c_char), 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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
character(kind=c_char), intent(in), value:: c_transa
character(kind=c_char), 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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
character(kind=c_char), intent(in), value:: c_transa
character(kind=c_char), 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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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), intent(in), optional :: c_matrix_type

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(inout) :: c_dbcsr_mat

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_matrix

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), value:: c_matrix

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_matrix

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

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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), 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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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="0")

Arguments

TypeIntentOptionalAttributesName
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_groupid, c_matrix_new) bind(C, name="0")

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(in), VALUE:: c_filepath
type(c_ptr), intent(in), VALUE:: c_distribution
integer(kind=c_int), intent(in), VALUE:: c_groupid
type(c_ptr), intent(inout) :: c_matrix_new

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

Arguments

TypeIntentOptionalAttributesName
type(c_ptr), intent(inout) :: c_string