From d8a7caf9672c55c92108a12ef2ff502a78ab409c Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 11 Apr 2022 23:03:50 +0200 Subject: [PATCH 01/17] Fixed #1 --- devel/trexio/import_trexio_integrals.irp.f | 141 + devel/trexio/trexio_f.f90 | 3535 +++++++++++++------- stable/champ/write_champ_csf.irp.f | 14 +- 3 files changed, 2384 insertions(+), 1306 deletions(-) create mode 100644 devel/trexio/import_trexio_integrals.irp.f diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f new file mode 100644 index 0000000..a422ce2 --- /dev/null +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -0,0 +1,141 @@ +program import_integrals_ao + call run +end + +subroutine run + use trexio + use map_module + implicit none + BEGIN_DOC +! Program to import integrals from TREXIO + END_DOC + + integer(8) :: f ! TREXIO file handle + integer :: rc + + integer ::i,j,k,l + double precision :: integral + double precision, allocatable :: A(:,:) + + integer :: n_integrals + integer(key_kind), allocatable :: buffer_i(:) + real(integral_kind), allocatable :: buffer_values(:) + + f = trexio_open(trexio_filename, 'r', TREXIO_AUTO, rc) + if (f == 0_8) then + print *, 'Unable to open TREXIO file for reading' + print *, 'rc = ', rc + stop -1 + endif + + + double precision, allocatable :: A(:,:) + double precision, allocatable :: V(:) + double precision, allocatable :: s + allocate(A(ao_num, ao_num)) + + if (trexio_has_nucleus_repulsion(f)) then + rc = trexio_read_nucleus_repulsion(f, s) + if (rc /= TREXIO_SUCCESS) then + print *, irp_here + print *, 'Error reading nuclear repulsion' + stop -1 + endif + call ezfio_set_nuclei_nuclear_repulsion(s) + call ezfio_set_nuclei_io_nuclear_repulsion('Read') + endif + + + if (trexio_has_ao_1e_int_overlap(f) == TREXIO_SUCCESS) then + rc = trexio_read_ao_1e_int_overlap(f, A) + if (rc /= TREXIO_SUCCESS) then + print *, irp_here + print *, 'Error reading AO overlap' + stop -1 + endif + call ezfio_set_ao_one_e_ints_ao_integrals_overlap(A) + call ezfio_set_ao_one_e_ints_io_ao_integrals_overlap('Read') + endif + + if (trexio_has_ao_1e_int_kinetic(f) == TREXIO_SUCCESS) then + rc = trexio_read_ao_1e_int_kinetic(f, A) + if (rc /= TREXIO_SUCCESS) then + print *, irp_here + print *, 'Error reading AO kinetic integrals' + stop -1 + endif + call ezfio_set_ao_one_e_ints_ao_integrals_kinetic(A) + call ezfio_set_ao_one_e_ints_io_ao_integrals_kinetic('Read') + endif + + if (trexio_has_ao_1e_int_ecp(f) == TREXIO_SUCCESS) then + rc = trexio_read_ao_1e_int_ecp(f, A) + if (rc /= TREXIO_SUCCESS) then + print *, irp_here + print *, 'Error reading AO ECP local integrals' + stop -1 + endif + call ezfio_set_ao_one_e_ints_ao_integrals_pseudo(A) + call ezfio_set_ao_one_e_ints_io_ao_integrals_pseudo('Read') + endif + + if (trexio_has_ao_1e_int_potential_n_e(f) == TREXIO_SUCCESS) then + rc = trexio_read_ao_1e_int_potential_n_e(f, A) + if (rc /= TREXIO_SUCCESS) then + print *, irp_here + print *, 'Error reading AO potential N-e integrals' + stop -1 + endif + call ezfio_set_ao_one_e_ints_ao_integrals_n_e(A) + call ezfio_set_ao_one_e_ints_io_ao_integrals_n_e('Read') + endif + + + allocate(buffer_i(ao_num**3), buffer_values(ao_num**3)) + iunit = getunitandopen('W.qp','r') + n_integrals=0 + i = 1 + j = 1 + k = 1 + l = 1 + buffer_values = 0.d0 + do + read (iunit,*,end=13) i,j,k,l, integral + if (i<0 .or. i>ao_num) then + print *, i + stop 'i out of bounds in W.qp' + endif + if (j<0 .or. j>ao_num) then + print *, j + stop 'j out of bounds in W.qp' + endif + if (k<0 .or. k>ao_num) then + print *, k + stop 'k out of bounds in W.qp' + endif + if (l<0 .or. l>ao_num) then + print *, l + stop 'l out of bounds in W.qp' + endif + n_integrals += 1 + call two_e_integrals_index(i, j, k, l, buffer_i(n_integrals) ) + buffer_values(n_integrals) = integral + if (n_integrals == size(buffer_i)) then + call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_values) + n_integrals = 0 + endif + enddo + 13 continue + close(iunit) + + if (n_integrals > 0) then + call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_values) + endif + + call map_sort(ao_integrals_map) + call map_unique(ao_integrals_map) + + call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) + call ezfio_set_ao_two_e_ints_io_ao_two_e_integrals('Read') + +end diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index e8b1e79..26c9f94 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -3,8 +3,9 @@ module trexio use, intrinsic :: iso_c_binding implicit none - integer, parameter :: trexio_exit_code = 4 - integer, parameter :: trexio_backend = 4 + integer, parameter :: trexio_exit_code = c_int32_t + integer, parameter :: trexio_back_end_t = c_int32_t + integer, parameter :: trexio_t = c_int64_t character(kind=c_char), parameter :: TREXIO_DELIM = c_new_line @@ -38,3252 +39,4181 @@ integer(trexio_exit_code), parameter :: TREXIO_DSET_MISSING = 25 integer(trexio_exit_code), parameter :: TREXIO_BACK_END_MISSING = 26 integer(trexio_exit_code), parameter :: TREXIO_INVALID_STR_LEN = 30 integer(trexio_exit_code), parameter :: TREXIO_INT_SIZE_OVERFLOW = 31 +integer(trexio_exit_code), parameter :: TREXIO_SAFE_MODE = 32 interface subroutine trexio_string_of_error (error, string) bind(C, name='trexio_string_of_error_f') use, intrinsic :: iso_c_binding import - integer (trexio_exit_code), intent(in), value :: error - character, intent(out) :: string(128) + integer(trexio_exit_code), intent(in), value :: error + character(kind=c_char), intent(out) :: string(128) end subroutine trexio_string_of_error end interface -integer(trexio_backend), parameter :: TREXIO_HDF5 = 0 - integer(trexio_backend), parameter :: TREXIO_TEXT = 1 -! integer(trexio_backend), parameter :: TREXIO_JSON = 2 - integer(trexio_backend), parameter :: TREXIO_INVALID_BACK_END = 2 +integer(trexio_back_end_t), parameter :: TREXIO_HDF5 = 0 + integer(trexio_back_end_t), parameter :: TREXIO_TEXT = 1 +! integer(trexio_back_end_t), parameter :: TREXIO_JSON = 2 + integer(trexio_back_end_t), parameter :: TREXIO_INVALID_BACK_END = 2 + integer(trexio_back_end_t), parameter :: TREXIO_AUTO = TREXIO_INVALID_BACK_END interface - logical function trexio_has_backend (back_end) bind(C) + logical(c_bool) function trexio_has_back_end (back_end) bind(C) use, intrinsic :: iso_c_binding - integer(4), intent(in), value :: back_end + import + integer(trexio_back_end_t), intent(in), value :: back_end + end function trexio_has_back_end +end interface + +interface + logical(c_bool) function trexio_has_backend (back_end) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_back_end_t), intent(in), value :: back_end end function trexio_has_backend end interface interface - integer(8) function trexio_open_c (filename, mode, backend, rc_open) bind(C, name="trexio_open") + integer(trexio_t) function trexio_open_c (filename, mode, back_end, rc_open) bind(C, name="trexio_open") use, intrinsic :: iso_c_binding import - character(kind=c_char), dimension(*) :: filename - character, intent(in), value :: mode - integer(trexio_backend), intent(in), value :: backend - integer(trexio_exit_code), intent(out) :: rc_open + character(kind=c_char), dimension(*) :: filename + character(kind=c_char), intent(in), value :: mode + integer(trexio_back_end_t), intent(in), value :: back_end + integer(trexio_exit_code), intent(out) :: rc_open end function trexio_open_c end interface interface - integer function trexio_set_one_based(trex_file) bind(C) + integer(trexio_exit_code) function trexio_set_one_based(trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_set_one_based end interface interface - integer function trexio_close (trex_file) bind(C) + integer(trexio_exit_code) function trexio_close (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_close end interface -character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.0.0" -integer(4) :: TREXIO_VERSION_MAJOR = 2 -integer(4) :: TREXIO_VERSION_MINOR = 0 -integer(4) :: TREXIO_VERSION_PATCH = 0 +interface + integer(trexio_exit_code) function trexio_inquire_c (filename) bind(C, name="trexio_inquire") + use, intrinsic :: iso_c_binding + import + character(kind=c_char), dimension(*) :: filename + end function trexio_inquire_c +end interface interface - integer function trexio_has_metadata_code_num (trex_file) bind(C) + integer function trexio_info () bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + end function trexio_info +end interface + +character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.2.0" +integer :: TREXIO_VERSION_MAJOR = 2 +integer :: TREXIO_VERSION_MINOR = 2 +integer :: TREXIO_VERSION_PATCH = 0 +character(len = 64) :: TREXIO_GIT_HASH = "5834244b302daa1b283349404aaa35dd71c7b929" + +interface + integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_metadata +end interface + +interface + integer(trexio_exit_code) function trexio_delete_electron (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_electron +end interface + +interface + integer(trexio_exit_code) function trexio_delete_nucleus (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_nucleus +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ecp (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ecp +end interface + +interface + integer(trexio_exit_code) function trexio_delete_basis (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_basis +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao_1e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao_1e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao_2e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao_2e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo_1e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo_1e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo_2e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo_2e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_rdm (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_rdm +end interface + +interface + integer(trexio_exit_code) function trexio_has_metadata_code_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_code_num end interface interface - integer function trexio_has_metadata_author_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_author_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_author_num end interface interface - integer function trexio_has_electron_up_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_unsafe (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_has_electron_up_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_electron_up_num end interface interface - integer function trexio_has_electron_dn_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_electron_dn_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_electron_dn_num end interface interface - integer function trexio_has_nucleus_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_num end interface interface - integer function trexio_has_nucleus_repulsion (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_repulsion (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_repulsion end interface interface - integer function trexio_has_ecp_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_num end interface interface - integer function trexio_has_basis_prim_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_prim_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_prim_num end interface interface - integer function trexio_has_basis_shell_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_num end interface interface - integer function trexio_has_ao_cartesian (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_cartesian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_cartesian end interface interface - integer function trexio_has_ao_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_num end interface interface - integer function trexio_has_mo_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_num end interface interface - integer function trexio_has_metadata_package_version (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_package_version (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_metadata_package_version end interface interface - integer function trexio_has_metadata_description (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_description (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_metadata_description end interface interface - integer function trexio_has_nucleus_point_group (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_point_group (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_nucleus_point_group end interface interface - integer function trexio_has_basis_type (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_type (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_basis_type end interface interface - integer function trexio_has_mo_type (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_type (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_mo_type end interface interface - integer function trexio_has_nucleus_charge (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_charge (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_charge end interface interface - integer function trexio_has_nucleus_coord (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_coord (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_coord end interface interface - integer function trexio_has_ecp_max_ang_mom_plus_1 (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_max_ang_mom_plus_1 (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_has_ecp_z_core (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_z_core (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_z_core end interface interface - integer function trexio_has_ecp_ang_mom (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_ang_mom (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_ang_mom end interface interface - integer function trexio_has_ecp_nucleus_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_nucleus_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_nucleus_index end interface interface - integer function trexio_has_ecp_exponent (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_exponent end interface interface - integer function trexio_has_ecp_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_coefficient end interface interface - integer function trexio_has_ecp_power (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_power (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_power end interface interface - integer function trexio_has_basis_nucleus_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_nucleus_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_nucleus_index end interface interface - integer function trexio_has_basis_shell_ang_mom (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_ang_mom (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_ang_mom end interface interface - integer function trexio_has_basis_shell_factor (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_factor (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_factor end interface interface - integer function trexio_has_basis_shell_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_index end interface interface - integer function trexio_has_basis_exponent (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_exponent end interface interface - integer function trexio_has_basis_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_coefficient end interface interface - integer function trexio_has_basis_prim_factor (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_prim_factor (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_prim_factor end interface interface - integer function trexio_has_ao_shell (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_shell (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_shell end interface interface - integer function trexio_has_ao_normalization (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_normalization (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_normalization end interface interface - integer function trexio_has_ao_1e_int_overlap (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_overlap (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_overlap end interface interface - integer function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_kinetic end interface interface - integer function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_potential_n_e end interface interface - integer function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_ecp_local end interface interface - integer function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_ecp_non_local end interface interface - integer function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_has_mo_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_coefficient end interface interface - integer function trexio_has_mo_occupation (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_occupation (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_occupation end interface interface - integer function trexio_has_mo_1e_int_overlap (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_overlap (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_overlap end interface interface - integer function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_kinetic end interface interface - integer function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_potential_n_e end interface interface - integer function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_ecp_local end interface interface - integer function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_ecp_non_local end interface interface - integer function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_has_rdm_1e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e end interface interface - integer function trexio_has_rdm_1e_up (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e_up (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e_up end interface interface - integer function trexio_has_rdm_1e_dn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e_dn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e_dn end interface interface - integer function trexio_has_ao_2e_int_eri (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_2e_int_eri end interface interface - integer function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_2e_int_eri_lr end interface interface - integer function trexio_has_mo_2e_int_eri (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_2e_int_eri end interface interface - integer function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_2e_int_eri_lr end interface interface - integer function trexio_has_rdm_2e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e end interface interface - integer function trexio_has_rdm_2e_upup (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_upup (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_upup end interface interface - integer function trexio_has_rdm_2e_dndn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_dndn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_dndn end interface interface - integer function trexio_has_rdm_2e_updn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_updn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_updn end interface interface - integer function trexio_has_metadata_code (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_dnup (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_has_metadata_code (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_code end interface interface - integer function trexio_has_metadata_author (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_author (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_author end interface interface - integer function trexio_has_nucleus_label (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_label (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_label end interface interface - integer function trexio_has_mo_class (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_class (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_class end interface interface - integer function trexio_has_mo_symmetry (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_symmetry (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_symmetry end interface interface - integer function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_code_num_32 end interface interface - integer function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_author_num_32 end interface interface - integer function trexio_read_electron_up_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_metadata_unsafe_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_up_num_32 end interface interface - integer function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_dn_num_32 end interface interface - integer function trexio_read_nucleus_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_nucleus_num_32 end interface interface - integer function trexio_read_nucleus_repulsion_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: num end function trexio_read_nucleus_repulsion_32 end interface interface - integer function trexio_read_ecp_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ecp_num_32 end interface interface - integer function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_prim_num_32 end interface interface - integer function trexio_read_basis_shell_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_shell_num_32 end interface interface - integer function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_cartesian_32 end interface interface - integer function trexio_read_ao_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_num_32 end interface interface - integer function trexio_read_mo_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_mo_num_32 end interface interface - integer function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_metadata_code_num_64 end interface interface - integer function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_metadata_author_num_64 end interface interface - integer function trexio_read_electron_up_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_metadata_unsafe_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_electron_up_num_64 end interface interface - integer function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_electron_dn_num_64 end interface interface - integer function trexio_read_nucleus_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_nucleus_num_64 end interface interface - integer function trexio_read_nucleus_repulsion_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: num end function trexio_read_nucleus_repulsion_64 end interface interface - integer function trexio_read_ecp_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ecp_num_64 end interface interface - integer function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_basis_prim_num_64 end interface interface - integer function trexio_read_basis_shell_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_basis_shell_num_64 end interface interface - integer function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ao_cartesian_64 end interface interface - integer function trexio_read_ao_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ao_num_64 end interface interface - integer function trexio_read_mo_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_mo_num_64 end interface interface - integer function trexio_read_metadata_code_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_code_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_code_num end interface interface - integer function trexio_read_metadata_author_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_author_num end interface interface - integer function trexio_read_electron_up_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_up_num end interface interface - integer function trexio_read_electron_dn_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_dn_num end interface interface - integer function trexio_read_nucleus_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_nucleus_num end interface interface - integer function trexio_read_nucleus_repulsion (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: num end function trexio_read_nucleus_repulsion end interface interface - integer function trexio_read_ecp_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ecp_num end interface interface - integer function trexio_read_basis_prim_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_prim_num end interface interface - integer function trexio_read_basis_shell_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_shell_num end interface interface - integer function trexio_read_ao_cartesian (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_cartesian end interface interface - integer function trexio_read_ao_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_num end interface interface - integer function trexio_read_mo_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_mo_num end interface interface - integer function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_package_version") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_package_version_c end interface interface - integer function trexio_read_metadata_description_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_description") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_description_c end interface interface - integer function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_nucleus_point_group") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_nucleus_point_group_c end interface interface - integer function trexio_read_basis_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_basis_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_basis_type_c end interface interface - integer function trexio_read_mo_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_mo_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_type_c end interface interface - integer function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_nucleus_charge_32 end interface interface - integer function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_nucleus_coord_32 end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1_32 end interface interface - integer function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core_32 end interface interface - integer function trexio_read_ecp_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom_32 end interface interface - integer function trexio_read_ecp_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index_32 end interface interface - integer function trexio_read_ecp_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ecp_exponent_32 end interface interface - integer function trexio_read_ecp_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ecp_coefficient_32 end interface interface - integer function trexio_read_ecp_power_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_power_32 end interface interface - integer function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_32 end interface interface - integer function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_32 end interface interface - integer function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_32 end interface interface - integer function trexio_read_basis_shell_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index_32 end interface interface - integer function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_exponent_32 end interface interface - integer function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_coefficient_32 end interface interface - integer function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_prim_factor_32 end interface interface - integer function trexio_read_ao_shell_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ao_shell_32 end interface interface - integer function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_normalization_32 end interface interface - integer function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_32 end interface interface - integer function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_32 end interface interface - integer function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_32 end interface interface - integer function trexio_read_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local_32 end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local_32 end interface interface - integer function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_coefficient_32 end interface interface - integer function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_occupation_32 end interface interface - integer function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap_32 end interface interface - integer function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_32 end interface interface - integer function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_32 end interface interface - integer function trexio_read_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local_32 end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local_32 end interface interface - integer function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_32 end interface interface - integer function trexio_read_rdm_1e_up_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_up_32 end interface interface - integer function trexio_read_rdm_1e_dn_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn_32 end interface interface - integer function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_charge_64 end interface interface - integer function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_coord_64 end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1_64 end interface interface - integer function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core_64 end interface interface - integer function trexio_read_ecp_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom_64 end interface interface - integer function trexio_read_ecp_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index_64 end interface interface - integer function trexio_read_ecp_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_exponent_64 end interface interface - integer function trexio_read_ecp_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_coefficient_64 end interface interface - integer function trexio_read_ecp_power_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_power_64 end interface interface - integer function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_64 end interface interface - integer function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_64 end interface interface - integer function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_64 end interface interface - integer function trexio_read_basis_shell_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index_64 end interface interface - integer function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_exponent_64 end interface interface - integer function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_coefficient_64 end interface interface - integer function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_prim_factor_64 end interface interface - integer function trexio_read_ao_shell_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ao_shell_64 end interface interface - integer function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_normalization_64 end interface interface - integer function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_64 end interface interface - integer function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_64 end interface interface - integer function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_64 end interface interface - integer function trexio_read_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local_64 end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local_64 end interface interface - integer function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_coefficient_64 end interface interface - integer function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_occupation_64 end interface interface - integer function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap_64 end interface interface - integer function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_64 end interface interface - integer function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_64 end interface interface - integer function trexio_read_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local_64 end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local_64 end interface interface - integer function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_64 end interface interface - integer function trexio_read_rdm_1e_up_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_up_64 end interface interface - integer function trexio_read_rdm_1e_dn_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn_64 end interface interface - integer function trexio_read_nucleus_charge (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_charge (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_charge end interface interface - integer function trexio_read_nucleus_coord (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_coord end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_read_ecp_z_core (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core end interface interface - integer function trexio_read_ecp_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom end interface interface - integer function trexio_read_ecp_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index end interface interface - integer function trexio_read_ecp_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_exponent end interface interface - integer function trexio_read_ecp_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_coefficient end interface interface - integer function trexio_read_ecp_power (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_power end interface interface - integer function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index end interface interface - integer function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom end interface interface - integer function trexio_read_basis_shell_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_shell_factor end interface interface - integer function trexio_read_basis_shell_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index end interface interface - integer function trexio_read_basis_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_exponent end interface interface - integer function trexio_read_basis_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_coefficient end interface interface - integer function trexio_read_basis_prim_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_prim_factor end interface interface - integer function trexio_read_ao_shell (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ao_shell end interface interface - integer function trexio_read_ao_normalization (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_normalization end interface interface - integer function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap end interface interface - integer function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic end interface interface - integer function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e end interface interface - integer function trexio_read_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_local end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_ecp_non_local end interface interface - integer function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_read_mo_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_coefficient end interface interface - integer function trexio_read_mo_occupation (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_occupation end interface interface - integer function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap end interface interface - integer function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic end interface interface - integer function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e end interface interface - integer function trexio_read_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_local end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_ecp_non_local end interface interface - integer function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_read_rdm_1e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e end interface interface - integer function trexio_read_rdm_1e_up (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_up end interface interface - integer function trexio_read_rdm_1e_dn (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn end interface interface - integer function trexio_read_ao_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_ao_2e_int_eri end interface interface - integer function trexio_read_ao_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_ao_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_ao_2e_int_eri_lr end interface interface - integer function trexio_read_mo_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_ao_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_mo_2e_int_eri end interface interface - integer function trexio_read_mo_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_mo_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_mo_2e_int_eri_lr end interface interface - integer function trexio_read_rdm_2e (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_mo_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e end interface interface - integer function trexio_read_rdm_2e_upup (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_upup (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_upup end interface interface - integer function trexio_read_rdm_2e_dndn (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_upup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_upup +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_dndn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_dndn end interface interface - integer function trexio_read_rdm_2e_updn (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dndn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_dndn +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_updn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_updn end interface interface - integer function trexio_read_ao_2e_int_eri_size (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_updn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_updn +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, value_sparse) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) + end function trexio_read_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_ao_2e_int_eri_size end interface interface - integer function trexio_read_ao_2e_int_eri_lr_size (trex_file, & + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_ao_2e_int_eri_lr_size end interface interface - integer function trexio_read_mo_2e_int_eri_size (trex_file, & + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_mo_2e_int_eri_size end interface interface - integer function trexio_read_mo_2e_int_eri_lr_size (trex_file, & + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_mo_2e_int_eri_lr_size end interface interface - integer function trexio_read_rdm_2e_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_size end interface interface - integer function trexio_read_rdm_2e_upup_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_upup_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_upup_size end interface interface - integer function trexio_read_rdm_2e_dndn_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_dndn_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_dndn_size end interface interface - integer function trexio_read_rdm_2e_updn_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_updn_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_updn_size end interface interface - integer function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_2e_dnup_size (trex_file, & + size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max + end function trexio_read_rdm_2e_dnup_size +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_code_low end interface interface - integer function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_author_low end interface interface - integer function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_nucleus_label_low end interface interface - integer function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_class_low end interface interface - integer function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_symmetry_low end interface interface - integer function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_code_num_32 end interface interface - integer function trexio_write_metadata_author_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_author_num_32 end interface interface - integer function trexio_write_electron_up_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_metadata_unsafe_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_up_num_32 end interface interface - integer function trexio_write_electron_dn_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_dn_num_32 end interface interface - integer function trexio_write_nucleus_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_nucleus_num_32 end interface interface - integer function trexio_write_nucleus_repulsion_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in), value :: num end function trexio_write_nucleus_repulsion_32 end interface interface - integer function trexio_write_ecp_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ecp_num_32 end interface interface - integer function trexio_write_basis_prim_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_prim_num_32 end interface interface - integer function trexio_write_basis_shell_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_shell_num_32 end interface interface - integer function trexio_write_ao_cartesian_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_cartesian_32 end interface interface - integer function trexio_write_ao_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_num_32 end interface interface - integer function trexio_write_mo_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_mo_num_32 end interface interface - integer function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_metadata_code_num_64 end interface interface - integer function trexio_write_metadata_author_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_metadata_author_num_64 end interface interface - integer function trexio_write_electron_up_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_metadata_unsafe_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_electron_up_num_64 end interface interface - integer function trexio_write_electron_dn_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_electron_dn_num_64 end interface interface - integer function trexio_write_nucleus_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_nucleus_num_64 end interface interface - integer function trexio_write_nucleus_repulsion_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in), value :: num end function trexio_write_nucleus_repulsion_64 end interface interface - integer function trexio_write_ecp_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ecp_num_64 end interface interface - integer function trexio_write_basis_prim_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_basis_prim_num_64 end interface interface - integer function trexio_write_basis_shell_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_basis_shell_num_64 end interface interface - integer function trexio_write_ao_cartesian_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ao_cartesian_64 end interface interface - integer function trexio_write_ao_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ao_num_64 end interface interface - integer function trexio_write_mo_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_mo_num_64 end interface interface - integer function trexio_write_metadata_code_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_code_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_code_num end interface interface - integer function trexio_write_metadata_author_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_author_num end interface interface - integer function trexio_write_electron_up_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_up_num end interface interface - integer function trexio_write_electron_dn_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_dn_num end interface interface - integer function trexio_write_nucleus_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_nucleus_num end interface interface - integer function trexio_write_nucleus_repulsion (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in), value :: num end function trexio_write_nucleus_repulsion end interface interface - integer function trexio_write_ecp_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ecp_num end interface interface - integer function trexio_write_basis_prim_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_prim_num end interface interface - integer function trexio_write_basis_shell_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_shell_num end interface interface - integer function trexio_write_ao_cartesian (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_cartesian end interface interface - integer function trexio_write_ao_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_num end interface interface - integer function trexio_write_mo_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_mo_num end interface interface - integer function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_package_version") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_package_version_c end interface interface - integer function trexio_write_metadata_description_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_description") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_description_c end interface interface - integer function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_nucleus_point_group") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_nucleus_point_group_c end interface interface - integer function trexio_write_basis_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_basis_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_basis_type_c end interface interface - integer function trexio_write_mo_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_mo_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_type_c end interface interface - integer function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_nucleus_charge_32 end interface interface - integer function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_nucleus_coord_32 end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1_32 end interface interface - integer function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core_32 end interface interface - integer function trexio_write_ecp_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom_32 end interface interface - integer function trexio_write_ecp_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index_32 end interface interface - integer function trexio_write_ecp_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ecp_exponent_32 end interface interface - integer function trexio_write_ecp_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ecp_coefficient_32 end interface interface - integer function trexio_write_ecp_power_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_power_32 end interface interface - integer function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_32 end interface interface - integer function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_32 end interface interface - integer function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_32 end interface interface - integer function trexio_write_basis_shell_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index_32 end interface interface - integer function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_exponent_32 end interface interface - integer function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_coefficient_32 end interface interface - integer function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_prim_factor_32 end interface interface - integer function trexio_write_ao_shell_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ao_shell_32 end interface interface - integer function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_normalization_32 end interface interface - integer function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_32 end interface interface - integer function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_32 end interface interface - integer function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_32 end interface interface - integer function trexio_write_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local_32 end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local_32 end interface interface - integer function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_coefficient_32 end interface interface - integer function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_occupation_32 end interface interface - integer function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap_32 end interface interface - integer function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_32 end interface interface - integer function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_32 end interface interface - integer function trexio_write_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local_32 end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local_32 end interface interface - integer function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_32 end interface interface - integer function trexio_write_rdm_1e_up_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_up_32 end interface interface - integer function trexio_write_rdm_1e_dn_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn_32 end interface interface - integer function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_charge_64 end interface interface - integer function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_coord_64 end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1_64 end interface interface - integer function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core_64 end interface interface - integer function trexio_write_ecp_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom_64 end interface interface - integer function trexio_write_ecp_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index_64 end interface interface - integer function trexio_write_ecp_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_exponent_64 end interface interface - integer function trexio_write_ecp_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_coefficient_64 end interface interface - integer function trexio_write_ecp_power_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_power_64 end interface interface - integer function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_64 end interface interface - integer function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_64 end interface interface - integer function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_64 end interface interface - integer function trexio_write_basis_shell_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index_64 end interface interface - integer function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_exponent_64 end interface interface - integer function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_coefficient_64 end interface interface - integer function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_prim_factor_64 end interface interface - integer function trexio_write_ao_shell_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ao_shell_64 end interface interface - integer function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_normalization_64 end interface interface - integer function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_64 end interface interface - integer function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_64 end interface interface - integer function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_64 end interface interface - integer function trexio_write_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local_64 end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local_64 end interface interface - integer function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_coefficient_64 end interface interface - integer function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_occupation_64 end interface interface - integer function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap_64 end interface interface - integer function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_64 end interface interface - integer function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_64 end interface interface - integer function trexio_write_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local_64 end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local_64 end interface interface - integer function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_64 end interface interface - integer function trexio_write_rdm_1e_up_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_up_64 end interface interface - integer function trexio_write_rdm_1e_dn_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn_64 end interface interface - integer function trexio_write_nucleus_charge (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_charge (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_charge end interface interface - integer function trexio_write_nucleus_coord (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_coord end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_write_ecp_z_core (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core end interface interface - integer function trexio_write_ecp_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom end interface interface - integer function trexio_write_ecp_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index end interface interface - integer function trexio_write_ecp_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_exponent end interface interface - integer function trexio_write_ecp_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_coefficient end interface interface - integer function trexio_write_ecp_power (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_power end interface interface - integer function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index end interface interface - integer function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom end interface interface - integer function trexio_write_basis_shell_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_shell_factor end interface interface - integer function trexio_write_basis_shell_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index end interface interface - integer function trexio_write_basis_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_exponent end interface interface - integer function trexio_write_basis_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_coefficient end interface interface - integer function trexio_write_basis_prim_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_prim_factor end interface interface - integer function trexio_write_ao_shell (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ao_shell end interface interface - integer function trexio_write_ao_normalization (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_normalization end interface interface - integer function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap end interface interface - integer function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic end interface interface - integer function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e end interface interface - integer function trexio_write_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_local end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_ecp_non_local end interface interface - integer function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_write_mo_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_coefficient end interface interface - integer function trexio_write_mo_occupation (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_occupation end interface interface - integer function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap end interface interface - integer function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic end interface interface - integer function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e end interface interface - integer function trexio_write_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_local end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_ecp_non_local end interface interface - integer function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_write_rdm_1e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e end interface interface - integer function trexio_write_rdm_1e_up (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_up end interface interface - integer function trexio_write_rdm_1e_dn (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn end interface interface - integer function trexio_write_ao_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_write_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_ao_2e_int_eri end interface interface - integer function trexio_write_ao_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_ao_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_ao_2e_int_eri_lr end interface interface - integer function trexio_write_mo_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_ao_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_mo_2e_int_eri end interface interface - integer function trexio_write_mo_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_mo_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_mo_2e_int_eri_lr end interface interface - integer function trexio_write_rdm_2e (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_mo_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e end interface interface - integer function trexio_write_rdm_2e_upup (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_upup (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_upup end interface interface - integer function trexio_write_rdm_2e_dndn (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_upup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_upup +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_dndn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_dndn end interface interface - integer function trexio_write_rdm_2e_updn (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dndn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_dndn +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_updn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_updn end interface interface - integer function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_updn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_updn +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, value_sparse) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) + end function trexio_write_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_code_low end interface interface - integer function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_author_low end interface interface - integer function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_nucleus_label_low end interface interface - integer function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_class_low end interface interface - integer function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_symmetry_low end interface contains - integer(8) function trexio_open (filename, mode, backend, rc_open) + integer(trexio_t) function trexio_open (filename, mode, back_end, rc_open) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - character(len=*), intent(in) :: filename - character, intent(in), value :: mode - integer(trexio_backend), intent(in), value :: backend - integer(trexio_exit_code), intent(out) :: rc_open - character(len=len_trim(filename)+1) :: filename_c + character(len=*), intent(in) :: filename + character, intent(in), value :: mode + integer(trexio_back_end_t), intent(in), value :: back_end + integer(trexio_exit_code), intent(out) :: rc_open + character(len=len_trim(filename)+1) :: filename_c integer(trexio_exit_code) :: rc filename_c = trim(filename) // c_null_char - trexio_open = trexio_open_c(filename_c, mode, backend, rc_open) + trexio_open = trexio_open_c(filename_c, mode, back_end, rc_open) if (trexio_open == 0_8 .or. rc_open /= TREXIO_SUCCESS) then return endif @@ -3294,15 +4224,25 @@ contains endif end function trexio_open +integer(trexio_exit_code) function trexio_inquire (filename) + use, intrinsic :: iso_c_binding + implicit none + character(len=*), intent(in) :: filename + character(len=len_trim(filename)+1) :: filename_c + + filename_c = trim(filename) // c_null_char + trexio_inquire = trexio_inquire_c(filename_c) +end function trexio_inquire + subroutine trexio_strarray2str(str_array, max_num_str, max_len_str, str_res) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: max_num_str ! number of elements in strign array + integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array integer, intent(in), value :: max_len_str ! maximum length of a string in an array character(len=*), intent(in) :: str_array(*) character(len=:), allocatable, intent(out) :: str_res - integer :: i + integer(c_int64_t) :: i str_res = '' do i = 1, max_num_str @@ -3315,19 +4255,17 @@ end subroutine trexio_strarray2str subroutine trexio_str2strarray(str_flat, max_num_str, max_len_str, str_array) implicit none - integer(8), intent(in), value :: max_num_str ! number of elements in strign array - integer, intent(in), value :: max_len_str ! maximum length of a string in an array - character, intent(in) :: str_flat(*) - character(len=*), intent(inout) :: str_array(*) + integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array + integer, intent(in), value :: max_len_str ! maximum length of a string in an array + character(kind=c_char), intent(in) :: str_flat(*) + character(len=*), intent(inout) :: str_array(*) character(len=max_len_str) :: tmp_str - integer :: i, j, k, ind, offset - integer(8) :: len_flat + integer(c_int64_t) :: i, j, k, ind, len_flat len_flat = (max_len_str+1)*max_num_str + 1 ind=1 - offset=1 do i=1,max_num_str k = 1 tmp_str='' @@ -3340,7 +4278,6 @@ subroutine trexio_str2strarray(str_flat, max_num_str, max_len_str, str_array) k = k + 1 enddo str_array(i)=tmp_str - offset=ind enddo end subroutine trexio_str2strarray @@ -3348,8 +4285,8 @@ end subroutine trexio_str2strarray subroutine trexio_assert(trexio_rc, check_rc, success_message) implicit none - integer, intent(in), value :: trexio_rc - integer, intent(in), value :: check_rc + integer, intent(in), value :: trexio_rc + integer, intent(in), value :: check_rc character(len=*), intent(in), optional :: success_message character*(128) :: str @@ -3359,69 +4296,69 @@ subroutine trexio_assert(trexio_rc, check_rc, success_message) else call trexio_string_of_error(trexio_rc, str) print *, trim(str) - call exit(1) + error stop 1 endif end subroutine trexio_assert -integer function trexio_read_metadata_package_version (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_package_version (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_metadata_package_version = trexio_read_metadata_package_version_c(trex_file, str, max_str_len) end function trexio_read_metadata_package_version -integer function trexio_read_metadata_description (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_description (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_metadata_description = trexio_read_metadata_description_c(trex_file, str, max_str_len) end function trexio_read_metadata_description -integer function trexio_read_nucleus_point_group (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_nucleus_point_group (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_nucleus_point_group = trexio_read_nucleus_point_group_c(trex_file, str, max_str_len) end function trexio_read_nucleus_point_group -integer function trexio_read_basis_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_basis_type (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_basis_type = trexio_read_basis_type_c(trex_file, str, max_str_len) end function trexio_read_basis_type -integer function trexio_read_mo_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_type (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_mo_type = trexio_read_mo_type_c(trex_file, str, max_str_len) end function trexio_read_mo_type -integer function trexio_read_metadata_code (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_code (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: metadata_code_num - integer :: rc + integer(c_int64_t) :: metadata_code_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) if (rc /= TREXIO_SUCCESS) trexio_read_metadata_code = rc @@ -3440,15 +4377,15 @@ integer function trexio_read_metadata_code (trex_file, dset, max_str_len) end function trexio_read_metadata_code -integer function trexio_read_metadata_author (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_author (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: metadata_author_num - integer :: rc + integer(c_int64_t) :: metadata_author_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) if (rc /= TREXIO_SUCCESS) trexio_read_metadata_author = rc @@ -3467,15 +4404,15 @@ integer function trexio_read_metadata_author (trex_file, dset, max_str_len) end function trexio_read_metadata_author -integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_nucleus_label (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: nucleus_num - integer :: rc + integer(c_int64_t) :: nucleus_num + integer(trexio_exit_code) :: rc rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) if (rc /= TREXIO_SUCCESS) trexio_read_nucleus_label = rc @@ -3494,15 +4431,15 @@ integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) end function trexio_read_nucleus_label -integer function trexio_read_mo_class (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_class (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) trexio_read_mo_class = rc @@ -3521,15 +4458,15 @@ integer function trexio_read_mo_class (trex_file, dset, max_str_len) end function trexio_read_mo_class -integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_symmetry (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) trexio_read_mo_symmetry = rc @@ -3548,11 +4485,11 @@ integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) end function trexio_read_mo_symmetry -integer function trexio_write_metadata_package_version (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_package_version (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3563,11 +4500,11 @@ integer function trexio_write_metadata_package_version (trex_file, str, max_str_ end function trexio_write_metadata_package_version -integer function trexio_write_metadata_description (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_description (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3578,11 +4515,11 @@ integer function trexio_write_metadata_description (trex_file, str, max_str_len) end function trexio_write_metadata_description -integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_nucleus_point_group (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3593,11 +4530,11 @@ integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) end function trexio_write_nucleus_point_group -integer function trexio_write_basis_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_basis_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3608,11 +4545,11 @@ integer function trexio_write_basis_type (trex_file, str, max_str_len) end function trexio_write_basis_type -integer function trexio_write_mo_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3623,15 +4560,15 @@ integer function trexio_write_mo_type (trex_file, str, max_str_len) end function trexio_write_mo_type -integer function trexio_write_metadata_code (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_code (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: metadata_code_num - integer :: rc + integer(c_int64_t) :: metadata_code_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) if (rc /= TREXIO_SUCCESS) then @@ -3643,15 +4580,15 @@ integer function trexio_write_metadata_code (trex_file, dset, max_str_len) end function trexio_write_metadata_code -integer function trexio_write_metadata_author (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_author (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: metadata_author_num - integer :: rc + integer(c_int64_t) :: metadata_author_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) if (rc /= TREXIO_SUCCESS) then @@ -3663,15 +4600,15 @@ integer function trexio_write_metadata_author (trex_file, dset, max_str_len) end function trexio_write_metadata_author -integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_nucleus_label (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: nucleus_num - integer :: rc + integer(c_int64_t) :: nucleus_num + integer(trexio_exit_code) :: rc rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) if (rc /= TREXIO_SUCCESS) then @@ -3683,15 +4620,15 @@ integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) end function trexio_write_nucleus_label -integer function trexio_write_mo_class (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_class (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) then @@ -3703,15 +4640,15 @@ integer function trexio_write_mo_class (trex_file, dset, max_str_len) end function trexio_write_mo_class -integer function trexio_write_mo_symmetry (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_symmetry (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) then diff --git a/stable/champ/write_champ_csf.irp.f b/stable/champ/write_champ_csf.irp.f index eddd20a..b0299af 100644 --- a/stable/champ/write_champ_csf.irp.f +++ b/stable/champ/write_champ_csf.irp.f @@ -2,7 +2,7 @@ subroutine write_champ_csf implicit none integer, parameter :: istate=1 - character*(2048) :: format + character*(2048) :: fmt integer :: i, n_elements, j, k integer, allocatable :: list(:,:) @@ -19,24 +19,24 @@ subroutine write_champ_csf ! Determinants write(iunit, '(A, I10)') 'determinants', N_det - write(format,*) '(', N_det, '(F12.8, X))' - write(iunit, format) psi_coef(1:N_det,istate) + write(fmt,*) '(', N_det, '(F12.8, X))' + write(iunit, fmt) psi_coef(1:N_det,istate) - write(format,*) '( ', elec_alpha_num, '(I4,X), 2X, ', elec_beta_num, '(I4,X))' + write(fmt,*) '( ', elec_alpha_num, '(I4,X), 2X, ', elec_beta_num, '(I4,X))' allocate ( list(bit_kind_size,2) ) do i=1, N_det call bitstring_to_list( psi_det(1,1,i), list(1,1), n_elements, N_int) call bitstring_to_list( psi_det(1,2,i), list(1,2), n_elements, N_int) - write(iunit,format) list(1:elec_alpha_num,1), list(1:elec_beta_num,2) + write(iunit,fmt) list(1:elec_alpha_num,1), list(1:elec_beta_num,2) end do write(iunit, '(A)') 'end' ! CSF write(iunit, '(A, I10, X, I3)') 'csf', N_csf, N_states - write(format,*) '(', N_csf, '(F12.8, X))' + write(fmt,*) '(', N_csf, '(F12.8, X))' do i=1,N_states - write(iunit, format) psi_csf_coef(1:N_csf,i) + write(iunit, fmt) psi_csf_coef(1:N_csf,i) end do write(iunit, '(A)') 'end' From 04f622031746bf629fb605908b032cc9cf8643ce Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 11 Apr 2022 23:05:24 +0200 Subject: [PATCH 02/17] Update trexio module --- devel/trexio/export_trexio.irp.f | 13 +- devel/trexio/import_trexio_integrals.irp.f | 106 ++++++------ devel/trexio/qp_import_trexio.py | 6 +- devel/trexio/trexio_f.f90 | 182 ++++----------------- 4 files changed, 88 insertions(+), 219 deletions(-) diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index d9e5e29..4595f2a 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -21,13 +21,12 @@ subroutine run call system('rm -rf '//trim(trexio_filename)//'.bak') call system('mv '//trim(trexio_filename)//' '//trim(trexio_filename)//'.bak') -! call system('mv '//trim(trexio_filename)//' '//trim(trexio_filename)''//.bak) if (backend == 0) then f = trexio_open(trexio_filename, 'w', TREXIO_HDF5, rc) else if (backend == 1) then f = trexio_open(trexio_filename, 'w', TREXIO_TEXT, rc) endif - if (f == 0) then + if (f == 0_8) then print *, 'Unable to open TREXIO file for writing' print *, 'rc = ', rc stop -1 @@ -270,10 +269,7 @@ subroutine run call check_success(rc) if (do_pseudo) then - rc = trexio_write_ao_1e_int_ecp_local(f,ao_pseudo_integrals_local) - call check_success(rc) - - rc = trexio_write_ao_1e_int_ecp_non_local(f,ao_pseudo_integrals_non_local) + rc = trexio_write_ao_1e_int_ecp(f, ao_pseudo_integrals_local + ao_pseudo_integrals_non_local) call check_success(rc) endif @@ -355,10 +351,7 @@ subroutine run call check_success(rc) if (do_pseudo) then - rc = trexio_write_mo_1e_int_ecp_local(f,mo_pseudo_integrals_local) - call check_success(rc) - - rc = trexio_write_mo_1e_int_ecp_non_local(f,mo_pseudo_integrals_non_local) + rc = trexio_write_mo_1e_int_ecp(f,mo_pseudo_integrals_local) call check_success(rc) endif diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f index a422ce2..6159a5e 100644 --- a/devel/trexio/import_trexio_integrals.irp.f +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -13,14 +13,19 @@ subroutine run integer(8) :: f ! TREXIO file handle integer :: rc - integer ::i,j,k,l + integer ::i,j,k,l,m double precision :: integral - double precision, allocatable :: A(:,:) - integer :: n_integrals + integer :: n_integrals integer(key_kind), allocatable :: buffer_i(:) real(integral_kind), allocatable :: buffer_values(:) + + double precision, allocatable :: A(:,:) + double precision, allocatable :: V(:) + integer , allocatable :: Vi(:,:) + double precision, allocatable :: s + f = trexio_open(trexio_filename, 'r', TREXIO_AUTO, rc) if (f == 0_8) then print *, 'Unable to open TREXIO file for reading' @@ -29,10 +34,6 @@ subroutine run endif - double precision, allocatable :: A(:,:) - double precision, allocatable :: V(:) - double precision, allocatable :: s - allocate(A(ao_num, ao_num)) if (trexio_has_nucleus_repulsion(f)) then rc = trexio_read_nucleus_repulsion(f, s) @@ -45,6 +46,11 @@ subroutine run call ezfio_set_nuclei_io_nuclear_repulsion('Read') endif + ! AO integrals + ! ------------ + + allocate(A(ao_num, ao_num)) + if (trexio_has_ao_1e_int_overlap(f) == TREXIO_SUCCESS) then rc = trexio_read_ao_1e_int_overlap(f, A) @@ -68,16 +74,16 @@ subroutine run call ezfio_set_ao_one_e_ints_io_ao_integrals_kinetic('Read') endif - if (trexio_has_ao_1e_int_ecp(f) == TREXIO_SUCCESS) then - rc = trexio_read_ao_1e_int_ecp(f, A) - if (rc /= TREXIO_SUCCESS) then - print *, irp_here - print *, 'Error reading AO ECP local integrals' - stop -1 - endif - call ezfio_set_ao_one_e_ints_ao_integrals_pseudo(A) - call ezfio_set_ao_one_e_ints_io_ao_integrals_pseudo('Read') - endif +! if (trexio_has_ao_1e_int_ecp(f) == TREXIO_SUCCESS) then +! rc = trexio_read_ao_1e_int_ecp(f, A) +! if (rc /= TREXIO_SUCCESS) then +! print *, irp_here +! print *, 'Error reading AO ECP local integrals' +! stop -1 +! endif +! call ezfio_set_ao_one_e_ints_ao_integrals_pseudo(A) +! call ezfio_set_ao_one_e_ints_io_ao_integrals_pseudo('Read') +! endif if (trexio_has_ao_1e_int_potential_n_e(f) == TREXIO_SUCCESS) then rc = trexio_read_ao_1e_int_potential_n_e(f, A) @@ -90,47 +96,37 @@ subroutine run call ezfio_set_ao_one_e_ints_io_ao_integrals_n_e('Read') endif + deallocate(A) + + ! AO 2e integrals + ! --------------- allocate(buffer_i(ao_num**3), buffer_values(ao_num**3)) - iunit = getunitandopen('W.qp','r') - n_integrals=0 - i = 1 - j = 1 - k = 1 - l = 1 - buffer_values = 0.d0 - do - read (iunit,*,end=13) i,j,k,l, integral - if (i<0 .or. i>ao_num) then - print *, i - stop 'i out of bounds in W.qp' - endif - if (j<0 .or. j>ao_num) then - print *, j - stop 'j out of bounds in W.qp' - endif - if (k<0 .or. k>ao_num) then - print *, k - stop 'k out of bounds in W.qp' - endif - if (l<0 .or. l>ao_num) then - print *, l - stop 'l out of bounds in W.qp' - endif - n_integrals += 1 - call two_e_integrals_index(i, j, k, l, buffer_i(n_integrals) ) - buffer_values(n_integrals) = integral - if (n_integrals == size(buffer_i)) then - call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_values) - n_integrals = 0 - endif - enddo - 13 continue - close(iunit) + allocate(Vi(4,ao_num**3), V(ao_num**3)) - if (n_integrals > 0) then - call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_values) - endif + integer*8 :: offset, icount + + offset = 0_8 + icount = 0_8 + rc = TREXIO_SUCCESS + do while (icount == size(V)) + rc = trexio_read_ao_2e_int_eri(f, offset, icount, Vi, V) + if (rc /= TREXIO_SUCCESS) then + exit + endif + do m=1,icount + i = Vi(1,m) + j = Vi(2,m) + k = Vi(3,m) + l = Vi(4,m) + integral = V(m) + call two_e_integrals_index(i, j, k, l, buffer_i(m) ) + buffer_values(m) = integral + enddo + call insert_into_ao_integrals_map(int(icount,4),buffer_i,buffer_values) + offset = offset + icount + end do + n_integrals = offset call map_sort(ao_integrals_map) call map_unique(ao_integrals_map) diff --git a/devel/trexio/qp_import_trexio.py b/devel/trexio/qp_import_trexio.py index 2037a8f..6457df4 100755 --- a/devel/trexio/qp_import_trexio.py +++ b/devel/trexio/qp_import_trexio.py @@ -245,10 +245,14 @@ def write_ezfio(trexio_filename, filename): labels = { "Canonical" : "Canonical", "RHF" : "Canonical", + "BOYS" : "Localized", "ROHF" : "Canonical", "UHF" : "Canonical", "Natural": "Natural" } - label = labels[trexio.read_mo_type(trexio_file)] + try: + label = labels[trexio.read_mo_type(trexio_file)] + except: + label = "None" ezfio.set_mo_basis_mo_label(label) try: diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index 26c9f94..fe1e25e 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -117,7 +117,7 @@ character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.2.0" integer :: TREXIO_VERSION_MAJOR = 2 integer :: TREXIO_VERSION_MINOR = 2 integer :: TREXIO_VERSION_PATCH = 0 -character(len = 64) :: TREXIO_GIT_HASH = "5834244b302daa1b283349404aaa35dd71c7b929" +character(len = 64) :: TREXIO_GIT_HASH = "eaeeee5e13f09a4738dedc295c100c32a291e9a6" interface integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) @@ -528,19 +528,11 @@ interface end interface interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp (trex_file) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_non_local + end function trexio_has_ao_1e_int_ecp end interface interface @@ -592,19 +584,11 @@ interface end interface interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp (trex_file) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_non_local + end function trexio_has_mo_1e_int_ecp end interface interface @@ -1347,21 +1331,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local_32 + end function trexio_read_ao_1e_int_ecp_32 end interface interface @@ -1419,21 +1394,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local_32 + end function trexio_read_mo_1e_int_ecp_32 end interface interface @@ -1662,21 +1628,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local_64 + end function trexio_read_ao_1e_int_ecp_64 end interface interface @@ -1734,21 +1691,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local_64 + end function trexio_read_mo_1e_int_ecp_64 end interface interface @@ -1977,21 +1925,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local + end function trexio_read_ao_1e_int_ecp end interface interface @@ -2049,21 +1988,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local + end function trexio_read_mo_1e_int_ecp end interface interface @@ -3117,21 +3047,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local_32 + end function trexio_write_ao_1e_int_ecp_32 end interface interface @@ -3189,21 +3110,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local_32 + end function trexio_write_mo_1e_int_ecp_32 end interface interface @@ -3432,21 +3344,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local_64 + end function trexio_write_ao_1e_int_ecp_64 end interface interface @@ -3504,21 +3407,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local_64 + end function trexio_write_mo_1e_int_ecp_64 end interface interface @@ -3747,21 +3641,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local + end function trexio_write_ao_1e_int_ecp end interface interface @@ -3819,21 +3704,12 @@ interface end interface interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding import integer(c_int64_t), intent(in), value :: trex_file real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local + end function trexio_write_mo_1e_int_ecp end interface interface From fcce80d899dca012cf862f832a7d9726c8ffa8d9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 27 Apr 2022 15:16:08 +0200 Subject: [PATCH 03/17] Export determinants in TREXIO --- devel/trexio/export_trexio.irp.f | 165 ++++--- devel/trexio/trexio_f.f90 | 711 ++++++++++++++++++++++++++++++- 2 files changed, 812 insertions(+), 64 deletions(-) diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 4595f2a..5166117 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -40,10 +40,10 @@ subroutine run print *, 'Electrons' rc = trexio_write_electron_up_num(f, elec_alpha_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_electron_dn_num(f, elec_beta_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! Nuclei @@ -52,19 +52,19 @@ subroutine run print *, 'Nuclei' rc = trexio_write_nucleus_num(f, nucl_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_nucleus_charge(f, nucl_charge) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_nucleus_coord(f, nucl_coord_transp) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_nucleus_label(f, nucl_label, 32) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_nucleus_repulsion(f, nuclear_repulsion) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! Pseudo-potentials @@ -141,28 +141,28 @@ subroutine run lmax(:) = lmax(:)+1 rc = trexio_write_ecp_max_ang_mom_plus_1(f, lmax) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_z_core(f, int(nucl_charge_remove)) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_num(f, num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_ang_mom(f, ang_mom) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_nucleus_index(f, nucleus_index) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_exponent(f, exponent) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_coefficient(f, coefficient) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ecp_power(f, power) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) endif @@ -174,19 +174,19 @@ subroutine run rc = trexio_write_basis_type(f, 'Gaussian', len('Gaussian')) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_prim_num(f, prim_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_shell_num(f, shell_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_nucleus_index(f, basis_nucleus_index) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_shell_ang_mom(f, shell_ang_mom) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) allocate(factor(shell_num)) if (ao_normalized) then @@ -195,18 +195,18 @@ subroutine run factor(1:shell_num) = 1.d0 endif rc = trexio_write_basis_shell_factor(f, factor) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) deallocate(factor) rc = trexio_write_basis_shell_index(f, shell_index) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_exponent(f, prim_expo) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_basis_coefficient(f, prim_coef) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) allocate(factor(prim_num)) if (primitives_normalized) then @@ -215,7 +215,7 @@ subroutine run factor(1:prim_num) = 1.d0 endif rc = trexio_write_basis_prim_factor(f, factor) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) deallocate(factor) @@ -225,13 +225,13 @@ subroutine run print *, 'AOs' rc = trexio_write_ao_num(f, ao_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ao_cartesian(f, 1) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ao_shell(f, ao_shell) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) integer :: i, pow0(3), powA(3), j, k, l, nz double precision :: normA, norm0, C_A(3), overlap_x, overlap_z, overlap_y, c @@ -251,7 +251,7 @@ subroutine run factor(:) = 1.d0 endif rc = trexio_write_ao_normalization(f, factor) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) deallocate(factor) ! One-e AO integrals @@ -260,21 +260,21 @@ subroutine run print *, 'AO integrals' rc = trexio_write_ao_1e_int_overlap(f,ao_overlap) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ao_1e_int_kinetic(f,ao_kinetic_integrals) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_ao_1e_int_potential_n_e(f,ao_integrals_n_e) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) if (do_pseudo) then rc = trexio_write_ao_1e_int_ecp(f, ao_pseudo_integrals_local + ao_pseudo_integrals_non_local) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) endif rc = trexio_write_ao_1e_int_core_hamiltonian(f,ao_one_e_integrals) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! Two-e AO integrals ! ------------------ @@ -308,7 +308,7 @@ subroutine run eri_index(4,icount) = l if (icount == BUFSIZE) then rc = trexio_write_ao_2e_int_eri(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) offset += icount icount = 0_8 end if @@ -319,7 +319,7 @@ subroutine run if (icount >= 0_8) then rc = trexio_write_ao_2e_int_eri(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) end if end if @@ -330,13 +330,13 @@ subroutine run print *, 'MOs' rc = trexio_write_mo_type(f, mo_label, len(trim(mo_label))) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_mo_num(f, mo_num) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_mo_coefficient(f, mo_coef) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! One-e MO integrals @@ -345,18 +345,18 @@ subroutine run print *, 'MO integrals' rc = trexio_write_mo_1e_int_kinetic(f,mo_kinetic_integrals) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_mo_1e_int_potential_n_e(f,mo_integrals_n_e) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) if (do_pseudo) then rc = trexio_write_mo_1e_int_ecp(f,mo_pseudo_integrals_local) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) endif rc = trexio_write_mo_1e_int_core_hamiltonian(f,mo_one_e_integrals) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! Two-e MO integrals ! ------------------ @@ -385,7 +385,7 @@ subroutine run eri_index(4,icount) = l if (icount == BUFSIZE) then rc = trexio_write_mo_2e_int_eri(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) offset += icount icount = 0_8 end if @@ -396,7 +396,7 @@ subroutine run if (icount >= 0_8) then rc = trexio_write_mo_2e_int_eri(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) end if end if @@ -406,13 +406,13 @@ subroutine run ! --------- rc = trexio_write_rdm_1e(f,one_e_dm_mo) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_rdm_1e_up(f,one_e_dm_mo_alpha_average) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) rc = trexio_write_rdm_1e_dn(f,one_e_dm_mo_beta_average) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) ! Two-e RDM @@ -437,7 +437,7 @@ subroutine run eri_index(4,icount) = l if (icount == BUFSIZE) then rc = trexio_write_rdm_2e(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) offset += icount icount = 0_8 end if @@ -448,29 +448,68 @@ subroutine run if (icount >= 0_8) then rc = trexio_write_rdm_2e(f, offset, icount, eri_index, eri_buffer) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) end if end if ! ------------------------------------------------------------------------------ + ! Determinants + ! ------------ + + integer*8, allocatable :: det_buffer(:,:,:) + double precision, allocatable :: coef_buffer(:,:) + integer :: nint + +! rc = trexio_read_determinant_int64_num(f, nint) +! call trexio_assert(rc, TREXIO_SUCCESS) + nint = N_int + if (nint /= N_int) then + stop 'Problem with N_int' + endif + allocate ( det_buffer(nint, 2, BUFSIZE), coef_buffer(BUFSIZE, n_states) ) + + icount = 0_8 + offset = 0_8 + rc = trexio_set_state (f, 0) + do k=1,n_det + icount += 1_8 + det_buffer(1:nint, 1:2, icount) = psi_det(1:N_int, 1:2, k) + coef_buffer(icount,1:N_states) = psi_coef(k,1:N_states) + if (icount == BUFSIZE) then + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_determinant_list(f, offset, icount, det_buffer) + call trexio_assert(rc, TREXIO_SUCCESS) + do i=1,N_states + rc = trexio_set_state (f, i-1) + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_determinant_coefficient(f, offset, icount, coef_buffer(1,i)) + end do + rc = trexio_set_state (f, 0) + offset += icount + icount = 0_8 + end if + end do + + if (icount >= 0_8) then + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_determinant_list(f, offset, icount, det_buffer) + call trexio_assert(rc, TREXIO_SUCCESS) + do i=1,N_states + rc = trexio_set_state (f, i-1) + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_determinant_coefficient(f, offset, icount, coef_buffer(1,i)) + end do + rc = trexio_set_state (f, 0) + end if + + deallocate ( det_buffer, coef_buffer ) + rc = trexio_close(f) - call check_success(rc) + call trexio_assert(rc, TREXIO_SUCCESS) end -subroutine check_success(rc) - use trexio - implicit none - integer, intent(in) :: rc - character*(128) :: str - if (rc /= TREXIO_SUCCESS) then - call trexio_string_of_error(rc,str) - print *, 'TREXIO Error: ' //trim(str) - stop -1 - endif -end - ! -*- mode: f90 -*- diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index fe1e25e..be6a2c9 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -37,9 +37,16 @@ integer(trexio_exit_code), parameter :: TREXIO_UNSAFE_ARRAY_DIM = 23 integer(trexio_exit_code), parameter :: TREXIO_ATTR_MISSING = 24 integer(trexio_exit_code), parameter :: TREXIO_DSET_MISSING = 25 integer(trexio_exit_code), parameter :: TREXIO_BACK_END_MISSING = 26 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_6 = 27 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_7 = 28 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_8 = 29 integer(trexio_exit_code), parameter :: TREXIO_INVALID_STR_LEN = 30 integer(trexio_exit_code), parameter :: TREXIO_INT_SIZE_OVERFLOW = 31 integer(trexio_exit_code), parameter :: TREXIO_SAFE_MODE = 32 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ELECTRON_NUM = 33 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_DETERMINANT_NUM = 34 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_STATE = 35 +integer(trexio_exit_code), parameter :: TREXIO_VERSION_PARSING_ISSUE = 36 interface subroutine trexio_string_of_error (error, string) bind(C, name='trexio_string_of_error_f') @@ -107,17 +114,59 @@ interface end function trexio_inquire_c end interface +interface + integer(trexio_exit_code) function trexio_set_state (trex_file, state) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: state + end function trexio_set_state +end interface + +interface + integer(trexio_exit_code) function trexio_get_state (trex_file, state) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: state + end function trexio_get_state +end interface + interface integer function trexio_info () bind(C) use, intrinsic :: iso_c_binding end function trexio_info end interface +interface + integer(trexio_exit_code) function trexio_to_orbital_list(N_int, d1, list, occupied_num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list(*) + integer(c_int32_t), intent(inout) :: occupied_num + end function trexio_to_orbital_list +end interface + +interface + integer(trexio_exit_code) function trexio_to_orbital_list_up_dn(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list_up(*) + integer(c_int32_t), intent(out) :: list_dn(*) + integer(c_int32_t), intent(inout) :: occ_num_up + integer(c_int32_t), intent(inout) :: occ_num_dn + end function trexio_to_orbital_list_up_dn +end interface + character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.2.0" integer :: TREXIO_VERSION_MAJOR = 2 integer :: TREXIO_VERSION_MINOR = 2 integer :: TREXIO_VERSION_PATCH = 0 -character(len = 64) :: TREXIO_GIT_HASH = "eaeeee5e13f09a4738dedc295c100c32a291e9a6" +character(len = 64) :: TREXIO_GIT_HASH = "dc783bc1e03a48b3d3d020edf6ce349d533dc8d6" interface integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) @@ -207,6 +256,22 @@ interface end function trexio_delete_mo_2e_int end interface +interface + integer(trexio_exit_code) function trexio_delete_determinant (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_determinant +end interface + +interface + integer(trexio_exit_code) function trexio_delete_state (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_state +end interface + interface integer(trexio_exit_code) function trexio_delete_rdm (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -215,6 +280,14 @@ interface end function trexio_delete_rdm end interface +interface + integer(trexio_exit_code) function trexio_delete_qmc (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_qmc +end interface + interface integer(trexio_exit_code) function trexio_has_metadata_code_num (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -239,6 +312,14 @@ interface end function trexio_has_metadata_unsafe end interface +interface + integer(trexio_exit_code) function trexio_has_electron_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_electron_num +end interface + interface integer(trexio_exit_code) function trexio_has_electron_up_num (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -319,6 +400,30 @@ interface end function trexio_has_mo_num end interface +interface + integer(trexio_exit_code) function trexio_has_determinant_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_state_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_num +end interface + interface integer(trexio_exit_code) function trexio_has_metadata_package_version (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -623,6 +728,30 @@ interface end function trexio_has_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_has_qmc_point (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_psi (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_e_loc (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_e_loc +end interface + interface integer(trexio_exit_code) function trexio_has_ao_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -735,6 +864,14 @@ interface end function trexio_has_mo_symmetry end interface +interface + integer(trexio_exit_code) function trexio_has_state_label (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_state_label +end interface + interface integer(trexio_exit_code) function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -762,6 +899,15 @@ interface end function trexio_read_metadata_unsafe_32 end interface +interface + integer(trexio_exit_code) function trexio_read_electron_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_electron_num_32 +end interface + interface integer(trexio_exit_code) function trexio_read_electron_up_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -852,6 +998,33 @@ interface end function trexio_read_mo_num_32 end interface +interface + integer(trexio_exit_code) function trexio_read_determinant_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_determinant_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_state_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_qmc_num_32 +end interface + interface integer(trexio_exit_code) function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -879,6 +1052,15 @@ interface end function trexio_read_metadata_unsafe_64 end interface +interface + integer(trexio_exit_code) function trexio_read_electron_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_electron_num_64 +end interface + interface integer(trexio_exit_code) function trexio_read_electron_up_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -969,6 +1151,33 @@ interface end function trexio_read_mo_num_64 end interface +interface + integer(trexio_exit_code) function trexio_read_determinant_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_determinant_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_state_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_qmc_num_64 +end interface + interface integer(trexio_exit_code) function trexio_read_metadata_code_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -996,6 +1205,15 @@ interface end function trexio_read_metadata_unsafe end interface +interface + integer(trexio_exit_code) function trexio_read_electron_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_electron_num +end interface + interface integer(trexio_exit_code) function trexio_read_electron_up_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -1086,6 +1304,33 @@ interface end function trexio_read_mo_num end interface +interface + integer(trexio_exit_code) function trexio_read_determinant_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_determinant_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_qmc_num +end interface + interface integer(trexio_exit_code) function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_package_version") @@ -1438,6 +1683,33 @@ interface end function trexio_read_rdm_1e_dn_32 end interface +interface + integer(trexio_exit_code) function trexio_read_qmc_point_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_point_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_psi_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc_32 +end interface + interface integer(trexio_exit_code) function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1735,6 +2007,33 @@ interface end function trexio_read_rdm_1e_dn_64 end interface +interface + integer(trexio_exit_code) function trexio_read_qmc_point_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_point_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_psi_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc_64 +end interface + interface integer(trexio_exit_code) function trexio_read_nucleus_charge (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2032,6 +2331,33 @@ interface end function trexio_read_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_read_qmc_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc +end interface + interface integer(trexio_exit_code) function trexio_read_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & @@ -2451,6 +2777,16 @@ interface end function trexio_read_mo_symmetry_low end interface +interface + integer(trexio_exit_code) function trexio_read_state_label_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len + end function trexio_read_state_label_low +end interface + interface integer(trexio_exit_code) function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2478,6 +2814,15 @@ interface end function trexio_write_metadata_unsafe_32 end interface +interface + integer(trexio_exit_code) function trexio_write_electron_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_electron_num_32 +end interface + interface integer(trexio_exit_code) function trexio_write_electron_up_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2568,6 +2913,33 @@ interface end function trexio_write_mo_num_32 end interface +interface + integer(trexio_exit_code) function trexio_write_determinant_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_determinant_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_state_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_state_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_qmc_num_32 +end interface + interface integer(trexio_exit_code) function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2595,6 +2967,15 @@ interface end function trexio_write_metadata_unsafe_64 end interface +interface + integer(trexio_exit_code) function trexio_write_electron_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_electron_num_64 +end interface + interface integer(trexio_exit_code) function trexio_write_electron_up_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2685,6 +3066,33 @@ interface end function trexio_write_mo_num_64 end interface +interface + integer(trexio_exit_code) function trexio_write_determinant_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_determinant_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_state_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_state_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_qmc_num_64 +end interface + interface integer(trexio_exit_code) function trexio_write_metadata_code_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2712,6 +3120,15 @@ interface end function trexio_write_metadata_unsafe end interface +interface + integer(trexio_exit_code) function trexio_write_electron_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_electron_num +end interface + interface integer(trexio_exit_code) function trexio_write_electron_up_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -2802,6 +3219,33 @@ interface end function trexio_write_mo_num end interface +interface + integer(trexio_exit_code) function trexio_write_determinant_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_determinant_num +end interface + +interface + integer(trexio_exit_code) function trexio_write_state_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_qmc_num +end interface + interface integer(trexio_exit_code) function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_package_version") @@ -3154,6 +3598,33 @@ interface end function trexio_write_rdm_1e_dn_32 end interface +interface + integer(trexio_exit_code) function trexio_write_qmc_point_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_point_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_psi_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc_32 +end interface + interface integer(trexio_exit_code) function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3451,6 +3922,33 @@ interface end function trexio_write_rdm_1e_dn_64 end interface +interface + integer(trexio_exit_code) function trexio_write_qmc_point_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_point_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_psi_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc_64 +end interface + interface integer(trexio_exit_code) function trexio_write_nucleus_charge (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3748,6 +4246,33 @@ interface end function trexio_write_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_write_qmc_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc +end interface + interface integer(trexio_exit_code) function trexio_write_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & @@ -4077,6 +4602,143 @@ interface end function trexio_write_mo_symmetry_low end interface +interface + integer(trexio_exit_code) function trexio_write_state_label_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len + end function trexio_write_state_label_low +end interface + +interface + integer(trexio_exit_code) function trexio_has_determinant_list (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_has_determinant_coefficient (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_coefficient +end interface +interface + integer(trexio_exit_code) function trexio_read_determinant_list(trex_file, & + offset_file, buffer_size, list) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int64_t), intent(out) :: list(*) + end function trexio_read_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_determinant_list (trex_file, & + offset_file, buffer_size, & + list, list_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int64_t), intent(out) :: list(*) + integer(c_int64_t), intent(in), value :: list_size + end function trexio_read_safe_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_determinant_coefficient (trex_file, & + offset_file, buffer_size, & + coefficient, coefficient_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + real(c_double), intent(out) :: coefficient(*) + integer(c_int64_t), intent(in), value :: coefficient_size + end function trexio_read_safe_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_read_determinant_coefficient(trex_file, & + offset_file, buffer_size, coefficient) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + real(c_double), intent(out) :: coefficient(*) + end function trexio_read_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_read_determinant_coefficient_size (trex_file, & + size_max) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max + end function trexio_read_determinant_coefficient_size +end interface +interface + integer(trexio_exit_code) function trexio_write_determinant_list (trex_file, & + offset_file, buffer_size, list) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int64_t), intent(in) :: list(*) + end function trexio_write_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_determinant_list (trex_file, & + offset_file, buffer_size, & + list, list_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int64_t), intent(in) :: list(*) + integer(c_int64_t), intent(in), value :: list_size + end function trexio_write_safe_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_write_determinant_coefficient(trex_file, & + offset_file, buffer_size, coefficient) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + real(c_double), intent(in) :: coefficient(*) + end function trexio_write_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_determinant_coefficient (trex_file, & + offset_file, buffer_size, & + coefficient, coefficient_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + real(c_double), intent(in) :: coefficient(*) + integer(c_int64_t), intent(in), value :: coefficient_size + end function trexio_write_safe_determinant_coefficient +end interface contains integer(trexio_t) function trexio_open (filename, mode, back_end, rc_open) use, intrinsic :: iso_c_binding, only : c_null_char @@ -4361,6 +5023,33 @@ integer(trexio_exit_code) function trexio_read_mo_symmetry (trex_file, dset, max end function trexio_read_mo_symmetry +integer(trexio_exit_code) function trexio_read_state_label (trex_file, dset, max_str_len) + implicit none + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len + character(len=*), intent(inout) :: dset(*) + + character, allocatable :: str_compiled(:) + integer(c_int64_t) :: state_num + integer(trexio_exit_code) :: rc + + rc = trexio_read_state_num_64(trex_file, state_num) + if (rc /= TREXIO_SUCCESS) trexio_read_state_label = rc + + allocate(str_compiled(state_num*(max_str_len+1)+1)) + + rc = trexio_read_state_label_low(trex_file, str_compiled, max_str_len) + if (rc /= TREXIO_SUCCESS) then + deallocate(str_compiled) + trexio_read_state_label = rc + else + call trexio_str2strarray(str_compiled, state_num, max_str_len, dset) + deallocate(str_compiled) + trexio_read_state_label = TREXIO_SUCCESS + endif + +end function trexio_read_state_label + integer(trexio_exit_code) function trexio_write_metadata_package_version (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none @@ -4536,4 +5225,24 @@ integer(trexio_exit_code) function trexio_write_mo_symmetry (trex_file, dset, ma end function trexio_write_mo_symmetry +integer(trexio_exit_code) function trexio_write_state_label (trex_file, dset, max_str_len) + implicit none + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len + character(len=*), intent(in) :: dset(*) + + character(len=:), allocatable :: str_compiled + integer(c_int64_t) :: state_num + integer(trexio_exit_code) :: rc + + rc = trexio_read_state_num_64(trex_file, state_num) + if (rc /= TREXIO_SUCCESS) then + trexio_write_state_label = rc + else + call trexio_strarray2str(dset, state_num, max_str_len, str_compiled) + trexio_write_state_label = trexio_write_state_label_low(trex_file, str_compiled, max_str_len) + endif + +end function trexio_write_state_label + end module trexio From 9745795b3d5cc59a363ef36c93f41b15a2877921 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 27 Apr 2022 16:06:56 +0200 Subject: [PATCH 04/17] Import WF from TREXIO --- devel/trexio/export_trexio.irp.f | 8 +- devel/trexio/import_trexio_determinants.irp.f | 79 +++++++++++++++++++ devel/trexio/import_trexio_integrals.irp.f | 4 +- 3 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 devel/trexio/import_trexio_determinants.irp.f diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 5166117..8a04862 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -12,8 +12,8 @@ subroutine run ! Exports the wave function in TREXIO format END_DOC - integer(8) :: f ! TREXIO file handle - integer :: rc + integer(trexio_t) :: f ! TREXIO file handle + integer(trexio_exit_code) :: rc double precision, allocatable :: factor(:) print *, 'TREXIO file : '//trim(trexio_filename) @@ -472,7 +472,11 @@ subroutine run icount = 0_8 offset = 0_8 + rc = trexio_write_state_num(f, n_states) + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_set_state (f, 0) + call trexio_assert(rc, TREXIO_SUCCESS) do k=1,n_det icount += 1_8 det_buffer(1:nint, 1:2, icount) = psi_det(1:N_int, 1:2, k) diff --git a/devel/trexio/import_trexio_determinants.irp.f b/devel/trexio/import_trexio_determinants.irp.f new file mode 100644 index 0000000..1759bb9 --- /dev/null +++ b/devel/trexio/import_trexio_determinants.irp.f @@ -0,0 +1,79 @@ +program import_determinants_ao + call run +end + +subroutine run + use trexio + use map_module + implicit none + BEGIN_DOC +! Program to import determinants from TREXIO + END_DOC + + integer(trexio_t) :: f ! TREXIO file handle + integer(trexio_exit_code) :: rc + + integer :: m + + double precision, allocatable :: coef_buffer(:,:) + integer*8 , allocatable :: det_buffer(:,:,:) + + f = trexio_open(trexio_filename, 'r', TREXIO_AUTO, rc) + if (f == 0_8) then + print *, 'Unable to open TREXIO file for reading' + print *, 'rc = ', rc + stop -1 + endif + + + + ! Determinants + ! ------------ + + integer :: nint, nstates + integer :: bufsize + + rc = trexio_read_state_num(f, nstates) + call trexio_assert(rc, TREXIO_SUCCESS) + +! rc = trexio_read_determinant_int64_num(f, nint) +! call trexio_assert(rc, TREXIO_SUCCESS) + nint = N_int + if (nint /= N_int) then + stop 'Problem with N_int' + endif + + integer*8 :: offset, icount + + rc = trexio_read_determinant_num(f, bufsize) + call trexio_assert(rc, TREXIO_SUCCESS) + print *, 'N_det = ', bufsize + + allocate ( det_buffer(nint, 2, bufsize), coef_buffer(bufsize, n_states) ) + + + offset = 0_8 + icount = bufsize + + rc = trexio_read_determinant_list(f, offset, icount, det_buffer) + call trexio_assert(rc, TREXIO_SUCCESS) + if (icount /= bufsize) then + print *, 'error: bufsize /= N_det: ', bufsize, icount + stop -1 + endif + + do m=1,nstates + rc = trexio_set_state(f, m-1) + call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_read_determinant_coefficient(f, offset, icount, coef_buffer(1,m)) + call trexio_assert(rc, TREXIO_SUCCESS) + if (icount /= bufsize) then + print *, 'error: bufsize /= N_det for state', m, ':', icount, bufsize + stop -1 + endif + enddo + + call save_wavefunction_general(bufsize,nstates,det_buffer,size(coef_buffer,1),coef_buffer) + + +end diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f index 6159a5e..990b7df 100644 --- a/devel/trexio/import_trexio_integrals.irp.f +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -10,8 +10,8 @@ subroutine run ! Program to import integrals from TREXIO END_DOC - integer(8) :: f ! TREXIO file handle - integer :: rc + integer(trexio_t) :: f ! TREXIO file handle + integer(trexio_exit_code) :: rc integer ::i,j,k,l,m double precision :: integral From 63f93db5849fce0f62c9379ec35b8d949770c0d2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 5 May 2022 13:26:51 +0200 Subject: [PATCH 05/17] Improve trexio module --- devel/trexio/EZFIO.cfg | 18 +++++++-- devel/trexio/export_trexio.irp.f | 65 ++++++++++++++++++-------------- devel/trexio/qp_import_trexio.py | 3 +- 3 files changed, 53 insertions(+), 33 deletions(-) diff --git a/devel/trexio/EZFIO.cfg b/devel/trexio/EZFIO.cfg index e99dba9..396fa5c 100644 --- a/devel/trexio/EZFIO.cfg +++ b/devel/trexio/EZFIO.cfg @@ -16,15 +16,27 @@ doc: If True, export two-body reduced density matrix interface: ezfio, ocaml, provider default: False -[export_ao_ints] +[export_ao_one_e_ints] +type: logical +doc: If True, export one-electron integrals in AO basis +interface: ezfio, ocaml, provider +default: False + +[export_mo_one_e_ints] +type: logical +doc: If True, export one-electron integrals in MO basis +interface: ezfio, ocaml, provider +default: False + +[export_ao_two_e_ints] type: logical doc: If True, export two-electron integrals in AO basis interface: ezfio, ocaml, provider default: False -[export_mo_ints] +[export_mo_two_e_ints] type: logical doc: If True, export two-electron integrals in MO basis interface: ezfio, ocaml, provider -default: True +default: False diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 8a04862..082806a 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -257,29 +257,32 @@ subroutine run ! One-e AO integrals ! ------------------ - print *, 'AO integrals' + if (export_ao_one_e_ints) then + print *, 'AO one-e integrals' - rc = trexio_write_ao_1e_int_overlap(f,ao_overlap) - call trexio_assert(rc, TREXIO_SUCCESS) - - rc = trexio_write_ao_1e_int_kinetic(f,ao_kinetic_integrals) - call trexio_assert(rc, TREXIO_SUCCESS) - - rc = trexio_write_ao_1e_int_potential_n_e(f,ao_integrals_n_e) - call trexio_assert(rc, TREXIO_SUCCESS) - - if (do_pseudo) then - rc = trexio_write_ao_1e_int_ecp(f, ao_pseudo_integrals_local + ao_pseudo_integrals_non_local) + rc = trexio_write_ao_1e_int_overlap(f,ao_overlap) call trexio_assert(rc, TREXIO_SUCCESS) - endif - rc = trexio_write_ao_1e_int_core_hamiltonian(f,ao_one_e_integrals) - call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_ao_1e_int_kinetic(f,ao_kinetic_integrals) + call trexio_assert(rc, TREXIO_SUCCESS) + + rc = trexio_write_ao_1e_int_potential_n_e(f,ao_integrals_n_e) + call trexio_assert(rc, TREXIO_SUCCESS) + + if (do_pseudo) then + rc = trexio_write_ao_1e_int_ecp(f, ao_pseudo_integrals_local + ao_pseudo_integrals_non_local) + call trexio_assert(rc, TREXIO_SUCCESS) + endif + + rc = trexio_write_ao_1e_int_core_hamiltonian(f,ao_one_e_integrals) + call trexio_assert(rc, TREXIO_SUCCESS) + end if ! Two-e AO integrals ! ------------------ - if (export_ao_ints) then + if (export_ao_two_e_ints) then + print *, 'AO two-e integrals' PROVIDE ao_two_e_integrals_in_map integer(8), parameter :: BUFSIZE=10000_8 @@ -342,26 +345,29 @@ subroutine run ! One-e MO integrals ! ------------------ - print *, 'MO integrals' + if (export_mo_two_e_ints) then + print *, 'MO one-e integrals' - rc = trexio_write_mo_1e_int_kinetic(f,mo_kinetic_integrals) - call trexio_assert(rc, TREXIO_SUCCESS) - - rc = trexio_write_mo_1e_int_potential_n_e(f,mo_integrals_n_e) - call trexio_assert(rc, TREXIO_SUCCESS) - - if (do_pseudo) then - rc = trexio_write_mo_1e_int_ecp(f,mo_pseudo_integrals_local) + rc = trexio_write_mo_1e_int_kinetic(f,mo_kinetic_integrals) call trexio_assert(rc, TREXIO_SUCCESS) - endif - rc = trexio_write_mo_1e_int_core_hamiltonian(f,mo_one_e_integrals) - call trexio_assert(rc, TREXIO_SUCCESS) + rc = trexio_write_mo_1e_int_potential_n_e(f,mo_integrals_n_e) + call trexio_assert(rc, TREXIO_SUCCESS) + + if (do_pseudo) then + rc = trexio_write_mo_1e_int_ecp(f,mo_pseudo_integrals_local) + call trexio_assert(rc, TREXIO_SUCCESS) + endif + + rc = trexio_write_mo_1e_int_core_hamiltonian(f,mo_one_e_integrals) + call trexio_assert(rc, TREXIO_SUCCESS) + end if ! Two-e MO integrals ! ------------------ - if (export_mo_ints) then + if (export_mo_two_e_ints) then + print *, 'MO two-e integrals' PROVIDE mo_two_e_integrals_in_map double precision, external :: mo_two_e_integral @@ -420,6 +426,7 @@ subroutine run if (export_rdm) then PROVIDE two_e_dm_mo + print *, 'Two-e RDM' icount = 0_8 offset = 0_8 diff --git a/devel/trexio/qp_import_trexio.py b/devel/trexio/qp_import_trexio.py index 6457df4..9de0940 100755 --- a/devel/trexio/qp_import_trexio.py +++ b/devel/trexio/qp_import_trexio.py @@ -373,7 +373,8 @@ def get_full_path(file_path): if __name__ == '__main__': ARGUMENTS = docopt(__doc__) - trexio_filename = get_full_path(ARGUMENTS['FILE']) + FILE = get_full_path(ARGUMENTS['FILE']) + trexio_filename = FILE if ARGUMENTS["--output"]: EZFIO_FILE = get_full_path(ARGUMENTS["--output"]) From bb3b69e62b6d5946a0653d9be7a87c72a403100a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 25 May 2022 14:58:35 +0200 Subject: [PATCH 06/17] Minor changes --- devel/cassdtq/generators.irp.f | 10 +- devel/trexio/qp_import_trexio.py | 8 +- devel/trexio/trexio_f.f90 | 4270 ++++++++++++++++++++---------- 3 files changed, 2898 insertions(+), 1390 deletions(-) diff --git a/devel/cassdtq/generators.irp.f b/devel/cassdtq/generators.irp.f index 66ffe10..2114e35 100644 --- a/devel/cassdtq/generators.irp.f +++ b/devel/cassdtq/generators.irp.f @@ -31,11 +31,11 @@ BEGIN_PROVIDER [ integer, N_det_generators ] call write_int(6,N_det_generators,'Number of generators') END_PROVIDER - BEGIN_PROVIDER [ integer(bit_kind), psi_det_generators, (N_int,2,psi_det_size) ] -&BEGIN_PROVIDER [ double precision, psi_coef_generators, (psi_det_size,N_states) ] -&BEGIN_PROVIDER [ integer(bit_kind), psi_det_sorted_gen, (N_int,2,psi_det_size) ] -&BEGIN_PROVIDER [ double precision, psi_coef_sorted_gen, (psi_det_size,N_states) ] -&BEGIN_PROVIDER [ integer, psi_det_sorted_gen_order, (psi_det_size) ] + BEGIN_PROVIDER [ integer(bit_kind), psi_det_generators, (N_int,2,N_det) ] +&BEGIN_PROVIDER [ double precision, psi_coef_generators, (N_det,N_states) ] +&BEGIN_PROVIDER [ integer(bit_kind), psi_det_sorted_gen, (N_int,2,N_det) ] +&BEGIN_PROVIDER [ double precision, psi_coef_sorted_gen, (N_det,N_states) ] +&BEGIN_PROVIDER [ integer, psi_det_sorted_gen_order, (N_det) ] implicit none BEGIN_DOC ! For Single reference wave functions, the generator is the diff --git a/devel/trexio/qp_import_trexio.py b/devel/trexio/qp_import_trexio.py index 2037a8f..371ec21 100755 --- a/devel/trexio/qp_import_trexio.py +++ b/devel/trexio/qp_import_trexio.py @@ -248,7 +248,10 @@ def write_ezfio(trexio_filename, filename): "ROHF" : "Canonical", "UHF" : "Canonical", "Natural": "Natural" } - label = labels[trexio.read_mo_type(trexio_file)] + try: + label = labels[trexio.read_mo_type(trexio_file)] + except KeyError: + label = "Canonical" ezfio.set_mo_basis_mo_label(label) try: @@ -369,7 +372,8 @@ def get_full_path(file_path): if __name__ == '__main__': ARGUMENTS = docopt(__doc__) - trexio_filename = get_full_path(ARGUMENTS['FILE']) + FILE = ARGUMENTS['FILE'] + trexio_filename = get_full_path(FILE) if ARGUMENTS["--output"]: EZFIO_FILE = get_full_path(ARGUMENTS["--output"]) diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index e8b1e79..4060676 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -3,8 +3,9 @@ module trexio use, intrinsic :: iso_c_binding implicit none - integer, parameter :: trexio_exit_code = 4 - integer, parameter :: trexio_backend = 4 + integer, parameter :: trexio_exit_code = c_int32_t + integer, parameter :: trexio_back_end_t = c_int32_t + integer, parameter :: trexio_t = c_int64_t character(kind=c_char), parameter :: TREXIO_DELIM = c_new_line @@ -36,3254 +37,4703 @@ integer(trexio_exit_code), parameter :: TREXIO_UNSAFE_ARRAY_DIM = 23 integer(trexio_exit_code), parameter :: TREXIO_ATTR_MISSING = 24 integer(trexio_exit_code), parameter :: TREXIO_DSET_MISSING = 25 integer(trexio_exit_code), parameter :: TREXIO_BACK_END_MISSING = 26 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_6 = 27 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_7 = 28 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_8 = 29 integer(trexio_exit_code), parameter :: TREXIO_INVALID_STR_LEN = 30 integer(trexio_exit_code), parameter :: TREXIO_INT_SIZE_OVERFLOW = 31 +integer(trexio_exit_code), parameter :: TREXIO_SAFE_MODE = 32 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_ELECTRON_NUM = 33 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_DETERMINANT_NUM = 34 +integer(trexio_exit_code), parameter :: TREXIO_INVALID_STATE = 35 +integer(trexio_exit_code), parameter :: TREXIO_VERSION_PARSING_ISSUE = 36 interface subroutine trexio_string_of_error (error, string) bind(C, name='trexio_string_of_error_f') use, intrinsic :: iso_c_binding import - integer (trexio_exit_code), intent(in), value :: error - character, intent(out) :: string(128) + integer(trexio_exit_code), intent(in), value :: error + character(kind=c_char), intent(out) :: string(128) end subroutine trexio_string_of_error end interface -integer(trexio_backend), parameter :: TREXIO_HDF5 = 0 - integer(trexio_backend), parameter :: TREXIO_TEXT = 1 -! integer(trexio_backend), parameter :: TREXIO_JSON = 2 - integer(trexio_backend), parameter :: TREXIO_INVALID_BACK_END = 2 +integer(trexio_back_end_t), parameter :: TREXIO_HDF5 = 0 + integer(trexio_back_end_t), parameter :: TREXIO_TEXT = 1 +! integer(trexio_back_end_t), parameter :: TREXIO_JSON = 2 + integer(trexio_back_end_t), parameter :: TREXIO_INVALID_BACK_END = 2 + integer(trexio_back_end_t), parameter :: TREXIO_AUTO = TREXIO_INVALID_BACK_END interface - logical function trexio_has_backend (back_end) bind(C) + logical(c_bool) function trexio_has_back_end (back_end) bind(C) use, intrinsic :: iso_c_binding - integer(4), intent(in), value :: back_end + import + integer(trexio_back_end_t), intent(in), value :: back_end + end function trexio_has_back_end +end interface + +interface + logical(c_bool) function trexio_has_backend (back_end) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_back_end_t), intent(in), value :: back_end end function trexio_has_backend end interface interface - integer(8) function trexio_open_c (filename, mode, backend, rc_open) bind(C, name="trexio_open") + integer(trexio_t) function trexio_open_c (filename, mode, back_end, rc_open) bind(C, name="trexio_open") use, intrinsic :: iso_c_binding import - character(kind=c_char), dimension(*) :: filename - character, intent(in), value :: mode - integer(trexio_backend), intent(in), value :: backend - integer(trexio_exit_code), intent(out) :: rc_open + character(kind=c_char), dimension(*) :: filename + character(kind=c_char), intent(in), value :: mode + integer(trexio_back_end_t), intent(in), value :: back_end + integer(trexio_exit_code), intent(out) :: rc_open end function trexio_open_c end interface interface - integer function trexio_set_one_based(trex_file) bind(C) + integer(trexio_exit_code) function trexio_set_one_based(trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_set_one_based end interface interface - integer function trexio_close (trex_file) bind(C) + integer(trexio_exit_code) function trexio_close (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_close end interface -character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.0.0" -integer(4) :: TREXIO_VERSION_MAJOR = 2 -integer(4) :: TREXIO_VERSION_MINOR = 0 -integer(4) :: TREXIO_VERSION_PATCH = 0 +interface + integer(trexio_exit_code) function trexio_inquire_c (filename) bind(C, name="trexio_inquire") + use, intrinsic :: iso_c_binding + import + character(kind=c_char), dimension(*) :: filename + end function trexio_inquire_c +end interface interface - integer function trexio_has_metadata_code_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_set_state (trex_file, state) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: state + end function trexio_set_state +end interface + +interface + integer(trexio_exit_code) function trexio_get_state (trex_file, state) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: state + end function trexio_get_state +end interface + +interface + integer function trexio_info () bind(C) + use, intrinsic :: iso_c_binding + end function trexio_info +end interface + +interface + integer(trexio_exit_code) function trexio_to_orbital_list(N_int, d1, list, occupied_num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list(*) + integer(c_int32_t), intent(inout) :: occupied_num + end function trexio_to_orbital_list +end interface + +interface + integer(trexio_exit_code) function trexio_to_orbital_list_up_dn(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list_up(*) + integer(c_int32_t), intent(out) :: list_dn(*) + integer(c_int32_t), intent(inout) :: occ_num_up + integer(c_int32_t), intent(inout) :: occ_num_dn + end function trexio_to_orbital_list_up_dn +end interface + +character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.2.0" +integer :: TREXIO_VERSION_MAJOR = 2 +integer :: TREXIO_VERSION_MINOR = 2 +integer :: TREXIO_VERSION_PATCH = 0 +character(len = 64) :: TREXIO_GIT_HASH = "6edb5a39d7cd093df621dcd10b9a90b0c70b8170" + +interface + integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_metadata +end interface + +interface + integer(trexio_exit_code) function trexio_delete_electron (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_electron +end interface + +interface + integer(trexio_exit_code) function trexio_delete_nucleus (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_nucleus +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ecp (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ecp +end interface + +interface + integer(trexio_exit_code) function trexio_delete_basis (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_basis +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao_1e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao_1e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_ao_2e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_ao_2e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo_1e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo_1e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_mo_2e_int (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_mo_2e_int +end interface + +interface + integer(trexio_exit_code) function trexio_delete_determinant (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_determinant +end interface + +interface + integer(trexio_exit_code) function trexio_delete_state (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_state +end interface + +interface + integer(trexio_exit_code) function trexio_delete_rdm (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_rdm +end interface + +interface + integer(trexio_exit_code) function trexio_delete_qmc (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_qmc +end interface + +interface + integer(trexio_exit_code) function trexio_has_metadata_code_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_code_num end interface interface - integer function trexio_has_metadata_author_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_author_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_author_num end interface interface - integer function trexio_has_electron_up_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_unsafe (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_has_electron_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_electron_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_electron_up_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_electron_up_num end interface interface - integer function trexio_has_electron_dn_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_electron_dn_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_electron_dn_num end interface interface - integer function trexio_has_nucleus_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_num end interface interface - integer function trexio_has_nucleus_repulsion (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_repulsion (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_repulsion end interface interface - integer function trexio_has_ecp_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_num end interface interface - integer function trexio_has_basis_prim_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_prim_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_prim_num end interface interface - integer function trexio_has_basis_shell_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_num end interface interface - integer function trexio_has_ao_cartesian (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_cartesian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_cartesian end interface interface - integer function trexio_has_ao_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_num end interface interface - integer function trexio_has_mo_num (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_num end interface interface - integer function trexio_has_metadata_package_version (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_determinant_num (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_state_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_num (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_num +end interface + +interface + integer(trexio_exit_code) function trexio_has_metadata_package_version (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_metadata_package_version end interface interface - integer function trexio_has_metadata_description (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_description (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_metadata_description end interface interface - integer function trexio_has_nucleus_point_group (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_point_group (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_nucleus_point_group end interface interface - integer function trexio_has_basis_type (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_type (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_basis_type end interface interface - integer function trexio_has_mo_type (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_type (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(trexio_t), intent(in), value :: trex_file end function trexio_has_mo_type end interface interface - integer function trexio_has_nucleus_charge (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_charge (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_charge end interface interface - integer function trexio_has_nucleus_coord (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_coord (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_coord end interface interface - integer function trexio_has_ecp_max_ang_mom_plus_1 (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_max_ang_mom_plus_1 (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_has_ecp_z_core (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_z_core (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_z_core end interface interface - integer function trexio_has_ecp_ang_mom (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_ang_mom (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_ang_mom end interface interface - integer function trexio_has_ecp_nucleus_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_nucleus_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_nucleus_index end interface interface - integer function trexio_has_ecp_exponent (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_exponent end interface interface - integer function trexio_has_ecp_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_coefficient end interface interface - integer function trexio_has_ecp_power (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ecp_power (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ecp_power end interface interface - integer function trexio_has_basis_nucleus_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_nucleus_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_nucleus_index end interface interface - integer function trexio_has_basis_shell_ang_mom (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_ang_mom (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_ang_mom end interface interface - integer function trexio_has_basis_shell_factor (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_factor (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_factor end interface interface - integer function trexio_has_basis_shell_index (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_shell_index (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_shell_index end interface interface - integer function trexio_has_basis_exponent (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_exponent end interface interface - integer function trexio_has_basis_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_coefficient end interface interface - integer function trexio_has_basis_prim_factor (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_basis_prim_factor (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_basis_prim_factor end interface interface - integer function trexio_has_ao_shell (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_shell (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_shell end interface interface - integer function trexio_has_ao_normalization (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_normalization (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_normalization end interface interface - integer function trexio_has_ao_1e_int_overlap (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_overlap (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_overlap end interface interface - integer function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_kinetic end interface interface - integer function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_potential_n_e end interface interface - integer function trexio_has_ao_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_ecp end interface interface - integer function trexio_has_ao_1e_int_ecp_non_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_non_local -end interface - -interface - integer function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_has_mo_coefficient (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_coefficient end interface interface - integer function trexio_has_mo_occupation (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_occupation (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_occupation end interface interface - integer function trexio_has_mo_1e_int_overlap (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_overlap (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_overlap end interface interface - integer function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_kinetic end interface interface - integer function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_potential_n_e end interface interface - integer function trexio_has_mo_1e_int_ecp_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_ecp end interface interface - integer function trexio_has_mo_1e_int_ecp_non_local (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_non_local -end interface - -interface - integer function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_has_rdm_1e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e end interface interface - integer function trexio_has_rdm_1e_up (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e_up (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e_up end interface interface - integer function trexio_has_rdm_1e_dn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_1e_dn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_1e_dn end interface interface - integer function trexio_has_ao_2e_int_eri (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_qmc_point (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_psi (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_has_qmc_e_loc (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_qmc_e_loc +end interface + +interface + integer(trexio_exit_code) function trexio_has_ao_2e_int_eri (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_2e_int_eri end interface interface - integer function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_ao_2e_int_eri_lr end interface interface - integer function trexio_has_mo_2e_int_eri (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_2e_int_eri end interface interface - integer function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_2e_int_eri_lr end interface interface - integer function trexio_has_rdm_2e (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e end interface interface - integer function trexio_has_rdm_2e_upup (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_upup (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_upup end interface interface - integer function trexio_has_rdm_2e_dndn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_dndn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_dndn end interface interface - integer function trexio_has_rdm_2e_updn (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_updn (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_rdm_2e_updn end interface interface - integer function trexio_has_metadata_code (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_rdm_2e_dnup (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_has_metadata_code (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_code end interface interface - integer function trexio_has_metadata_author (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_metadata_author (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_metadata_author end interface interface - integer function trexio_has_nucleus_label (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_nucleus_label (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_nucleus_label end interface interface - integer function trexio_has_mo_class (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_class (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_class end interface interface - integer function trexio_has_mo_symmetry (trex_file) bind(C) + integer(trexio_exit_code) function trexio_has_mo_symmetry (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file + import + integer(c_int64_t), intent(in), value :: trex_file end function trexio_has_mo_symmetry end interface interface - integer function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_has_state_label (trex_file) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_state_label +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_code_num_32 end interface interface - integer function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_author_num_32 end interface interface - integer function trexio_read_electron_up_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_metadata_unsafe_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_electron_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_up_num_32 end interface interface - integer function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_dn_num_32 end interface interface - integer function trexio_read_nucleus_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_nucleus_num_32 end interface interface - integer function trexio_read_nucleus_repulsion_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: num end function trexio_read_nucleus_repulsion_32 end interface interface - integer function trexio_read_ecp_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ecp_num_32 end interface interface - integer function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_prim_num_32 end interface interface - integer function trexio_read_basis_shell_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_shell_num_32 end interface interface - integer function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_cartesian_32 end interface interface - integer function trexio_read_ao_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_num_32 end interface interface - integer function trexio_read_mo_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_mo_num_32 end interface interface - integer function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_determinant_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_determinant_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_state_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_qmc_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_metadata_code_num_64 end interface interface - integer function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_metadata_author_num_64 end interface interface - integer function trexio_read_electron_up_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_metadata_unsafe_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_electron_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_electron_up_num_64 end interface interface - integer function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_electron_dn_num_64 end interface interface - integer function trexio_read_nucleus_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_nucleus_num_64 end interface interface - integer function trexio_read_nucleus_repulsion_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: num end function trexio_read_nucleus_repulsion_64 end interface interface - integer function trexio_read_ecp_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ecp_num_64 end interface interface - integer function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_basis_prim_num_64 end interface interface - integer function trexio_read_basis_shell_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_basis_shell_num_64 end interface interface - integer function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ao_cartesian_64 end interface interface - integer function trexio_read_ao_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_ao_num_64 end interface interface - integer function trexio_read_mo_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num end function trexio_read_mo_num_64 end interface interface - integer function trexio_read_metadata_code_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_determinant_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_determinant_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_state_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_qmc_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_code_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_code_num end interface interface - integer function trexio_read_metadata_author_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_metadata_author_num end interface interface - integer function trexio_read_electron_up_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_unsafe (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_electron_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_electron_up_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_up_num end interface interface - integer function trexio_read_electron_dn_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_electron_dn_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_electron_dn_num end interface interface - integer function trexio_read_nucleus_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_nucleus_num end interface interface - integer function trexio_read_nucleus_repulsion (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_repulsion (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: num end function trexio_read_nucleus_repulsion end interface interface - integer function trexio_read_ecp_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ecp_num end interface interface - integer function trexio_read_basis_prim_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_prim_num end interface interface - integer function trexio_read_basis_shell_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_basis_shell_num end interface interface - integer function trexio_read_ao_cartesian (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_cartesian (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_cartesian end interface interface - integer function trexio_read_ao_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_ao_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_ao_num end interface interface - integer function trexio_read_mo_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_mo_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num end function trexio_read_mo_num end interface interface - integer function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_determinant_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_determinant_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_state_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_qmc_num +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_package_version") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_package_version_c end interface interface - integer function trexio_read_metadata_description_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_metadata_description") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_description_c end interface interface - integer function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_nucleus_point_group") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_nucleus_point_group_c end interface interface - integer function trexio_read_basis_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_basis_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_basis_type_c end interface interface - integer function trexio_read_mo_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_read_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_read_mo_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_type_c end interface interface - integer function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_nucleus_charge_32 end interface interface - integer function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_nucleus_coord_32 end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1_32 end interface interface - integer function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core_32 end interface interface - integer function trexio_read_ecp_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom_32 end interface interface - integer function trexio_read_ecp_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index_32 end interface interface - integer function trexio_read_ecp_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ecp_exponent_32 end interface interface - integer function trexio_read_ecp_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ecp_coefficient_32 end interface interface - integer function trexio_read_ecp_power_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_power_32 end interface interface - integer function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_32 end interface interface - integer function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_32 end interface interface - integer function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_32 end interface interface - integer function trexio_read_basis_shell_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index_32 end interface interface - integer function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_exponent_32 end interface interface - integer function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_coefficient_32 end interface interface - integer function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_basis_prim_factor_32 end interface interface - integer function trexio_read_ao_shell_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ao_shell_32 end interface interface - integer function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_normalization_32 end interface interface - integer function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_32 end interface interface - integer function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_32 end interface interface - integer function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_32 end interface interface - integer function trexio_read_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local_32 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp_32 end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local_32 -end interface - -interface - integer function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_coefficient_32 end interface interface - integer function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_occupation_32 end interface interface - integer function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap_32 end interface interface - integer function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_32 end interface interface - integer function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_32 end interface interface - integer function trexio_read_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local_32 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp_32 end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local_32 -end interface - -interface - integer function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_32 end interface interface - integer function trexio_read_rdm_1e_up_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_up_32 end interface interface - integer function trexio_read_rdm_1e_dn_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn_32 end interface interface - integer function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_qmc_point_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_point_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_psi_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_charge_64 end interface interface - integer function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_coord_64 end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1_64 end interface interface - integer function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core_64 end interface interface - integer function trexio_read_ecp_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom_64 end interface interface - integer function trexio_read_ecp_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index_64 end interface interface - integer function trexio_read_ecp_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_exponent_64 end interface interface - integer function trexio_read_ecp_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_coefficient_64 end interface interface - integer function trexio_read_ecp_power_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ecp_power_64 end interface interface - integer function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index_64 end interface interface - integer function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom_64 end interface interface - integer function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_shell_factor_64 end interface interface - integer function trexio_read_basis_shell_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index_64 end interface interface - integer function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_exponent_64 end interface interface - integer function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_coefficient_64 end interface interface - integer function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_prim_factor_64 end interface interface - integer function trexio_read_ao_shell_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: dset(*) end function trexio_read_ao_shell_64 end interface interface - integer function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_normalization_64 end interface interface - integer function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap_64 end interface interface - integer function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_64 end interface interface - integer function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e_64 end interface interface - integer function trexio_read_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local_64 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp_64 end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local_64 -end interface - -interface - integer function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_coefficient_64 end interface interface - integer function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_occupation_64 end interface interface - integer function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap_64 end interface interface - integer function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic_64 end interface interface - integer function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e_64 end interface interface - integer function trexio_read_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local_64 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp_64 end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local_64 -end interface - -interface - integer function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_64 end interface interface - integer function trexio_read_rdm_1e_up_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_up_64 end interface interface - integer function trexio_read_rdm_1e_dn_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn_64 end interface interface - integer function trexio_read_nucleus_charge (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_qmc_point_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_point_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_psi_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_nucleus_charge (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_charge end interface interface - integer function trexio_read_nucleus_coord (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_nucleus_coord end interface interface - integer function trexio_read_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_read_ecp_z_core (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_z_core end interface interface - integer function trexio_read_ecp_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_ang_mom end interface interface - integer function trexio_read_ecp_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_nucleus_index end interface interface - integer function trexio_read_ecp_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_exponent end interface interface - integer function trexio_read_ecp_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ecp_coefficient end interface interface - integer function trexio_read_ecp_power (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ecp_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ecp_power end interface interface - integer function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_nucleus_index end interface interface - integer function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom end interface interface - integer function trexio_read_basis_shell_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_shell_factor end interface interface - integer function trexio_read_basis_shell_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_shell_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_basis_shell_index end interface interface - integer function trexio_read_basis_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_exponent end interface interface - integer function trexio_read_basis_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_coefficient end interface interface - integer function trexio_read_basis_prim_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_basis_prim_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_basis_prim_factor end interface interface - integer function trexio_read_ao_shell (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: dset(*) end function trexio_read_ao_shell end interface interface - integer function trexio_read_ao_normalization (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_normalization end interface interface - integer function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_overlap end interface interface - integer function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic end interface interface - integer function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_potential_n_e end interface interface - integer function trexio_read_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp end interface interface - integer function trexio_read_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_non_local -end interface - -interface - integer function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_read_mo_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_coefficient end interface interface - integer function trexio_read_mo_occupation (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_occupation end interface interface - integer function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_overlap end interface interface - integer function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_kinetic end interface interface - integer function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_potential_n_e end interface interface - integer function trexio_read_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp end interface interface - integer function trexio_read_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_non_local -end interface - -interface - integer function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_read_rdm_1e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e end interface interface - integer function trexio_read_rdm_1e_up (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_up (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_up end interface interface - integer function trexio_read_rdm_1e_dn (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_1e_dn (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(out) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) end function trexio_read_rdm_1e_dn end interface interface - integer function trexio_read_ao_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_read_qmc_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_psi (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_read_qmc_e_loc (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_qmc_e_loc +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_ao_2e_int_eri end interface interface - integer function trexio_read_ao_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_ao_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_ao_2e_int_eri_lr end interface interface - integer function trexio_read_mo_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_ao_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_mo_2e_int_eri end interface interface - integer function trexio_read_mo_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_mo_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_mo_2e_int_eri_lr end interface interface - integer function trexio_read_rdm_2e (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_mo_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e end interface interface - integer function trexio_read_rdm_2e_upup (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_upup (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_upup end interface interface - integer function trexio_read_rdm_2e_dndn (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_upup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_upup +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_dndn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_dndn end interface interface - integer function trexio_read_rdm_2e_updn (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dndn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_dndn +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_updn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(inout) :: buffer_size - integer(4), intent(out) :: index_sparse(*) - double precision, intent(out) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) end function trexio_read_rdm_2e_updn end interface interface - integer function trexio_read_ao_2e_int_eri_size (trex_file, & + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_updn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_updn +end interface + +interface + integer(trexio_exit_code) function trexio_read_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, value_sparse) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + real(c_double), intent(out) :: value_sparse(*) + end function trexio_read_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int32_t), intent(out) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(out) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_read_safe_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_ao_2e_int_eri_size end interface interface - integer function trexio_read_ao_2e_int_eri_lr_size (trex_file, & + integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_ao_2e_int_eri_lr_size end interface interface - integer function trexio_read_mo_2e_int_eri_size (trex_file, & + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_mo_2e_int_eri_size end interface interface - integer function trexio_read_mo_2e_int_eri_lr_size (trex_file, & + integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_mo_2e_int_eri_lr_size end interface interface - integer function trexio_read_rdm_2e_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_size end interface interface - integer function trexio_read_rdm_2e_upup_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_upup_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_upup_size end interface interface - integer function trexio_read_rdm_2e_dndn_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_dndn_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_dndn_size end interface interface - integer function trexio_read_rdm_2e_updn_size (trex_file, & + integer(trexio_exit_code) function trexio_read_rdm_2e_updn_size (trex_file, & size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(out) :: size_max + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max end function trexio_read_rdm_2e_updn_size end interface interface - integer function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_rdm_2e_dnup_size (trex_file, & + size_max) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max + end function trexio_read_rdm_2e_dnup_size +end interface + +interface + integer(trexio_exit_code) function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_code_low end interface interface - integer function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_metadata_author_low end interface interface - integer function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_nucleus_label_low end interface interface - integer function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_class_low end interface interface - integer function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(out) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_read_mo_symmetry_low end interface interface - integer function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_read_state_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(out) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len + end function trexio_read_state_label_low +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_code_num_32 end interface interface - integer function trexio_write_metadata_author_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_author_num_32 end interface interface - integer function trexio_write_electron_up_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_metadata_unsafe_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_electron_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_up_num_32 end interface interface - integer function trexio_write_electron_dn_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_dn_num_32 end interface interface - integer function trexio_write_nucleus_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_nucleus_num_32 end interface interface - integer function trexio_write_nucleus_repulsion_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in), value :: num end function trexio_write_nucleus_repulsion_32 end interface interface - integer function trexio_write_ecp_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ecp_num_32 end interface interface - integer function trexio_write_basis_prim_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_prim_num_32 end interface interface - integer function trexio_write_basis_shell_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_shell_num_32 end interface interface - integer function trexio_write_ao_cartesian_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_cartesian_32 end interface interface - integer function trexio_write_ao_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_num_32 end interface interface - integer function trexio_write_mo_num_32 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_mo_num_32 end interface interface - integer function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_state_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_state_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_qmc_num_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_metadata_code_num_64 end interface interface - integer function trexio_write_metadata_author_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_metadata_author_num_64 end interface interface - integer function trexio_write_electron_up_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_metadata_unsafe_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_electron_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_electron_up_num_64 end interface interface - integer function trexio_write_electron_dn_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_electron_dn_num_64 end interface interface - integer function trexio_write_nucleus_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_nucleus_num_64 end interface interface - integer function trexio_write_nucleus_repulsion_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in), value :: num end function trexio_write_nucleus_repulsion_64 end interface interface - integer function trexio_write_ecp_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ecp_num_64 end interface interface - integer function trexio_write_basis_prim_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_basis_prim_num_64 end interface interface - integer function trexio_write_basis_shell_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_basis_shell_num_64 end interface interface - integer function trexio_write_ao_cartesian_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ao_cartesian_64 end interface interface - integer function trexio_write_ao_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_ao_num_64 end interface interface - integer function trexio_write_mo_num_64 (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num end function trexio_write_mo_num_64 end interface interface - integer function trexio_write_metadata_code_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_state_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_state_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_qmc_num_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_code_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_code_num end interface interface - integer function trexio_write_metadata_author_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_metadata_author_num end interface interface - integer function trexio_write_electron_up_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_unsafe (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_metadata_unsafe +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_electron_num +end interface + +interface + integer(trexio_exit_code) function trexio_write_electron_up_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_up_num end interface interface - integer function trexio_write_electron_dn_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_electron_dn_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_electron_dn_num end interface interface - integer function trexio_write_nucleus_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_nucleus_num end interface interface - integer function trexio_write_nucleus_repulsion (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_repulsion (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in), value :: num end function trexio_write_nucleus_repulsion end interface interface - integer function trexio_write_ecp_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ecp_num end interface interface - integer function trexio_write_basis_prim_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_prim_num end interface interface - integer function trexio_write_basis_shell_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_basis_shell_num end interface interface - integer function trexio_write_ao_cartesian (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_cartesian (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_cartesian end interface interface - integer function trexio_write_ao_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_ao_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_ao_num end interface interface - integer function trexio_write_mo_num (trex_file, num) bind(C) + integer(trexio_exit_code) function trexio_write_mo_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: num + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num end function trexio_write_mo_num end interface interface - integer function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_state_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_state_num +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_qmc_num +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_package_version") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_package_version_c end interface interface - integer function trexio_write_metadata_description_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_metadata_description_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_metadata_description") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_description_c end interface interface - integer function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_nucleus_point_group") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_nucleus_point_group_c end interface interface - integer function trexio_write_basis_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_basis_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_basis_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_basis_type_c end interface interface - integer function trexio_write_mo_type_c (trex_file, str, max_str_len) & + integer(trexio_exit_code) function trexio_write_mo_type_c (trex_file, str, max_str_len) & bind(C, name="trexio_write_mo_type") use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: str(*) - integer(4), intent(in), value :: max_str_len + import + integer(trexio_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: str(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_type_c end interface interface - integer function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_nucleus_charge_32 end interface interface - integer function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_nucleus_coord_32 end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1_32 end interface interface - integer function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core_32 end interface interface - integer function trexio_write_ecp_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom_32 end interface interface - integer function trexio_write_ecp_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index_32 end interface interface - integer function trexio_write_ecp_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ecp_exponent_32 end interface interface - integer function trexio_write_ecp_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ecp_coefficient_32 end interface interface - integer function trexio_write_ecp_power_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_power_32 end interface interface - integer function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_32 end interface interface - integer function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_32 end interface interface - integer function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_32 end interface interface - integer function trexio_write_basis_shell_index_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index_32 end interface interface - integer function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_exponent_32 end interface interface - integer function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_coefficient_32 end interface interface - integer function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_basis_prim_factor_32 end interface interface - integer function trexio_write_ao_shell_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ao_shell_32 end interface interface - integer function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_normalization_32 end interface interface - integer function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_32 end interface interface - integer function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_32 end interface interface - integer function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_32 end interface interface - integer function trexio_write_ao_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local_32 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp_32 end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local_32 -end interface - -interface - integer function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_coefficient_32 end interface interface - integer function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_occupation_32 end interface interface - integer function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap_32 end interface interface - integer function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_32 end interface interface - integer function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_32 end interface interface - integer function trexio_write_mo_1e_int_ecp_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local_32 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp_32 end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local_32 -end interface - -interface - integer function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_32 end interface interface - integer function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_32 end interface interface - integer function trexio_write_rdm_1e_up_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_up_32 end interface interface - integer function trexio_write_rdm_1e_dn_32 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn_32 end interface interface - integer function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_qmc_point_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_point_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_psi_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_charge_64 end interface interface - integer function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_coord_64 end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1_64 end interface interface - integer function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core_64 end interface interface - integer function trexio_write_ecp_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom_64 end interface interface - integer function trexio_write_ecp_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index_64 end interface interface - integer function trexio_write_ecp_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_exponent_64 end interface interface - integer function trexio_write_ecp_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_coefficient_64 end interface interface - integer function trexio_write_ecp_power_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ecp_power_64 end interface interface - integer function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index_64 end interface interface - integer function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom_64 end interface interface - integer function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_shell_factor_64 end interface interface - integer function trexio_write_basis_shell_index_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index_64 end interface interface - integer function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_exponent_64 end interface interface - integer function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_coefficient_64 end interface interface - integer function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_prim_factor_64 end interface interface - integer function trexio_write_ao_shell_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in) :: dset(*) end function trexio_write_ao_shell_64 end interface interface - integer function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_normalization_64 end interface interface - integer function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap_64 end interface interface - integer function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_64 end interface interface - integer function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e_64 end interface interface - integer function trexio_write_ao_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local_64 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp_64 end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local_64 -end interface - -interface - integer function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_coefficient_64 end interface interface - integer function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_occupation_64 end interface interface - integer function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap_64 end interface interface - integer function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic_64 end interface interface - integer function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e_64 end interface interface - integer function trexio_write_mo_1e_int_ecp_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local_64 + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp_64 end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local_64 -end interface - -interface - integer function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian_64 end interface interface - integer function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_64 end interface interface - integer function trexio_write_rdm_1e_up_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_up_64 end interface interface - integer function trexio_write_rdm_1e_dn_64 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn_64 end interface interface - integer function trexio_write_nucleus_charge (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_qmc_point_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_point_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_psi_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_nucleus_charge (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_charge end interface interface - integer function trexio_write_nucleus_coord (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_coord (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_nucleus_coord end interface interface - integer function trexio_write_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_max_ang_mom_plus_1 end interface interface - integer function trexio_write_ecp_z_core (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_z_core end interface interface - integer function trexio_write_ecp_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_ang_mom end interface interface - integer function trexio_write_ecp_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_nucleus_index end interface interface - integer function trexio_write_ecp_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_exponent end interface interface - integer function trexio_write_ecp_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ecp_coefficient end interface interface - integer function trexio_write_ecp_power (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ecp_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ecp_power end interface interface - integer function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_nucleus_index end interface interface - integer function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom end interface interface - integer function trexio_write_basis_shell_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_shell_factor end interface interface - integer function trexio_write_basis_shell_index (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_shell_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_basis_shell_index end interface interface - integer function trexio_write_basis_exponent (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_exponent (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_exponent end interface interface - integer function trexio_write_basis_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_coefficient end interface interface - integer function trexio_write_basis_prim_factor (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_basis_prim_factor (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_basis_prim_factor end interface interface - integer function trexio_write_ao_shell (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(4), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in) :: dset(*) end function trexio_write_ao_shell end interface interface - integer function trexio_write_ao_normalization (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_normalization (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_normalization end interface interface - integer function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_overlap end interface interface - integer function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic end interface interface - integer function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_potential_n_e end interface interface - integer function trexio_write_ao_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp end interface interface - integer function trexio_write_ao_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_non_local -end interface - -interface - integer function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_ao_1e_int_core_hamiltonian end interface interface - integer function trexio_write_mo_coefficient (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_coefficient end interface interface - integer function trexio_write_mo_occupation (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_occupation end interface interface - integer function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_overlap end interface interface - integer function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_kinetic end interface interface - integer function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_potential_n_e end interface interface - integer function trexio_write_mo_1e_int_ecp_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_local + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp end interface interface - integer function trexio_write_mo_1e_int_ecp_non_local (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_non_local -end interface - -interface - integer function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_mo_1e_int_core_hamiltonian end interface interface - integer function trexio_write_rdm_1e (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e end interface interface - integer function trexio_write_rdm_1e_up (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_up (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_up end interface interface - integer function trexio_write_rdm_1e_dn (trex_file, dset) bind(C) + integer(trexio_exit_code) function trexio_write_rdm_1e_dn (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - real(8), intent(in) :: dset(*) + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) end function trexio_write_rdm_1e_dn end interface interface - integer function trexio_write_ao_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_write_qmc_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_point +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_psi (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_psi +end interface + +interface + integer(trexio_exit_code) function trexio_write_qmc_e_loc (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_qmc_e_loc +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_ao_2e_int_eri end interface interface - integer function trexio_write_ao_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_ao_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_ao_2e_int_eri_lr end interface interface - integer function trexio_write_mo_2e_int_eri (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_ao_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_2e_int_eri (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_mo_2e_int_eri end interface interface - integer function trexio_write_mo_2e_int_eri_lr (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_mo_2e_int_eri +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_2e_int_eri_lr (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_mo_2e_int_eri_lr end interface interface - integer function trexio_write_rdm_2e (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri_lr (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_mo_2e_int_eri_lr +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e end interface interface - integer function trexio_write_rdm_2e_upup (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_upup (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_upup end interface interface - integer function trexio_write_rdm_2e_dndn (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_upup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_upup +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_dndn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_dndn end interface interface - integer function trexio_write_rdm_2e_updn (trex_file, & + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dndn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_dndn +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_updn (trex_file, & offset_file, buffer_size, & index_sparse, value_sparse) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - integer(8), intent(in), value :: offset_file - integer(8), intent(in), value :: buffer_size - integer(4), intent(in) :: index_sparse(*) - double precision, intent(in) :: value_sparse(*) + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) end function trexio_write_rdm_2e_updn end interface interface - integer function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_updn (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_updn +end interface + +interface + integer(trexio_exit_code) function trexio_write_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, value_sparse) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + real(c_double), intent(in) :: value_sparse(*) + end function trexio_write_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dnup (trex_file, & + offset_file, buffer_size, & + index_sparse, index_size, & + value_sparse, value_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int32_t), intent(in) :: index_sparse(*) + integer(c_int64_t), intent(in), value :: index_size + real(c_double), intent(in) :: value_sparse(*) + integer(c_int64_t), intent(in), value :: value_size + end function trexio_write_safe_rdm_2e_dnup +end interface + +interface + integer(trexio_exit_code) function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_code_low end interface interface - integer function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_metadata_author_low end interface interface - integer function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_nucleus_label_low end interface interface - integer function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_class_low end interface interface - integer function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) + integer(trexio_exit_code) function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) use, intrinsic :: iso_c_binding - integer(8), intent(in), value :: trex_file - character, intent(in) :: dset(*) - integer(4), intent(in), value :: max_str_len + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len end function trexio_write_mo_symmetry_low end interface +interface + integer(trexio_exit_code) function trexio_write_state_label_low (trex_file, dset, max_str_len) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + character(kind=c_char), intent(in) :: dset(*) + integer(c_int32_t), intent(in), value :: max_str_len + end function trexio_write_state_label_low +end interface + +interface + integer(trexio_exit_code) function trexio_has_determinant_list (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_has_determinant_coefficient (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_get_int64_num (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_get_int64_num +end interface +interface + integer(trexio_exit_code) function trexio_read_determinant_list(trex_file, & + offset_file, buffer_size, list) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int64_t), intent(out) :: list(*) + end function trexio_read_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_determinant_list (trex_file, & + offset_file, buffer_size, & + list, list_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + integer(c_int64_t), intent(out) :: list(*) + integer(c_int64_t), intent(in), value :: list_size + end function trexio_read_safe_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_read_safe_determinant_coefficient (trex_file, & + offset_file, buffer_size, & + coefficient, coefficient_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + real(c_double), intent(out) :: coefficient(*) + integer(c_int64_t), intent(in), value :: coefficient_size + end function trexio_read_safe_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_read_determinant_coefficient(trex_file, & + offset_file, buffer_size, coefficient) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(inout) :: buffer_size + real(c_double), intent(out) :: coefficient(*) + end function trexio_read_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_read_determinant_coefficient_size (trex_file, & + size_max) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: size_max + end function trexio_read_determinant_coefficient_size +end interface +interface + integer(trexio_exit_code) function trexio_write_determinant_list (trex_file, & + offset_file, buffer_size, list) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int64_t), intent(in) :: list(*) + end function trexio_write_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_determinant_list (trex_file, & + offset_file, buffer_size, & + list, list_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + integer(c_int64_t), intent(in) :: list(*) + integer(c_int64_t), intent(in), value :: list_size + end function trexio_write_safe_determinant_list +end interface + +interface + integer(trexio_exit_code) function trexio_write_determinant_coefficient(trex_file, & + offset_file, buffer_size, coefficient) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + real(c_double), intent(in) :: coefficient(*) + end function trexio_write_determinant_coefficient +end interface + +interface + integer(trexio_exit_code) function trexio_write_safe_determinant_coefficient (trex_file, & + offset_file, buffer_size, & + coefficient, coefficient_size) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: offset_file + integer(c_int64_t), intent(in), value :: buffer_size + real(c_double), intent(in) :: coefficient(*) + integer(c_int64_t), intent(in), value :: coefficient_size + end function trexio_write_safe_determinant_coefficient +end interface contains - integer(8) function trexio_open (filename, mode, backend, rc_open) + integer(trexio_t) function trexio_open (filename, mode, back_end, rc_open) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - character(len=*), intent(in) :: filename - character, intent(in), value :: mode - integer(trexio_backend), intent(in), value :: backend - integer(trexio_exit_code), intent(out) :: rc_open - character(len=len_trim(filename)+1) :: filename_c + character(len=*), intent(in) :: filename + character, intent(in), value :: mode + integer(trexio_back_end_t), intent(in), value :: back_end + integer(trexio_exit_code), intent(out) :: rc_open + character(len=len_trim(filename)+1) :: filename_c integer(trexio_exit_code) :: rc filename_c = trim(filename) // c_null_char - trexio_open = trexio_open_c(filename_c, mode, backend, rc_open) + trexio_open = trexio_open_c(filename_c, mode, back_end, rc_open) if (trexio_open == 0_8 .or. rc_open /= TREXIO_SUCCESS) then return endif @@ -3294,15 +4744,25 @@ contains endif end function trexio_open +integer(trexio_exit_code) function trexio_inquire (filename) + use, intrinsic :: iso_c_binding + implicit none + character(len=*), intent(in) :: filename + character(len=len_trim(filename)+1) :: filename_c + + filename_c = trim(filename) // c_null_char + trexio_inquire = trexio_inquire_c(filename_c) +end function trexio_inquire + subroutine trexio_strarray2str(str_array, max_num_str, max_len_str, str_res) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: max_num_str ! number of elements in strign array + integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array integer, intent(in), value :: max_len_str ! maximum length of a string in an array character(len=*), intent(in) :: str_array(*) character(len=:), allocatable, intent(out) :: str_res - integer :: i + integer(c_int64_t) :: i str_res = '' do i = 1, max_num_str @@ -3315,19 +4775,17 @@ end subroutine trexio_strarray2str subroutine trexio_str2strarray(str_flat, max_num_str, max_len_str, str_array) implicit none - integer(8), intent(in), value :: max_num_str ! number of elements in strign array - integer, intent(in), value :: max_len_str ! maximum length of a string in an array - character, intent(in) :: str_flat(*) - character(len=*), intent(inout) :: str_array(*) + integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array + integer, intent(in), value :: max_len_str ! maximum length of a string in an array + character(kind=c_char), intent(in) :: str_flat(*) + character(len=*), intent(inout) :: str_array(*) character(len=max_len_str) :: tmp_str - integer :: i, j, k, ind, offset - integer(8) :: len_flat + integer(c_int64_t) :: i, j, k, ind, len_flat len_flat = (max_len_str+1)*max_num_str + 1 ind=1 - offset=1 do i=1,max_num_str k = 1 tmp_str='' @@ -3340,7 +4798,6 @@ subroutine trexio_str2strarray(str_flat, max_num_str, max_len_str, str_array) k = k + 1 enddo str_array(i)=tmp_str - offset=ind enddo end subroutine trexio_str2strarray @@ -3348,8 +4805,8 @@ end subroutine trexio_str2strarray subroutine trexio_assert(trexio_rc, check_rc, success_message) implicit none - integer, intent(in), value :: trexio_rc - integer, intent(in), value :: check_rc + integer, intent(in), value :: trexio_rc + integer, intent(in), value :: check_rc character(len=*), intent(in), optional :: success_message character*(128) :: str @@ -3359,69 +4816,69 @@ subroutine trexio_assert(trexio_rc, check_rc, success_message) else call trexio_string_of_error(trexio_rc, str) print *, trim(str) - call exit(1) + stop 1 endif end subroutine trexio_assert -integer function trexio_read_metadata_package_version (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_package_version (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_metadata_package_version = trexio_read_metadata_package_version_c(trex_file, str, max_str_len) end function trexio_read_metadata_package_version -integer function trexio_read_metadata_description (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_description (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_metadata_description = trexio_read_metadata_description_c(trex_file, str, max_str_len) end function trexio_read_metadata_description -integer function trexio_read_nucleus_point_group (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_nucleus_point_group (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_nucleus_point_group = trexio_read_nucleus_point_group_c(trex_file, str, max_str_len) end function trexio_read_nucleus_point_group -integer function trexio_read_basis_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_basis_type (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_basis_type = trexio_read_basis_type_c(trex_file, str, max_str_len) end function trexio_read_basis_type -integer function trexio_read_mo_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_type (trex_file, str, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character, intent(out) :: str(*) trexio_read_mo_type = trexio_read_mo_type_c(trex_file, str, max_str_len) end function trexio_read_mo_type -integer function trexio_read_metadata_code (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_code (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: metadata_code_num - integer :: rc + integer(c_int64_t) :: metadata_code_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) if (rc /= TREXIO_SUCCESS) trexio_read_metadata_code = rc @@ -3440,15 +4897,15 @@ integer function trexio_read_metadata_code (trex_file, dset, max_str_len) end function trexio_read_metadata_code -integer function trexio_read_metadata_author (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_metadata_author (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: metadata_author_num - integer :: rc + integer(c_int64_t) :: metadata_author_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) if (rc /= TREXIO_SUCCESS) trexio_read_metadata_author = rc @@ -3467,15 +4924,15 @@ integer function trexio_read_metadata_author (trex_file, dset, max_str_len) end function trexio_read_metadata_author -integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_nucleus_label (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: nucleus_num - integer :: rc + integer(c_int64_t) :: nucleus_num + integer(trexio_exit_code) :: rc rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) if (rc /= TREXIO_SUCCESS) trexio_read_nucleus_label = rc @@ -3494,15 +4951,15 @@ integer function trexio_read_nucleus_label (trex_file, dset, max_str_len) end function trexio_read_nucleus_label -integer function trexio_read_mo_class (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_class (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) trexio_read_mo_class = rc @@ -3521,15 +4978,15 @@ integer function trexio_read_mo_class (trex_file, dset, max_str_len) end function trexio_read_mo_class -integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_read_mo_symmetry (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(inout) :: dset(*) character, allocatable :: str_compiled(:) - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) trexio_read_mo_symmetry = rc @@ -3548,11 +5005,38 @@ integer function trexio_read_mo_symmetry (trex_file, dset, max_str_len) end function trexio_read_mo_symmetry -integer function trexio_write_metadata_package_version (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_read_state_label (trex_file, dset, max_str_len) + implicit none + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len + character(len=*), intent(inout) :: dset(*) + + character, allocatable :: str_compiled(:) + integer(c_int64_t) :: state_num + integer(trexio_exit_code) :: rc + + rc = trexio_read_state_num_64(trex_file, state_num) + if (rc /= TREXIO_SUCCESS) trexio_read_state_label = rc + + allocate(str_compiled(state_num*(max_str_len+1)+1)) + + rc = trexio_read_state_label_low(trex_file, str_compiled, max_str_len) + if (rc /= TREXIO_SUCCESS) then + deallocate(str_compiled) + trexio_read_state_label = rc + else + call trexio_str2strarray(str_compiled, state_num, max_str_len, dset) + deallocate(str_compiled) + trexio_read_state_label = TREXIO_SUCCESS + endif + +end function trexio_read_state_label + +integer(trexio_exit_code) function trexio_write_metadata_package_version (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3563,11 +5047,11 @@ integer function trexio_write_metadata_package_version (trex_file, str, max_str_ end function trexio_write_metadata_package_version -integer function trexio_write_metadata_description (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_description (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3578,11 +5062,11 @@ integer function trexio_write_metadata_description (trex_file, str, max_str_len) end function trexio_write_metadata_description -integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_nucleus_point_group (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3593,11 +5077,11 @@ integer function trexio_write_nucleus_point_group (trex_file, str, max_str_len) end function trexio_write_nucleus_point_group -integer function trexio_write_basis_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_basis_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3608,11 +5092,11 @@ integer function trexio_write_basis_type (trex_file, str, max_str_len) end function trexio_write_basis_type -integer function trexio_write_mo_type (trex_file, str, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_type (trex_file, str, max_str_len) use, intrinsic :: iso_c_binding, only : c_null_char implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(trexio_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: str character(len=len_trim(str)+1) :: str_c @@ -3623,15 +5107,15 @@ integer function trexio_write_mo_type (trex_file, str, max_str_len) end function trexio_write_mo_type -integer function trexio_write_metadata_code (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_code (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: metadata_code_num - integer :: rc + integer(c_int64_t) :: metadata_code_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) if (rc /= TREXIO_SUCCESS) then @@ -3643,15 +5127,15 @@ integer function trexio_write_metadata_code (trex_file, dset, max_str_len) end function trexio_write_metadata_code -integer function trexio_write_metadata_author (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_metadata_author (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: metadata_author_num - integer :: rc + integer(c_int64_t) :: metadata_author_num + integer(trexio_exit_code) :: rc rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) if (rc /= TREXIO_SUCCESS) then @@ -3663,15 +5147,15 @@ integer function trexio_write_metadata_author (trex_file, dset, max_str_len) end function trexio_write_metadata_author -integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_nucleus_label (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: nucleus_num - integer :: rc + integer(c_int64_t) :: nucleus_num + integer(trexio_exit_code) :: rc rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) if (rc /= TREXIO_SUCCESS) then @@ -3683,15 +5167,15 @@ integer function trexio_write_nucleus_label (trex_file, dset, max_str_len) end function trexio_write_nucleus_label -integer function trexio_write_mo_class (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_class (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) then @@ -3703,15 +5187,15 @@ integer function trexio_write_mo_class (trex_file, dset, max_str_len) end function trexio_write_mo_class -integer function trexio_write_mo_symmetry (trex_file, dset, max_str_len) +integer(trexio_exit_code) function trexio_write_mo_symmetry (trex_file, dset, max_str_len) implicit none - integer(8), intent(in), value :: trex_file - integer(4), intent(in), value :: max_str_len + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len character(len=*), intent(in) :: dset(*) character(len=:), allocatable :: str_compiled - integer(8) :: mo_num - integer :: rc + integer(c_int64_t) :: mo_num + integer(trexio_exit_code) :: rc rc = trexio_read_mo_num_64(trex_file, mo_num) if (rc /= TREXIO_SUCCESS) then @@ -3723,4 +5207,24 @@ integer function trexio_write_mo_symmetry (trex_file, dset, max_str_len) end function trexio_write_mo_symmetry +integer(trexio_exit_code) function trexio_write_state_label (trex_file, dset, max_str_len) + implicit none + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: max_str_len + character(len=*), intent(in) :: dset(*) + + character(len=:), allocatable :: str_compiled + integer(c_int64_t) :: state_num + integer(trexio_exit_code) :: rc + + rc = trexio_read_state_num_64(trex_file, state_num) + if (rc /= TREXIO_SUCCESS) then + trexio_write_state_label = rc + else + call trexio_strarray2str(dset, state_num, max_str_len, str_compiled) + trexio_write_state_label = trexio_write_state_label_low(trex_file, str_compiled, max_str_len) + endif + +end function trexio_write_state_label + end module trexio From 9e9caf4037fd59082b19d6a9563d005a0cc561bd Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 25 May 2022 15:24:19 +0200 Subject: [PATCH 07/17] Fix TREXIO --- devel/trexio/import_trexio_integrals.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f index 990b7df..53737d5 100644 --- a/devel/trexio/import_trexio_integrals.irp.f +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -35,7 +35,7 @@ subroutine run - if (trexio_has_nucleus_repulsion(f)) then + if (trexio_has_nucleus_repulsion(f) == TREXIO_SUCCESS) then rc = trexio_read_nucleus_repulsion(f, s) if (rc /= TREXIO_SUCCESS) then print *, irp_here From e1da425522c351d109535c5eaf0d5e21af744171 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 17 Jun 2022 16:17:47 +0200 Subject: [PATCH 08/17] Added install/uninstall scripts --- devel/trexio/install | 13 +++++++++++++ devel/trexio/uninstall | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100755 devel/trexio/install create mode 100644 devel/trexio/uninstall diff --git a/devel/trexio/install b/devel/trexio/install new file mode 100755 index 0000000..a5171e0 --- /dev/null +++ b/devel/trexio/install @@ -0,0 +1,13 @@ +#!/bin/bash + +# Check if the QP_ROOT environment variable is set. +if [[ -z ${QP_ROOT} ]] +then + print "The QP_ROOT environment variable is not set." + print "Please reload the quantum_package.rc file." + exit -1 +fi + +pkg-config --libs trexio > LIB + +ln --symbolic ${PWD}/qp_import_trexio.py $QP_ROOT/scripts diff --git a/devel/trexio/uninstall b/devel/trexio/uninstall new file mode 100644 index 0000000..51d6759 --- /dev/null +++ b/devel/trexio/uninstall @@ -0,0 +1,20 @@ +#!/bin/bash + +# Check if the QP_ROOT environment variable is set. +if [[ -z ${QP_ROOT} ]] +then + print "The QP_ROOT environment variable is not set." + print "Please reload the quantum_package.rc file." + exit -1 +fi + +scripts_list="qp_import_trexio.py " + +# Destroy ONLY the symbolic link for the scripts to be used in the +# ${QP_ROOT}/scripts/ directory. + for i in $scripts_list + do + find ${QP_ROOT}/scripts/$i -type l -delete + done + + From cf60101851faf63eca9a1f9fa4fd27fb22f01ad4 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 17 Jun 2022 19:04:09 +0200 Subject: [PATCH 09/17] Update trexio files --- devel/trexio/LIB | 3 +-- devel/trexio/export_trexio.irp.f | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/devel/trexio/LIB b/devel/trexio/LIB index 52e3bac..9eb3e2e 100644 --- a/devel/trexio/LIB +++ b/devel/trexio/LIB @@ -1,2 +1 @@ --ltrexio - +-L/lustre/home/scemama/qp2/lib -ltrexio diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 082806a..703ecbf 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -19,12 +19,11 @@ subroutine run print *, 'TREXIO file : '//trim(trexio_filename) print *, '' - call system('rm -rf '//trim(trexio_filename)//'.bak') - call system('mv '//trim(trexio_filename)//' '//trim(trexio_filename)//'.bak') + call system('cp '//trim(trexio_filename)//' '//trim(trexio_filename)//'.bak') if (backend == 0) then - f = trexio_open(trexio_filename, 'w', TREXIO_HDF5, rc) + f = trexio_open(trexio_filename, 'u', TREXIO_HDF5, rc) else if (backend == 1) then - f = trexio_open(trexio_filename, 'w', TREXIO_TEXT, rc) + f = trexio_open(trexio_filename, 'u', TREXIO_TEXT, rc) endif if (f == 0_8) then print *, 'Unable to open TREXIO file for writing' From 7dd95fdc430bdffe6504cef609b8d97e217443a5 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 23 Jun 2022 12:42:44 +0000 Subject: [PATCH 10/17] Add LICENSE --- LICENSE | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 339 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..68af67c --- /dev/null +++ b/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + qp_plugins_scemama + Copyright (C) 2022 Anthony Scemama + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. From beb5150885effdd13a40f6aa0e092e7930160ffb Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 27 Jun 2022 19:14:31 +0200 Subject: [PATCH 11/17] Update trexio_f.f90 --- devel/trexio/trexio_f.f90 | 1076 ++++++++++++++++++++++++++++++++++++- 1 file changed, 1066 insertions(+), 10 deletions(-) diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 index 4060676..d99bd21 100644 --- a/devel/trexio/trexio_f.f90 +++ b/devel/trexio/trexio_f.f90 @@ -139,34 +139,35 @@ interface end interface interface - integer(trexio_exit_code) function trexio_to_orbital_list(N_int, d1, list, occupied_num) bind(C) + integer(trexio_exit_code) function trexio_to_orbital_list_c(N_int, d1, list, occupied_num) bind(C, name="trexio_to_orbital_list") use, intrinsic :: iso_c_binding import integer(c_int32_t), intent(in), value :: N_int integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(out) :: list(*) + integer(c_int32_t), intent(inout) :: list(*) integer(c_int32_t), intent(inout) :: occupied_num - end function trexio_to_orbital_list + end function trexio_to_orbital_list_c end interface interface - integer(trexio_exit_code) function trexio_to_orbital_list_up_dn(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) bind(C) + integer(trexio_exit_code) function trexio_to_orbital_list_up_dn_c(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) & + bind(C, name="trexio_to_orbital_list_up_dn") use, intrinsic :: iso_c_binding import integer(c_int32_t), intent(in), value :: N_int integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(out) :: list_up(*) - integer(c_int32_t), intent(out) :: list_dn(*) + integer(c_int32_t), intent(inout) :: list_up(*) + integer(c_int32_t), intent(inout) :: list_dn(*) integer(c_int32_t), intent(inout) :: occ_num_up integer(c_int32_t), intent(inout) :: occ_num_dn - end function trexio_to_orbital_list_up_dn + end function trexio_to_orbital_list_up_dn_c end interface -character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.2.0" +character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.3.0" integer :: TREXIO_VERSION_MAJOR = 2 -integer :: TREXIO_VERSION_MINOR = 2 +integer :: TREXIO_VERSION_MINOR = 3 integer :: TREXIO_VERSION_PATCH = 0 -character(len = 64) :: TREXIO_GIT_HASH = "6edb5a39d7cd093df621dcd10b9a90b0c70b8170" +character(len = 64) :: TREXIO_GIT_HASH = "189f6de6a9cd51d0be6c44be95deca045f97c555" interface integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) @@ -280,6 +281,22 @@ interface end function trexio_delete_rdm end interface +interface + integer(trexio_exit_code) function trexio_delete_cell (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_cell +end interface + +interface + integer(trexio_exit_code) function trexio_delete_pbc (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(trexio_t), intent(in), value :: trex_file + end function trexio_delete_pbc +end interface + interface integer(trexio_exit_code) function trexio_delete_qmc (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -416,6 +433,14 @@ interface end function trexio_has_state_num end interface +interface + integer(trexio_exit_code) function trexio_has_pbc_periodic (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_pbc_periodic +end interface + interface integer(trexio_exit_code) function trexio_has_qmc_num (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -648,6 +673,46 @@ interface end function trexio_has_ao_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_has_ao_1e_int_overlap_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_ao_1e_int_kinetic_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_ao_1e_int_potential_n_e_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_ao_1e_int_core_hamiltonian_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_ao_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_has_mo_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -656,6 +721,14 @@ interface end function trexio_has_mo_coefficient end interface +interface + integer(trexio_exit_code) function trexio_has_mo_coefficient_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_coefficient_im +end interface + interface integer(trexio_exit_code) function trexio_has_mo_occupation (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -704,6 +777,46 @@ interface end function trexio_has_mo_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_has_mo_1e_int_overlap_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_mo_1e_int_kinetic_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_mo_1e_int_potential_n_e_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_has_mo_1e_int_core_hamiltonian_im (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_mo_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_has_rdm_1e (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -728,6 +841,38 @@ interface end function trexio_has_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_has_cell_a (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_cell_a +end interface + +interface + integer(trexio_exit_code) function trexio_has_cell_b (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_cell_b +end interface + +interface + integer(trexio_exit_code) function trexio_has_cell_c (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_cell_c +end interface + +interface + integer(trexio_exit_code) function trexio_has_pbc_k_point (trex_file) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + end function trexio_has_pbc_k_point +end interface + interface integer(trexio_exit_code) function trexio_has_qmc_point (trex_file) bind(C) use, intrinsic :: iso_c_binding @@ -1016,6 +1161,15 @@ interface end function trexio_read_state_num_32 end interface +interface + integer(trexio_exit_code) function trexio_read_pbc_periodic_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_pbc_periodic_32 +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -1169,6 +1323,15 @@ interface end function trexio_read_state_num_64 end interface +interface + integer(trexio_exit_code) function trexio_read_pbc_periodic_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(out) :: num + end function trexio_read_pbc_periodic_64 +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -1322,6 +1485,15 @@ interface end function trexio_read_state_num end interface +interface + integer(trexio_exit_code) function trexio_read_pbc_periodic (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(out) :: num + end function trexio_read_pbc_periodic +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -1593,6 +1765,51 @@ interface end function trexio_read_ao_1e_int_core_hamiltonian_32 end interface +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_overlap_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_kinetic_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_potential_n_e_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_core_hamiltonian_im_32 +end interface + interface integer(trexio_exit_code) function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1602,6 +1819,15 @@ interface end function trexio_read_mo_coefficient_32 end interface +interface + integer(trexio_exit_code) function trexio_read_mo_coefficient_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_coefficient_im_32 +end interface + interface integer(trexio_exit_code) function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1656,6 +1882,51 @@ interface end function trexio_read_mo_1e_int_core_hamiltonian_32 end interface +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_overlap_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_kinetic_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_potential_n_e_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_core_hamiltonian_im_32 +end interface + interface integer(trexio_exit_code) function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1683,6 +1954,42 @@ interface end function trexio_read_rdm_1e_dn_32 end interface +interface + integer(trexio_exit_code) function trexio_read_cell_a_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_cell_a_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_b_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_cell_b_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_c_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_cell_c_32 +end interface + +interface + integer(trexio_exit_code) function trexio_read_pbc_k_point_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(out) :: dset(*) + end function trexio_read_pbc_k_point_32 +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_point_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1917,6 +2224,51 @@ interface end function trexio_read_ao_1e_int_core_hamiltonian_64 end interface +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_overlap_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_kinetic_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_potential_n_e_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_core_hamiltonian_im_64 +end interface + interface integer(trexio_exit_code) function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1926,6 +2278,15 @@ interface end function trexio_read_mo_coefficient_64 end interface +interface + integer(trexio_exit_code) function trexio_read_mo_coefficient_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_coefficient_im_64 +end interface + interface integer(trexio_exit_code) function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -1980,6 +2341,51 @@ interface end function trexio_read_mo_1e_int_core_hamiltonian_64 end interface +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_overlap_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_kinetic_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_potential_n_e_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_core_hamiltonian_im_64 +end interface + interface integer(trexio_exit_code) function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2007,6 +2413,42 @@ interface end function trexio_read_rdm_1e_dn_64 end interface +interface + integer(trexio_exit_code) function trexio_read_cell_a_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_a_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_b_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_b_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_c_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_c_64 +end interface + +interface + integer(trexio_exit_code) function trexio_read_pbc_k_point_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_pbc_k_point_64 +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_point_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2241,6 +2683,51 @@ interface end function trexio_read_ao_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_ao_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_read_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2250,6 +2737,15 @@ interface end function trexio_read_mo_coefficient end interface +interface + integer(trexio_exit_code) function trexio_read_mo_coefficient_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_coefficient_im +end interface + interface integer(trexio_exit_code) function trexio_read_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2304,6 +2800,51 @@ interface end function trexio_read_mo_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_mo_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_read_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2331,6 +2872,42 @@ interface end function trexio_read_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_read_cell_a (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_a +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_b (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_b +end interface + +interface + integer(trexio_exit_code) function trexio_read_cell_c (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_cell_c +end interface + +interface + integer(trexio_exit_code) function trexio_read_pbc_k_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(out) :: dset(*) + end function trexio_read_pbc_k_point +end interface + interface integer(trexio_exit_code) function trexio_read_qmc_point (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -2922,6 +3499,15 @@ interface end function trexio_write_state_num_32 end interface +interface + integer(trexio_exit_code) function trexio_write_pbc_periodic_32 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_pbc_periodic_32 +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_num_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -3066,6 +3652,15 @@ interface end function trexio_write_state_num_64 end interface +interface + integer(trexio_exit_code) function trexio_write_pbc_periodic_64 (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int64_t), intent(in), value :: num + end function trexio_write_pbc_periodic_64 +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_num_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -3210,6 +3805,15 @@ interface end function trexio_write_state_num end interface +interface + integer(trexio_exit_code) function trexio_write_pbc_periodic (trex_file, num) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + integer(c_int32_t), intent(in), value :: num + end function trexio_write_pbc_periodic +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_num (trex_file, num) bind(C) use, intrinsic :: iso_c_binding @@ -3481,6 +4085,51 @@ interface end function trexio_write_ao_1e_int_core_hamiltonian_32 end interface +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_overlap_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_kinetic_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_potential_n_e_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_core_hamiltonian_im_32 +end interface + interface integer(trexio_exit_code) function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3490,6 +4139,15 @@ interface end function trexio_write_mo_coefficient_32 end interface +interface + integer(trexio_exit_code) function trexio_write_mo_coefficient_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_coefficient_im_32 +end interface + interface integer(trexio_exit_code) function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3544,6 +4202,51 @@ interface end function trexio_write_mo_1e_int_core_hamiltonian_32 end interface +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_overlap_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_kinetic_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_potential_n_e_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp_im_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_core_hamiltonian_im_32 +end interface + interface integer(trexio_exit_code) function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3571,6 +4274,42 @@ interface end function trexio_write_rdm_1e_dn_32 end interface +interface + integer(trexio_exit_code) function trexio_write_cell_a_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_cell_a_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_b_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_cell_b_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_c_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_cell_c_32 +end interface + +interface + integer(trexio_exit_code) function trexio_write_pbc_k_point_32 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_float), intent(in) :: dset(*) + end function trexio_write_pbc_k_point_32 +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_point_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3805,6 +4544,51 @@ interface end function trexio_write_ao_1e_int_core_hamiltonian_64 end interface +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_overlap_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_kinetic_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_potential_n_e_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_core_hamiltonian_im_64 +end interface + interface integer(trexio_exit_code) function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3814,6 +4598,15 @@ interface end function trexio_write_mo_coefficient_64 end interface +interface + integer(trexio_exit_code) function trexio_write_mo_coefficient_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_coefficient_im_64 +end interface + interface integer(trexio_exit_code) function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3868,6 +4661,51 @@ interface end function trexio_write_mo_1e_int_core_hamiltonian_64 end interface +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_overlap_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_kinetic_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_potential_n_e_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp_im_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_core_hamiltonian_im_64 +end interface + interface integer(trexio_exit_code) function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -3895,6 +4733,42 @@ interface end function trexio_write_rdm_1e_dn_64 end interface +interface + integer(trexio_exit_code) function trexio_write_cell_a_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_a_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_b_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_b_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_c_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_c_64 +end interface + +interface + integer(trexio_exit_code) function trexio_write_pbc_k_point_64 (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_pbc_k_point_64 +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_point_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -4129,6 +5003,51 @@ interface end function trexio_write_ao_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_ao_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_write_mo_coefficient (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -4138,6 +5057,15 @@ interface end function trexio_write_mo_coefficient end interface +interface + integer(trexio_exit_code) function trexio_write_mo_coefficient_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_coefficient_im +end interface + interface integer(trexio_exit_code) function trexio_write_mo_occupation (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -4192,6 +5120,51 @@ interface end function trexio_write_mo_1e_int_core_hamiltonian end interface +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_overlap_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_kinetic_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_potential_n_e_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_ecp_im +end interface + +interface + integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_mo_1e_int_core_hamiltonian_im +end interface + interface integer(trexio_exit_code) function trexio_write_rdm_1e (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -4219,6 +5192,42 @@ interface end function trexio_write_rdm_1e_dn end interface +interface + integer(trexio_exit_code) function trexio_write_cell_a (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_a +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_b (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_b +end interface + +interface + integer(trexio_exit_code) function trexio_write_cell_c (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_cell_c +end interface + +interface + integer(trexio_exit_code) function trexio_write_pbc_k_point (trex_file, dset) bind(C) + use, intrinsic :: iso_c_binding + import + integer(c_int64_t), intent(in), value :: trex_file + real(c_double), intent(in) :: dset(*) + end function trexio_write_pbc_k_point +end interface + interface integer(trexio_exit_code) function trexio_write_qmc_point (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding @@ -4754,6 +5763,53 @@ integer(trexio_exit_code) function trexio_inquire (filename) trexio_inquire = trexio_inquire_c(filename_c) end function trexio_inquire +integer(trexio_exit_code) function trexio_to_orbital_list(N_int, d1, list, occupied_num) + use, intrinsic :: iso_c_binding + implicit none + + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list(*) + integer(c_int32_t), intent(out) :: occupied_num + + integer :: i + + trexio_to_orbital_list = trexio_to_orbital_list_c(N_int, d1, list, occupied_num) + if (trexio_to_orbital_list /= TREXIO_SUCCESS) then + return + endif + + do i = 1,occupied_num + list(i) = list(i) + 1 + enddo +end function trexio_to_orbital_list + + +integer(trexio_exit_code) function trexio_to_orbital_list_up_dn(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) + use, intrinsic :: iso_c_binding + implicit none + integer(c_int32_t), intent(in), value :: N_int + integer(c_int64_t), intent(in) :: d1(*) + integer(c_int32_t), intent(out) :: list_up(*) + integer(c_int32_t), intent(out) :: list_dn(*) + integer(c_int32_t), intent(out) :: occ_num_up + integer(c_int32_t), intent(out) :: occ_num_dn + + integer :: i + + trexio_to_orbital_list_up_dn = trexio_to_orbital_list_up_dn_c(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) + if (trexio_to_orbital_list_up_dn /= TREXIO_SUCCESS) then + return + endif + + do i = 1,occ_num_up + list_up(i) = list_up(i) + 1 + enddo + do i = 1,occ_num_dn + list_dn(i) = list_dn(i) + 1 + enddo +end function trexio_to_orbital_list_up_dn + subroutine trexio_strarray2str(str_array, max_num_str, max_len_str, str_res) use, intrinsic :: iso_c_binding, only : c_null_char implicit none From 61da8b1880650ccce44dd3ee7cfbc4c74b4c7d1d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 1 Jul 2022 11:22:46 +0200 Subject: [PATCH 12/17] Fixed uninstall --- devel/trexio/uninstall | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 devel/trexio/uninstall diff --git a/devel/trexio/uninstall b/devel/trexio/uninstall old mode 100644 new mode 100755 From aa745a2b5792c30130ea544e1bedb69fe2b33c3d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 30 Nov 2022 17:34:27 +0100 Subject: [PATCH 13/17] Removed trexio_f.f90 --- devel/trexio/LIB | 2 +- devel/trexio/NEED | 1 + devel/trexio/export_trexio.irp.f | 7 +- devel/trexio/trexio_f.f90 | 6286 ------------------------------ devel/trexio/trexio_module.F90 | 1 + devel/trexio/uninstall | 6 +- 6 files changed, 12 insertions(+), 6291 deletions(-) delete mode 100644 devel/trexio/trexio_f.f90 create mode 100644 devel/trexio/trexio_module.F90 diff --git a/devel/trexio/LIB b/devel/trexio/LIB index 9eb3e2e..70c4088 100644 --- a/devel/trexio/LIB +++ b/devel/trexio/LIB @@ -1 +1 @@ --L/lustre/home/scemama/qp2/lib -ltrexio +-L/home/scemama/qp2/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial -ltrexio -lhdf5 diff --git a/devel/trexio/NEED b/devel/trexio/NEED index 1d6fc39..625463a 100644 --- a/devel/trexio/NEED +++ b/devel/trexio/NEED @@ -5,3 +5,4 @@ mo_two_e_ints ao_two_e_ints ao_one_e_ints two_body_rdm +hartree_fock diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index 703ecbf..b364d18 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -340,6 +340,11 @@ subroutine run rc = trexio_write_mo_coefficient(f, mo_coef) call trexio_assert(rc, TREXIO_SUCCESS) + if (trim(mo_label) == 'Canonical') then + rc = trexio_write_mo_energy(f, fock_matrix_diag_mo) + call trexio_assert(rc, TREXIO_SUCCESS) + endif + ! One-e MO integrals ! ------------------ @@ -399,7 +404,7 @@ subroutine run end do end do - if (icount >= 0_8) then + if (icount > 0_8) then rc = trexio_write_mo_2e_int_eri(f, offset, icount, eri_index, eri_buffer) call trexio_assert(rc, TREXIO_SUCCESS) end if diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 deleted file mode 100644 index d99bd21..0000000 --- a/devel/trexio/trexio_f.f90 +++ /dev/null @@ -1,6286 +0,0 @@ -module trexio - - use, intrinsic :: iso_c_binding - implicit none - - integer, parameter :: trexio_exit_code = c_int32_t - integer, parameter :: trexio_back_end_t = c_int32_t - integer, parameter :: trexio_t = c_int64_t - - character(kind=c_char), parameter :: TREXIO_DELIM = c_new_line - -integer(trexio_exit_code), parameter :: TREXIO_FAILURE = -1 -integer(trexio_exit_code), parameter :: TREXIO_SUCCESS = 0 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_1 = 1 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_2 = 2 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_3 = 3 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_4 = 4 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_5 = 5 -integer(trexio_exit_code), parameter :: TREXIO_END = 6 -integer(trexio_exit_code), parameter :: TREXIO_READONLY = 7 -integer(trexio_exit_code), parameter :: TREXIO_ERRNO = 8 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ID = 9 -integer(trexio_exit_code), parameter :: TREXIO_ALLOCATION_FAILED = 10 -integer(trexio_exit_code), parameter :: TREXIO_HAS_NOT = 11 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_NUM = 12 -integer(trexio_exit_code), parameter :: TREXIO_ATTR_ALREADY_EXISTS = 13 -integer(trexio_exit_code), parameter :: TREXIO_DSET_ALREADY_EXISTS = 14 -integer(trexio_exit_code), parameter :: TREXIO_OPEN_ERROR = 15 -integer(trexio_exit_code), parameter :: TREXIO_LOCK_ERROR = 16 -integer(trexio_exit_code), parameter :: TREXIO_UNLOCK_ERROR = 17 -integer(trexio_exit_code), parameter :: TREXIO_FILE_ERROR = 18 -integer(trexio_exit_code), parameter :: TREXIO_GROUP_READ_ERROR = 19 -integer(trexio_exit_code), parameter :: TREXIO_GROUP_WRITE_ERROR = 20 -integer(trexio_exit_code), parameter :: TREXIO_ELEM_READ_ERROR = 21 -integer(trexio_exit_code), parameter :: TREXIO_ELEM_WRITE_ERROR = 22 -integer(trexio_exit_code), parameter :: TREXIO_UNSAFE_ARRAY_DIM = 23 -integer(trexio_exit_code), parameter :: TREXIO_ATTR_MISSING = 24 -integer(trexio_exit_code), parameter :: TREXIO_DSET_MISSING = 25 -integer(trexio_exit_code), parameter :: TREXIO_BACK_END_MISSING = 26 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_6 = 27 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_7 = 28 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ARG_8 = 29 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_STR_LEN = 30 -integer(trexio_exit_code), parameter :: TREXIO_INT_SIZE_OVERFLOW = 31 -integer(trexio_exit_code), parameter :: TREXIO_SAFE_MODE = 32 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_ELECTRON_NUM = 33 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_DETERMINANT_NUM = 34 -integer(trexio_exit_code), parameter :: TREXIO_INVALID_STATE = 35 -integer(trexio_exit_code), parameter :: TREXIO_VERSION_PARSING_ISSUE = 36 - -interface - subroutine trexio_string_of_error (error, string) bind(C, name='trexio_string_of_error_f') - use, intrinsic :: iso_c_binding - import - integer(trexio_exit_code), intent(in), value :: error - character(kind=c_char), intent(out) :: string(128) - end subroutine trexio_string_of_error -end interface - -integer(trexio_back_end_t), parameter :: TREXIO_HDF5 = 0 - integer(trexio_back_end_t), parameter :: TREXIO_TEXT = 1 -! integer(trexio_back_end_t), parameter :: TREXIO_JSON = 2 - integer(trexio_back_end_t), parameter :: TREXIO_INVALID_BACK_END = 2 - integer(trexio_back_end_t), parameter :: TREXIO_AUTO = TREXIO_INVALID_BACK_END - -interface - logical(c_bool) function trexio_has_back_end (back_end) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_back_end_t), intent(in), value :: back_end - end function trexio_has_back_end -end interface - -interface - logical(c_bool) function trexio_has_backend (back_end) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_back_end_t), intent(in), value :: back_end - end function trexio_has_backend -end interface - -interface - integer(trexio_t) function trexio_open_c (filename, mode, back_end, rc_open) bind(C, name="trexio_open") - use, intrinsic :: iso_c_binding - import - character(kind=c_char), dimension(*) :: filename - character(kind=c_char), intent(in), value :: mode - integer(trexio_back_end_t), intent(in), value :: back_end - integer(trexio_exit_code), intent(out) :: rc_open - end function trexio_open_c -end interface - -interface - integer(trexio_exit_code) function trexio_set_one_based(trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_set_one_based -end interface - -interface - integer(trexio_exit_code) function trexio_close (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_close -end interface - -interface - integer(trexio_exit_code) function trexio_inquire_c (filename) bind(C, name="trexio_inquire") - use, intrinsic :: iso_c_binding - import - character(kind=c_char), dimension(*) :: filename - end function trexio_inquire_c -end interface - -interface - integer(trexio_exit_code) function trexio_set_state (trex_file, state) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: state - end function trexio_set_state -end interface - -interface - integer(trexio_exit_code) function trexio_get_state (trex_file, state) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: state - end function trexio_get_state -end interface - -interface - integer function trexio_info () bind(C) - use, intrinsic :: iso_c_binding - end function trexio_info -end interface - -interface - integer(trexio_exit_code) function trexio_to_orbital_list_c(N_int, d1, list, occupied_num) bind(C, name="trexio_to_orbital_list") - use, intrinsic :: iso_c_binding - import - integer(c_int32_t), intent(in), value :: N_int - integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(inout) :: list(*) - integer(c_int32_t), intent(inout) :: occupied_num - end function trexio_to_orbital_list_c -end interface - -interface - integer(trexio_exit_code) function trexio_to_orbital_list_up_dn_c(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) & - bind(C, name="trexio_to_orbital_list_up_dn") - use, intrinsic :: iso_c_binding - import - integer(c_int32_t), intent(in), value :: N_int - integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(inout) :: list_up(*) - integer(c_int32_t), intent(inout) :: list_dn(*) - integer(c_int32_t), intent(inout) :: occ_num_up - integer(c_int32_t), intent(inout) :: occ_num_dn - end function trexio_to_orbital_list_up_dn_c -end interface - -character(len = 12) :: TREXIO_PACKAGE_VERSION = "2.3.0" -integer :: TREXIO_VERSION_MAJOR = 2 -integer :: TREXIO_VERSION_MINOR = 3 -integer :: TREXIO_VERSION_PATCH = 0 -character(len = 64) :: TREXIO_GIT_HASH = "189f6de6a9cd51d0be6c44be95deca045f97c555" - -interface - integer(trexio_exit_code) function trexio_delete_metadata (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_metadata -end interface - -interface - integer(trexio_exit_code) function trexio_delete_electron (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_electron -end interface - -interface - integer(trexio_exit_code) function trexio_delete_nucleus (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_nucleus -end interface - -interface - integer(trexio_exit_code) function trexio_delete_ecp (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_delete_basis (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_basis -end interface - -interface - integer(trexio_exit_code) function trexio_delete_ao (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_ao -end interface - -interface - integer(trexio_exit_code) function trexio_delete_ao_1e_int (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_ao_1e_int -end interface - -interface - integer(trexio_exit_code) function trexio_delete_ao_2e_int (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_ao_2e_int -end interface - -interface - integer(trexio_exit_code) function trexio_delete_mo (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_mo -end interface - -interface - integer(trexio_exit_code) function trexio_delete_mo_1e_int (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_mo_1e_int -end interface - -interface - integer(trexio_exit_code) function trexio_delete_mo_2e_int (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_mo_2e_int -end interface - -interface - integer(trexio_exit_code) function trexio_delete_determinant (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_determinant -end interface - -interface - integer(trexio_exit_code) function trexio_delete_state (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_state -end interface - -interface - integer(trexio_exit_code) function trexio_delete_rdm (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_rdm -end interface - -interface - integer(trexio_exit_code) function trexio_delete_cell (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_cell -end interface - -interface - integer(trexio_exit_code) function trexio_delete_pbc (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_pbc -end interface - -interface - integer(trexio_exit_code) function trexio_delete_qmc (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_delete_qmc -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_code_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_metadata_code_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_author_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_metadata_author_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_unsafe (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_metadata_unsafe -end interface - -interface - integer(trexio_exit_code) function trexio_has_electron_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_electron_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_electron_up_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_electron_up_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_electron_dn_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_electron_dn_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_nucleus_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_repulsion (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_nucleus_repulsion -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_prim_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_prim_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_shell_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_shell_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_cartesian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_cartesian -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_determinant_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_determinant_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_state_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_state_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_pbc_periodic (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_pbc_periodic -end interface - -interface - integer(trexio_exit_code) function trexio_has_qmc_num (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_qmc_num -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_package_version (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_has_metadata_package_version -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_description (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_has_metadata_description -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_point_group (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_has_nucleus_point_group -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_type (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_has_basis_type -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_type (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - end function trexio_has_mo_type -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_charge (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_nucleus_charge -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_coord (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_nucleus_coord -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_max_ang_mom_plus_1 (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_max_ang_mom_plus_1 -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_z_core (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_z_core -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_ang_mom (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_nucleus_index (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_exponent (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_coefficient (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_has_ecp_power (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ecp_power -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_nucleus_index (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_shell_ang_mom (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_shell_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_shell_factor (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_shell_factor -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_shell_index (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_shell_index -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_exponent (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_coefficient (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_has_basis_prim_factor (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_basis_prim_factor -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_shell (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_shell -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_normalization (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_normalization -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_overlap (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_kinetic (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_potential_n_e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_overlap_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_kinetic_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_potential_n_e_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_ecp_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_1e_int_core_hamiltonian_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_coefficient (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_coefficient_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_coefficient_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_occupation (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_occupation -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_overlap (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_potential_n_e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_core_hamiltonian (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_overlap_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_kinetic_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_potential_n_e_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_ecp_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_1e_int_core_hamiltonian_im (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_1e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_1e -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_1e_up (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_1e_up -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_1e_dn (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_1e_dn -end interface - -interface - integer(trexio_exit_code) function trexio_has_cell_a (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_cell_a -end interface - -interface - integer(trexio_exit_code) function trexio_has_cell_b (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_cell_b -end interface - -interface - integer(trexio_exit_code) function trexio_has_cell_c (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_cell_c -end interface - -interface - integer(trexio_exit_code) function trexio_has_pbc_k_point (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_pbc_k_point -end interface - -interface - integer(trexio_exit_code) function trexio_has_qmc_point (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_qmc_point -end interface - -interface - integer(trexio_exit_code) function trexio_has_qmc_psi (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_qmc_psi -end interface - -interface - integer(trexio_exit_code) function trexio_has_qmc_e_loc (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_qmc_e_loc -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_2e_int_eri (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_has_ao_2e_int_eri_lr (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_ao_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_2e_int_eri (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_2e_int_eri_lr (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_2e (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_2e -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_2e_upup (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_2e_upup -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_2e_dndn (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_2e_dndn -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_2e_updn (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_2e_updn -end interface - -interface - integer(trexio_exit_code) function trexio_has_rdm_2e_dnup (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_rdm_2e_dnup -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_code (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_metadata_code -end interface - -interface - integer(trexio_exit_code) function trexio_has_metadata_author (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_metadata_author -end interface - -interface - integer(trexio_exit_code) function trexio_has_nucleus_label (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_nucleus_label -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_class (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_class -end interface - -interface - integer(trexio_exit_code) function trexio_has_mo_symmetry (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_mo_symmetry -end interface - -interface - integer(trexio_exit_code) function trexio_has_state_label (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_state_label -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_code_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_code_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_author_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_author_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_unsafe_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_unsafe_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_up_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_up_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_dn_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_dn_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_nucleus_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_repulsion_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: num - end function trexio_read_nucleus_repulsion_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ecp_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_basis_prim_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_basis_shell_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_cartesian_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ao_cartesian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ao_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_mo_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_determinant_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_determinant_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_state_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_state_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_periodic_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_pbc_periodic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_qmc_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_code_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_metadata_code_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_author_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_metadata_author_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_unsafe_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_metadata_unsafe_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_electron_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_up_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_electron_up_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_dn_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_electron_dn_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_nucleus_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_repulsion_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: num - end function trexio_read_nucleus_repulsion_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_ecp_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_basis_prim_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_basis_shell_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_cartesian_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_ao_cartesian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_ao_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_mo_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_determinant_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_determinant_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_state_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_state_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_periodic_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_pbc_periodic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: num - end function trexio_read_qmc_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_code_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_code_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_author_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_author_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_unsafe (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_metadata_unsafe -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_up_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_up_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_electron_dn_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_electron_dn_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_nucleus_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_repulsion (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: num - end function trexio_read_nucleus_repulsion -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ecp_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_basis_prim_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_basis_shell_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_cartesian (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ao_cartesian -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_ao_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_mo_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_determinant_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_determinant_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_state_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_state_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_periodic (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_pbc_periodic -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_read_qmc_num -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_package_version_c (trex_file, str, max_str_len) & - bind(C, name="trexio_read_metadata_package_version") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_metadata_package_version_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_description_c (trex_file, str, max_str_len) & - bind(C, name="trexio_read_metadata_description") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_metadata_description_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_point_group_c (trex_file, str, max_str_len) & - bind(C, name="trexio_read_nucleus_point_group") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_nucleus_point_group_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_type_c (trex_file, str, max_str_len) & - bind(C, name="trexio_read_basis_type") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_basis_type_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_type_c (trex_file, str, max_str_len) & - bind(C, name="trexio_read_mo_type") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_mo_type_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_charge_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_nucleus_charge_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_coord_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_nucleus_coord_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_max_ang_mom_plus_1_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_z_core_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_z_core_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_ang_mom_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_ang_mom_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_nucleus_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_exponent_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ecp_exponent_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ecp_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_power_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_power_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_nucleus_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_nucleus_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_ang_mom_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_factor_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_basis_shell_factor_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_exponent_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_basis_exponent_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_basis_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_factor_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_basis_prim_factor_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_shell_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ao_shell_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_normalization_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_normalization_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_coefficient_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_occupation_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_occupation_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_rdm_1e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_up_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_rdm_1e_up_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_dn_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_rdm_1e_dn_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_a_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_cell_a_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_b_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_cell_b_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_c_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_cell_c_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_k_point_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_pbc_k_point_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_point_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_qmc_point_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_psi_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_qmc_psi_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_e_loc_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(out) :: dset(*) - end function trexio_read_qmc_e_loc_32 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_charge_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_nucleus_charge_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_coord_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_nucleus_coord_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ecp_max_ang_mom_plus_1_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_z_core_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ecp_z_core_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_ang_mom_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ecp_ang_mom_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_nucleus_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ecp_nucleus_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_exponent_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ecp_exponent_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ecp_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_power_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ecp_power_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_nucleus_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_basis_nucleus_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_ang_mom_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_factor_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_shell_factor_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_exponent_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_exponent_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_factor_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_prim_factor_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_shell_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: dset(*) - end function trexio_read_ao_shell_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_normalization_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_normalization_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_coefficient_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_occupation_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_occupation_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_up_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e_up_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_dn_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e_dn_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_a_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_a_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_b_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_b_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_c_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_c_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_k_point_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_pbc_k_point_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_point_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_point_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_psi_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_psi_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_e_loc_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_e_loc_64 -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_charge (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_nucleus_charge -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_coord (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_nucleus_coord -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_max_ang_mom_plus_1 -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_z_core (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_z_core -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_ang_mom (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_nucleus_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_exponent (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ecp_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ecp_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_read_ecp_power (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ecp_power -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_nucleus_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_ang_mom (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_factor (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_shell_factor -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_shell_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_basis_shell_index -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_exponent (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_read_basis_prim_factor (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_basis_prim_factor -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_shell (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: dset(*) - end function trexio_read_ao_shell -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_normalization (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_normalization -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_overlap_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_kinetic_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_potential_n_e_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_ecp_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_ao_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_coefficient_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_coefficient_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_occupation (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_occupation -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_overlap_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_kinetic_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_potential_n_e_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_ecp_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_mo_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_up (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e_up -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_1e_dn (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_rdm_1e_dn -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_a (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_a -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_b (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_b -end interface - -interface - integer(trexio_exit_code) function trexio_read_cell_c (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_cell_c -end interface - -interface - integer(trexio_exit_code) function trexio_read_pbc_k_point (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_pbc_k_point -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_point (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_point -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_psi (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_psi -end interface - -interface - integer(trexio_exit_code) function trexio_read_qmc_e_loc (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(out) :: dset(*) - end function trexio_read_qmc_e_loc -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_ao_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_ao_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_ao_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_ao_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_ao_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_mo_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_mo_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_mo_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_mo_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_mo_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_rdm_2e -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_rdm_2e (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_rdm_2e -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_upup (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_rdm_2e_upup -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_rdm_2e_upup (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_rdm_2e_upup -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_dndn (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_rdm_2e_dndn -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dndn (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_rdm_2e_dndn -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_updn (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_rdm_2e_updn -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_rdm_2e_updn (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_rdm_2e_updn -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_dnup (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - real(c_double), intent(out) :: value_sparse(*) - end function trexio_read_rdm_2e_dnup -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_rdm_2e_dnup (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int32_t), intent(out) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(out) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_read_safe_rdm_2e_dnup -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_ao_2e_int_eri_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_ao_2e_int_eri_lr_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_ao_2e_int_eri_lr_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_mo_2e_int_eri_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_2e_int_eri_lr_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_mo_2e_int_eri_lr_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_rdm_2e_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_upup_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_rdm_2e_upup_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_dndn_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_rdm_2e_dndn_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_updn_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_rdm_2e_updn_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_rdm_2e_dnup_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_rdm_2e_dnup_size -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_code_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_metadata_code_low -end interface - -interface - integer(trexio_exit_code) function trexio_read_metadata_author_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_metadata_author_low -end interface - -interface - integer(trexio_exit_code) function trexio_read_nucleus_label_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_nucleus_label_low -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_class_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_mo_class_low -end interface - -interface - integer(trexio_exit_code) function trexio_read_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_mo_symmetry_low -end interface - -interface - integer(trexio_exit_code) function trexio_read_state_label_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(out) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_read_state_label_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_code_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_code_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_author_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_author_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_unsafe_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_unsafe_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_up_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_up_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_dn_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_dn_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_nucleus_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_repulsion_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in), value :: num - end function trexio_write_nucleus_repulsion_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ecp_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_basis_prim_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_basis_shell_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_cartesian_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ao_cartesian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ao_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_mo_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_state_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_state_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_periodic_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_pbc_periodic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_num_32 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_qmc_num_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_code_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_metadata_code_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_author_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_metadata_author_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_unsafe_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_metadata_unsafe_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_electron_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_up_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_electron_up_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_dn_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_electron_dn_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_nucleus_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_repulsion_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in), value :: num - end function trexio_write_nucleus_repulsion_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_ecp_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_basis_prim_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_basis_shell_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_cartesian_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_ao_cartesian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_ao_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_mo_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_state_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_state_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_periodic_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_pbc_periodic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_num_64 (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: num - end function trexio_write_qmc_num_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_code_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_code_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_author_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_author_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_unsafe (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_metadata_unsafe -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_up_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_up_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_electron_dn_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_electron_dn_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_nucleus_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_repulsion (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in), value :: num - end function trexio_write_nucleus_repulsion -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ecp_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_basis_prim_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_basis_shell_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_cartesian (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ao_cartesian -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_ao_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_mo_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_state_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_state_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_periodic (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_pbc_periodic -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: num - end function trexio_write_qmc_num -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_package_version_c (trex_file, str, max_str_len) & - bind(C, name="trexio_write_metadata_package_version") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_metadata_package_version_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_description_c (trex_file, str, max_str_len) & - bind(C, name="trexio_write_metadata_description") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_metadata_description_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_point_group_c (trex_file, str, max_str_len) & - bind(C, name="trexio_write_nucleus_point_group") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_nucleus_point_group_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_type_c (trex_file, str, max_str_len) & - bind(C, name="trexio_write_basis_type") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_basis_type_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_type_c (trex_file, str, max_str_len) & - bind(C, name="trexio_write_mo_type") - use, intrinsic :: iso_c_binding - import - integer(trexio_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: str(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_mo_type_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_charge_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_nucleus_charge_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_coord_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_nucleus_coord_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_max_ang_mom_plus_1_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_z_core_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_z_core_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_ang_mom_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_ang_mom_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_nucleus_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_exponent_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ecp_exponent_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ecp_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_power_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_power_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_nucleus_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_nucleus_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_ang_mom_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_factor_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_basis_shell_factor_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_index_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_index_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_exponent_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_basis_exponent_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_basis_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_factor_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_basis_prim_factor_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_shell_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ao_shell_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_normalization_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_normalization_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_coefficient_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_coefficient_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_occupation_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_occupation_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian_im_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_rdm_1e_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_up_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_rdm_1e_up_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_dn_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_rdm_1e_dn_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_a_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_cell_a_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_b_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_cell_b_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_c_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_cell_c_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_k_point_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_pbc_k_point_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_point_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_qmc_point_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_psi_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_qmc_psi_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_e_loc_32 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_float), intent(in) :: dset(*) - end function trexio_write_qmc_e_loc_32 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_charge_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_nucleus_charge_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_coord_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_nucleus_coord_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ecp_max_ang_mom_plus_1_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_z_core_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ecp_z_core_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_ang_mom_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ecp_ang_mom_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_nucleus_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ecp_nucleus_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_exponent_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ecp_exponent_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ecp_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_power_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ecp_power_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_nucleus_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_basis_nucleus_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_ang_mom_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_factor_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_shell_factor_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_index_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_index_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_exponent_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_exponent_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_factor_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_prim_factor_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_shell_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in) :: dset(*) - end function trexio_write_ao_shell_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_normalization_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_normalization_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_coefficient_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_coefficient_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_occupation_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_occupation_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian_im_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_up_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e_up_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_dn_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e_dn_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_a_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_a_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_b_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_b_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_c_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_c_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_k_point_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_pbc_k_point_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_point_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_point_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_psi_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_psi_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_e_loc_64 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_e_loc_64 -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_charge (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_nucleus_charge -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_coord (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_nucleus_coord -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_max_ang_mom_plus_1 (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_max_ang_mom_plus_1 -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_z_core (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_z_core -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_ang_mom (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_nucleus_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_exponent (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ecp_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ecp_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_write_ecp_power (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ecp_power -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_nucleus_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_nucleus_index -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_ang_mom (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_ang_mom -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_factor (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_shell_factor -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_shell_index (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_basis_shell_index -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_exponent (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_exponent -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_write_basis_prim_factor (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_basis_prim_factor -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_shell (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in) :: dset(*) - end function trexio_write_ao_shell -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_normalization (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_normalization -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_overlap_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_kinetic_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_potential_n_e_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_ecp_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_ao_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_coefficient_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_coefficient_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_occupation (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_occupation -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_overlap_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_overlap_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_kinetic_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_kinetic_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_potential_n_e_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_potential_n_e_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_ecp_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_ecp_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_1e_int_core_hamiltonian_im (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_mo_1e_int_core_hamiltonian_im -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_up (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e_up -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_1e_dn (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_rdm_1e_dn -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_a (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_a -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_b (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_b -end interface - -interface - integer(trexio_exit_code) function trexio_write_cell_c (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_cell_c -end interface - -interface - integer(trexio_exit_code) function trexio_write_pbc_k_point (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_pbc_k_point -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_point (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_point -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_psi (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_psi -end interface - -interface - integer(trexio_exit_code) function trexio_write_qmc_e_loc (trex_file, dset) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - real(c_double), intent(in) :: dset(*) - end function trexio_write_qmc_e_loc -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_ao_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_ao_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_write_ao_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_ao_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_ao_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_ao_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_mo_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_mo_2e_int_eri -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_mo_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_mo_2e_int_eri_lr (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_mo_2e_int_eri_lr -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_2e (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_rdm_2e -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_rdm_2e (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_rdm_2e -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_2e_upup (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_rdm_2e_upup -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_rdm_2e_upup (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_rdm_2e_upup -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_2e_dndn (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_rdm_2e_dndn -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dndn (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_rdm_2e_dndn -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_2e_updn (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_rdm_2e_updn -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_rdm_2e_updn (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_rdm_2e_updn -end interface - -interface - integer(trexio_exit_code) function trexio_write_rdm_2e_dnup (trex_file, & - offset_file, buffer_size, & - index_sparse, value_sparse) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - real(c_double), intent(in) :: value_sparse(*) - end function trexio_write_rdm_2e_dnup -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_rdm_2e_dnup (trex_file, & - offset_file, buffer_size, & - index_sparse, index_size, & - value_sparse, value_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int32_t), intent(in) :: index_sparse(*) - integer(c_int64_t), intent(in), value :: index_size - real(c_double), intent(in) :: value_sparse(*) - integer(c_int64_t), intent(in), value :: value_size - end function trexio_write_safe_rdm_2e_dnup -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_code_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_metadata_code_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_metadata_author_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_metadata_author_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_nucleus_label_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_nucleus_label_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_class_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_mo_class_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_mo_symmetry_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_mo_symmetry_low -end interface - -interface - integer(trexio_exit_code) function trexio_write_state_label_low (trex_file, dset, max_str_len) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - character(kind=c_char), intent(in) :: dset(*) - integer(c_int32_t), intent(in), value :: max_str_len - end function trexio_write_state_label_low -end interface - -interface - integer(trexio_exit_code) function trexio_has_determinant_list (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_determinant_list -end interface - -interface - integer(trexio_exit_code) function trexio_has_determinant_coefficient (trex_file) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - end function trexio_has_determinant_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_get_int64_num (trex_file, num) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(out) :: num - end function trexio_get_int64_num -end interface -interface - integer(trexio_exit_code) function trexio_read_determinant_list(trex_file, & - offset_file, buffer_size, list) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int64_t), intent(out) :: list(*) - end function trexio_read_determinant_list -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_determinant_list (trex_file, & - offset_file, buffer_size, & - list, list_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - integer(c_int64_t), intent(out) :: list(*) - integer(c_int64_t), intent(in), value :: list_size - end function trexio_read_safe_determinant_list -end interface - -interface - integer(trexio_exit_code) function trexio_read_safe_determinant_coefficient (trex_file, & - offset_file, buffer_size, & - coefficient, coefficient_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - real(c_double), intent(out) :: coefficient(*) - integer(c_int64_t), intent(in), value :: coefficient_size - end function trexio_read_safe_determinant_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_read_determinant_coefficient(trex_file, & - offset_file, buffer_size, coefficient) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(inout) :: buffer_size - real(c_double), intent(out) :: coefficient(*) - end function trexio_read_determinant_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_read_determinant_coefficient_size (trex_file, & - size_max) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(out) :: size_max - end function trexio_read_determinant_coefficient_size -end interface -interface - integer(trexio_exit_code) function trexio_write_determinant_list (trex_file, & - offset_file, buffer_size, list) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int64_t), intent(in) :: list(*) - end function trexio_write_determinant_list -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_determinant_list (trex_file, & - offset_file, buffer_size, & - list, list_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - integer(c_int64_t), intent(in) :: list(*) - integer(c_int64_t), intent(in), value :: list_size - end function trexio_write_safe_determinant_list -end interface - -interface - integer(trexio_exit_code) function trexio_write_determinant_coefficient(trex_file, & - offset_file, buffer_size, coefficient) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - real(c_double), intent(in) :: coefficient(*) - end function trexio_write_determinant_coefficient -end interface - -interface - integer(trexio_exit_code) function trexio_write_safe_determinant_coefficient (trex_file, & - offset_file, buffer_size, & - coefficient, coefficient_size) bind(C) - use, intrinsic :: iso_c_binding - import - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int64_t), intent(in), value :: offset_file - integer(c_int64_t), intent(in), value :: buffer_size - real(c_double), intent(in) :: coefficient(*) - integer(c_int64_t), intent(in), value :: coefficient_size - end function trexio_write_safe_determinant_coefficient -end interface -contains - integer(trexio_t) function trexio_open (filename, mode, back_end, rc_open) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - character(len=*), intent(in) :: filename - character, intent(in), value :: mode - integer(trexio_back_end_t), intent(in), value :: back_end - integer(trexio_exit_code), intent(out) :: rc_open - character(len=len_trim(filename)+1) :: filename_c - integer(trexio_exit_code) :: rc - - filename_c = trim(filename) // c_null_char - trexio_open = trexio_open_c(filename_c, mode, back_end, rc_open) - if (trexio_open == 0_8 .or. rc_open /= TREXIO_SUCCESS) then - return - endif - rc = trexio_set_one_based(trexio_open) - if (rc /= TREXIO_SUCCESS) then - rc = trexio_close(trexio_open) - trexio_open = 0_8 - endif - end function trexio_open - -integer(trexio_exit_code) function trexio_inquire (filename) - use, intrinsic :: iso_c_binding - implicit none - character(len=*), intent(in) :: filename - character(len=len_trim(filename)+1) :: filename_c - - filename_c = trim(filename) // c_null_char - trexio_inquire = trexio_inquire_c(filename_c) -end function trexio_inquire - -integer(trexio_exit_code) function trexio_to_orbital_list(N_int, d1, list, occupied_num) - use, intrinsic :: iso_c_binding - implicit none - - integer(c_int32_t), intent(in), value :: N_int - integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(out) :: list(*) - integer(c_int32_t), intent(out) :: occupied_num - - integer :: i - - trexio_to_orbital_list = trexio_to_orbital_list_c(N_int, d1, list, occupied_num) - if (trexio_to_orbital_list /= TREXIO_SUCCESS) then - return - endif - - do i = 1,occupied_num - list(i) = list(i) + 1 - enddo -end function trexio_to_orbital_list - - -integer(trexio_exit_code) function trexio_to_orbital_list_up_dn(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) - use, intrinsic :: iso_c_binding - implicit none - integer(c_int32_t), intent(in), value :: N_int - integer(c_int64_t), intent(in) :: d1(*) - integer(c_int32_t), intent(out) :: list_up(*) - integer(c_int32_t), intent(out) :: list_dn(*) - integer(c_int32_t), intent(out) :: occ_num_up - integer(c_int32_t), intent(out) :: occ_num_dn - - integer :: i - - trexio_to_orbital_list_up_dn = trexio_to_orbital_list_up_dn_c(N_int, d1, list_up, list_dn, occ_num_up, occ_num_dn) - if (trexio_to_orbital_list_up_dn /= TREXIO_SUCCESS) then - return - endif - - do i = 1,occ_num_up - list_up(i) = list_up(i) + 1 - enddo - do i = 1,occ_num_dn - list_dn(i) = list_dn(i) + 1 - enddo -end function trexio_to_orbital_list_up_dn - -subroutine trexio_strarray2str(str_array, max_num_str, max_len_str, str_res) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - - integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array - integer, intent(in), value :: max_len_str ! maximum length of a string in an array - character(len=*), intent(in) :: str_array(*) - character(len=:), allocatable, intent(out) :: str_res - integer(c_int64_t) :: i - - str_res = '' - do i = 1, max_num_str - str_res = str_res // trim(str_array(i)) // TREXIO_DELIM - enddo - str_res = str_res // c_null_char - -end subroutine trexio_strarray2str - -subroutine trexio_str2strarray(str_flat, max_num_str, max_len_str, str_array) - implicit none - - integer(c_int64_t), intent(in), value :: max_num_str ! number of elements in strign array - integer, intent(in), value :: max_len_str ! maximum length of a string in an array - character(kind=c_char), intent(in) :: str_flat(*) - character(len=*), intent(inout) :: str_array(*) - - character(len=max_len_str) :: tmp_str - integer(c_int64_t) :: i, j, k, ind, len_flat - - len_flat = (max_len_str+1)*max_num_str + 1 - - ind=1 - do i=1,max_num_str - k = 1 - tmp_str='' - do j=ind,len_flat - if (str_flat(j) == TREXIO_DELIM) then - ind=j+1 - exit - endif - tmp_str(k:k) = str_flat(j) - k = k + 1 - enddo - str_array(i)=tmp_str - enddo - -end subroutine trexio_str2strarray - -subroutine trexio_assert(trexio_rc, check_rc, success_message) - implicit none - - integer, intent(in), value :: trexio_rc - integer, intent(in), value :: check_rc - character(len=*), intent(in), optional :: success_message - - character*(128) :: str - - if (trexio_rc == check_rc) then - if (present(success_message)) write(*,*) success_message - else - call trexio_string_of_error(trexio_rc, str) - print *, trim(str) - stop 1 - endif - -end subroutine trexio_assert -integer(trexio_exit_code) function trexio_read_metadata_package_version (trex_file, str, max_str_len) - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character, intent(out) :: str(*) - - trexio_read_metadata_package_version = trexio_read_metadata_package_version_c(trex_file, str, max_str_len) - -end function trexio_read_metadata_package_version - -integer(trexio_exit_code) function trexio_read_metadata_description (trex_file, str, max_str_len) - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character, intent(out) :: str(*) - - trexio_read_metadata_description = trexio_read_metadata_description_c(trex_file, str, max_str_len) - -end function trexio_read_metadata_description - -integer(trexio_exit_code) function trexio_read_nucleus_point_group (trex_file, str, max_str_len) - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character, intent(out) :: str(*) - - trexio_read_nucleus_point_group = trexio_read_nucleus_point_group_c(trex_file, str, max_str_len) - -end function trexio_read_nucleus_point_group - -integer(trexio_exit_code) function trexio_read_basis_type (trex_file, str, max_str_len) - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character, intent(out) :: str(*) - - trexio_read_basis_type = trexio_read_basis_type_c(trex_file, str, max_str_len) - -end function trexio_read_basis_type - -integer(trexio_exit_code) function trexio_read_mo_type (trex_file, str, max_str_len) - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character, intent(out) :: str(*) - - trexio_read_mo_type = trexio_read_mo_type_c(trex_file, str, max_str_len) - -end function trexio_read_mo_type - -integer(trexio_exit_code) function trexio_read_metadata_code (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: metadata_code_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) - if (rc /= TREXIO_SUCCESS) trexio_read_metadata_code = rc - - allocate(str_compiled(metadata_code_num*(max_str_len+1)+1)) - - rc = trexio_read_metadata_code_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_metadata_code = rc - else - call trexio_str2strarray(str_compiled, metadata_code_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_metadata_code = TREXIO_SUCCESS - endif - -end function trexio_read_metadata_code - -integer(trexio_exit_code) function trexio_read_metadata_author (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: metadata_author_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) - if (rc /= TREXIO_SUCCESS) trexio_read_metadata_author = rc - - allocate(str_compiled(metadata_author_num*(max_str_len+1)+1)) - - rc = trexio_read_metadata_author_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_metadata_author = rc - else - call trexio_str2strarray(str_compiled, metadata_author_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_metadata_author = TREXIO_SUCCESS - endif - -end function trexio_read_metadata_author - -integer(trexio_exit_code) function trexio_read_nucleus_label (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: nucleus_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) - if (rc /= TREXIO_SUCCESS) trexio_read_nucleus_label = rc - - allocate(str_compiled(nucleus_num*(max_str_len+1)+1)) - - rc = trexio_read_nucleus_label_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_nucleus_label = rc - else - call trexio_str2strarray(str_compiled, nucleus_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_nucleus_label = TREXIO_SUCCESS - endif - -end function trexio_read_nucleus_label - -integer(trexio_exit_code) function trexio_read_mo_class (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: mo_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_mo_num_64(trex_file, mo_num) - if (rc /= TREXIO_SUCCESS) trexio_read_mo_class = rc - - allocate(str_compiled(mo_num*(max_str_len+1)+1)) - - rc = trexio_read_mo_class_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_mo_class = rc - else - call trexio_str2strarray(str_compiled, mo_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_mo_class = TREXIO_SUCCESS - endif - -end function trexio_read_mo_class - -integer(trexio_exit_code) function trexio_read_mo_symmetry (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: mo_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_mo_num_64(trex_file, mo_num) - if (rc /= TREXIO_SUCCESS) trexio_read_mo_symmetry = rc - - allocate(str_compiled(mo_num*(max_str_len+1)+1)) - - rc = trexio_read_mo_symmetry_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_mo_symmetry = rc - else - call trexio_str2strarray(str_compiled, mo_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_mo_symmetry = TREXIO_SUCCESS - endif - -end function trexio_read_mo_symmetry - -integer(trexio_exit_code) function trexio_read_state_label (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(inout) :: dset(*) - - character, allocatable :: str_compiled(:) - integer(c_int64_t) :: state_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_state_num_64(trex_file, state_num) - if (rc /= TREXIO_SUCCESS) trexio_read_state_label = rc - - allocate(str_compiled(state_num*(max_str_len+1)+1)) - - rc = trexio_read_state_label_low(trex_file, str_compiled, max_str_len) - if (rc /= TREXIO_SUCCESS) then - deallocate(str_compiled) - trexio_read_state_label = rc - else - call trexio_str2strarray(str_compiled, state_num, max_str_len, dset) - deallocate(str_compiled) - trexio_read_state_label = TREXIO_SUCCESS - endif - -end function trexio_read_state_label - -integer(trexio_exit_code) function trexio_write_metadata_package_version (trex_file, str, max_str_len) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: str - - character(len=len_trim(str)+1) :: str_c - - str_c = trim(str) // c_null_char - - trexio_write_metadata_package_version = trexio_write_metadata_package_version_c(trex_file, str_c, max_str_len) - -end function trexio_write_metadata_package_version - -integer(trexio_exit_code) function trexio_write_metadata_description (trex_file, str, max_str_len) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: str - - character(len=len_trim(str)+1) :: str_c - - str_c = trim(str) // c_null_char - - trexio_write_metadata_description = trexio_write_metadata_description_c(trex_file, str_c, max_str_len) - -end function trexio_write_metadata_description - -integer(trexio_exit_code) function trexio_write_nucleus_point_group (trex_file, str, max_str_len) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: str - - character(len=len_trim(str)+1) :: str_c - - str_c = trim(str) // c_null_char - - trexio_write_nucleus_point_group = trexio_write_nucleus_point_group_c(trex_file, str_c, max_str_len) - -end function trexio_write_nucleus_point_group - -integer(trexio_exit_code) function trexio_write_basis_type (trex_file, str, max_str_len) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: str - - character(len=len_trim(str)+1) :: str_c - - str_c = trim(str) // c_null_char - - trexio_write_basis_type = trexio_write_basis_type_c(trex_file, str_c, max_str_len) - -end function trexio_write_basis_type - -integer(trexio_exit_code) function trexio_write_mo_type (trex_file, str, max_str_len) - use, intrinsic :: iso_c_binding, only : c_null_char - implicit none - integer(trexio_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: str - - character(len=len_trim(str)+1) :: str_c - - str_c = trim(str) // c_null_char - - trexio_write_mo_type = trexio_write_mo_type_c(trex_file, str_c, max_str_len) - -end function trexio_write_mo_type - -integer(trexio_exit_code) function trexio_write_metadata_code (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: metadata_code_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_metadata_code_num_64(trex_file, metadata_code_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_metadata_code = rc - else - call trexio_strarray2str(dset, metadata_code_num, max_str_len, str_compiled) - trexio_write_metadata_code = trexio_write_metadata_code_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_metadata_code - -integer(trexio_exit_code) function trexio_write_metadata_author (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: metadata_author_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_metadata_author_num_64(trex_file, metadata_author_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_metadata_author = rc - else - call trexio_strarray2str(dset, metadata_author_num, max_str_len, str_compiled) - trexio_write_metadata_author = trexio_write_metadata_author_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_metadata_author - -integer(trexio_exit_code) function trexio_write_nucleus_label (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: nucleus_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_nucleus_num_64(trex_file, nucleus_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_nucleus_label = rc - else - call trexio_strarray2str(dset, nucleus_num, max_str_len, str_compiled) - trexio_write_nucleus_label = trexio_write_nucleus_label_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_nucleus_label - -integer(trexio_exit_code) function trexio_write_mo_class (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: mo_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_mo_num_64(trex_file, mo_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_mo_class = rc - else - call trexio_strarray2str(dset, mo_num, max_str_len, str_compiled) - trexio_write_mo_class = trexio_write_mo_class_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_mo_class - -integer(trexio_exit_code) function trexio_write_mo_symmetry (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: mo_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_mo_num_64(trex_file, mo_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_mo_symmetry = rc - else - call trexio_strarray2str(dset, mo_num, max_str_len, str_compiled) - trexio_write_mo_symmetry = trexio_write_mo_symmetry_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_mo_symmetry - -integer(trexio_exit_code) function trexio_write_state_label (trex_file, dset, max_str_len) - implicit none - integer(c_int64_t), intent(in), value :: trex_file - integer(c_int32_t), intent(in), value :: max_str_len - character(len=*), intent(in) :: dset(*) - - character(len=:), allocatable :: str_compiled - integer(c_int64_t) :: state_num - integer(trexio_exit_code) :: rc - - rc = trexio_read_state_num_64(trex_file, state_num) - if (rc /= TREXIO_SUCCESS) then - trexio_write_state_label = rc - else - call trexio_strarray2str(dset, state_num, max_str_len, str_compiled) - trexio_write_state_label = trexio_write_state_label_low(trex_file, str_compiled, max_str_len) - endif - -end function trexio_write_state_label - -end module trexio diff --git a/devel/trexio/trexio_module.F90 b/devel/trexio/trexio_module.F90 new file mode 100644 index 0000000..acd0849 --- /dev/null +++ b/devel/trexio/trexio_module.F90 @@ -0,0 +1 @@ +#include "trexio_f.f90" diff --git a/devel/trexio/uninstall b/devel/trexio/uninstall index 51d6759..ab20729 100755 --- a/devel/trexio/uninstall +++ b/devel/trexio/uninstall @@ -12,9 +12,9 @@ scripts_list="qp_import_trexio.py " # Destroy ONLY the symbolic link for the scripts to be used in the # ${QP_ROOT}/scripts/ directory. - for i in $scripts_list - do +for i in $scripts_list +do find ${QP_ROOT}/scripts/$i -type l -delete - done +done From c379376737c336ea72ea2b27e66a5c922104ee88 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 30 Nov 2022 17:36:02 +0100 Subject: [PATCH 14/17] Commented MO energies --- devel/trexio/export_trexio.irp.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f index b364d18..f537fbc 100644 --- a/devel/trexio/export_trexio.irp.f +++ b/devel/trexio/export_trexio.irp.f @@ -340,10 +340,10 @@ subroutine run rc = trexio_write_mo_coefficient(f, mo_coef) call trexio_assert(rc, TREXIO_SUCCESS) - if (trim(mo_label) == 'Canonical') then - rc = trexio_write_mo_energy(f, fock_matrix_diag_mo) - call trexio_assert(rc, TREXIO_SUCCESS) - endif +! if (trim(mo_label) == 'Canonical') then +! rc = trexio_write_mo_energy(f, fock_matrix_diag_mo) +! call trexio_assert(rc, TREXIO_SUCCESS) +! endif ! One-e MO integrals From ec1a0e8af4c2fdebc0883b01aeb2c4b4adeb6405 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 30 Nov 2022 17:38:02 +0100 Subject: [PATCH 15/17] Removed LIB --- devel/trexio/LIB | 1 - 1 file changed, 1 deletion(-) delete mode 100644 devel/trexio/LIB diff --git a/devel/trexio/LIB b/devel/trexio/LIB deleted file mode 100644 index 70c4088..0000000 --- a/devel/trexio/LIB +++ /dev/null @@ -1 +0,0 @@ --L/home/scemama/qp2/lib -L/usr/lib/x86_64-linux-gnu/hdf5/serial -ltrexio -lhdf5 From d8b80f4b550209b28ff311037efdb9276bbbf4f2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 5 Dec 2022 17:44:07 +0100 Subject: [PATCH 16/17] Fix trexio->QP converter --- devel/trexio/import_trexio_integrals.irp.f | 9 ++-- devel/trexio/install | 10 ++++ devel/trexio/qp_import_trexio.py | 56 ++++++++++++++-------- devel/trexio/uninstall | 2 +- 4 files changed, 52 insertions(+), 25 deletions(-) diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f index 53737d5..e147125 100644 --- a/devel/trexio/import_trexio_integrals.irp.f +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -24,7 +24,8 @@ subroutine run double precision, allocatable :: A(:,:) double precision, allocatable :: V(:) integer , allocatable :: Vi(:,:) - double precision, allocatable :: s + double precision :: s + PROVIDE ao_num f = trexio_open(trexio_filename, 'r', TREXIO_AUTO, rc) if (f == 0_8) then @@ -37,8 +38,9 @@ subroutine run if (trexio_has_nucleus_repulsion(f) == TREXIO_SUCCESS) then rc = trexio_read_nucleus_repulsion(f, s) + call trexio_assert(rc, TREXIO_SUCCESS) if (rc /= TREXIO_SUCCESS) then - print *, irp_here + print *, irp_here, rc print *, 'Error reading nuclear repulsion' stop -1 endif @@ -100,6 +102,7 @@ subroutine run ! AO 2e integrals ! --------------- + PROVIDE ao_integrals_map allocate(buffer_i(ao_num**3), buffer_values(ao_num**3)) allocate(Vi(4,ao_num**3), V(ao_num**3)) @@ -107,7 +110,7 @@ subroutine run integer*8 :: offset, icount offset = 0_8 - icount = 0_8 + icount = size(V) rc = TREXIO_SUCCESS do while (icount == size(V)) rc = trexio_read_ao_2e_int_eri(f, offset, icount, Vi, V) diff --git a/devel/trexio/install b/devel/trexio/install index a5171e0..edc5e26 100755 --- a/devel/trexio/install +++ b/devel/trexio/install @@ -10,4 +10,14 @@ fi pkg-config --libs trexio > LIB +scripts_list="qp_import_trexio.py" + +# Destroy ONLY the symbolic link for the scripts to be used in the +# ${QP_ROOT}/scripts/ directory. +for i in $scripts_list +do + find ${QP_ROOT}/scripts/$i -type l -delete +done + +# Create symlink in scripts ln --symbolic ${PWD}/qp_import_trexio.py $QP_ROOT/scripts diff --git a/devel/trexio/qp_import_trexio.py b/devel/trexio/qp_import_trexio.py index 9de0940..4f691ea 100755 --- a/devel/trexio/qp_import_trexio.py +++ b/devel/trexio/qp_import_trexio.py @@ -68,21 +68,13 @@ def write_ezfio(trexio_filename, filename): trexio_file = trexio.File(trexio_filename,mode='r',back_end=trexio.TREXIO_HDF5) basis_type = trexio.read_basis_type(trexio_file) - if basis_type.lower() != "gaussian": - raise TypeError +# if basis_type.lower() != "gaussian": +# raise TypeError ezfio.set_file(filename) + ezfio.set_trexio_trexio_file(trexio_filename) - print("Electrons\t...\t", end=' ') - - num_alpha = trexio.read_electron_up_num(trexio_file) - num_beta = trexio.read_electron_dn_num(trexio_file) - ezfio.set_electrons_elec_alpha_num(num_alpha) - ezfio.set_electrons_elec_beta_num(num_beta) - - print("OK") - print("Nuclei\t\t...\t", end=' ') @@ -106,6 +98,23 @@ def write_ezfio(trexio_filename, filename): print("OK") + print("Electrons\t...\t", end=' ') + + try: + num_beta = trexio.read_electron_dn_num(trexio_file) + except: + num_beta = sum(charge)//2 + + try: + num_alpha = trexio.read_electron_up_num(trexio_file) + except: + num_alpha = sum(charge) - num_beta + + ezfio.set_electrons_elec_alpha_num(num_alpha) + ezfio.set_electrons_elec_beta_num(num_beta) + + print("OK") + print("Basis\t\t...\t", end=' ') ezfio.set_basis_basis("Read from TREXIO") @@ -229,6 +238,7 @@ def write_ezfio(trexio_filename, filename): coef.append(coefficient[j]) expo.append(exponent[j]) + ezfio.set_ao_basis_ao_prim_num_max(prim_num_max) ezfio.set_ao_basis_ao_coef(coef) ezfio.set_ao_basis_ao_expo(expo) ezfio.set_ao_basis_ao_basis("Read from TREXIO") @@ -265,17 +275,21 @@ def write_ezfio(trexio_filename, filename): except trexio.Error: pass - MoMatrix = trexio.read_mo_coefficient(trexio_file) - mo_num = trexio.read_mo_num(trexio_file) + try: + mo_num = trexio.read_mo_num(trexio_file) + ezfio.set_mo_basis_mo_num(mo_num) - ezfio.set_mo_basis_mo_num(mo_num) - ezfio.set_mo_basis_mo_coef(MoMatrix) - mo_occ = [ 0. for i in range(mo_num) ] - for i in range(num_alpha): - mo_occ[i] += 1. - for i in range(num_beta): - mo_occ[i] += 1. - ezfio.set_mo_basis_mo_occ(mo_occ) + MoMatrix = trexio.read_mo_coefficient(trexio_file) + ezfio.set_mo_basis_mo_coef(MoMatrix) + + mo_occ = [ 0. for i in range(mo_num) ] + for i in range(num_alpha): + mo_occ[i] += 1. + for i in range(num_beta): + mo_occ[i] += 1. + ezfio.set_mo_basis_mo_occ(mo_occ) + except: + pass print("OK") diff --git a/devel/trexio/uninstall b/devel/trexio/uninstall index ab20729..9c9f0f1 100755 --- a/devel/trexio/uninstall +++ b/devel/trexio/uninstall @@ -8,7 +8,7 @@ then exit -1 fi -scripts_list="qp_import_trexio.py " +scripts_list="qp_import_trexio.py" # Destroy ONLY the symbolic link for the scripts to be used in the # ${QP_ROOT}/scripts/ directory. From 2d20035e0260b8f116d20aa775352d7285b6f1d9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 7 Dec 2022 09:53:26 +0100 Subject: [PATCH 17/17] Update read integrals --- devel/trexio/import_trexio_integrals.irp.f | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/devel/trexio/import_trexio_integrals.irp.f b/devel/trexio/import_trexio_integrals.irp.f index e147125..865f95c 100644 --- a/devel/trexio/import_trexio_integrals.irp.f +++ b/devel/trexio/import_trexio_integrals.irp.f @@ -104,19 +104,19 @@ subroutine run ! --------------- PROVIDE ao_integrals_map - allocate(buffer_i(ao_num**3), buffer_values(ao_num**3)) - allocate(Vi(4,ao_num**3), V(ao_num**3)) + integer*4 :: BUFSIZE + BUFSIZE=ao_num**2 + allocate(buffer_i(BUFSIZE), buffer_values(BUFSIZE)) + allocate(Vi(4,BUFSIZE), V(BUFSIZE)) integer*8 :: offset, icount + open(unit=104,file='tmp') offset = 0_8 - icount = size(V) + icount = BUFSIZE rc = TREXIO_SUCCESS do while (icount == size(V)) rc = trexio_read_ao_2e_int_eri(f, offset, icount, Vi, V) - if (rc /= TREXIO_SUCCESS) then - exit - endif do m=1,icount i = Vi(1,m) j = Vi(2,m) @@ -125,11 +125,16 @@ subroutine run integral = V(m) call two_e_integrals_index(i, j, k, l, buffer_i(m) ) buffer_values(m) = integral + write(104,'(4(I5,X),2D22.15)') i,j,k,l, integral enddo call insert_into_ao_integrals_map(int(icount,4),buffer_i,buffer_values) offset = offset + icount + if (rc /= TREXIO_SUCCESS) then + exit + endif end do n_integrals = offset + close(104) call map_sort(ao_integrals_map) call map_unique(ao_integrals_map)