module trexio use, intrinsic :: iso_c_binding implicit none integer, parameter :: trexio_exit_code = 4 integer, parameter :: TREXIO_HDF5 = 0 integer, parameter :: TREXIO_TEXT = 1 ! integer, parameter :: TREXIO_JSON = 2 integer, parameter :: TREXIO_INVALID_BACK_END = 2 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 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) end subroutine trexio_string_of_error end interface interface integer(8) function trexio_open_c (filename, mode, backend) bind(C, name="trexio_open") use, intrinsic :: iso_c_binding character(kind=c_char), dimension(*) :: filename character, intent(in), value :: mode integer, intent(in), value :: backend end function trexio_open_c end interface interface integer function trexio_close (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_close end interface interface integer function trexio_has_nucleus_charge (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_nucleus_charge end interface interface integer function trexio_has_nucleus_coord (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_nucleus_coord end interface interface integer function trexio_has_ecp_lmax_plus_1 (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_lmax_plus_1 end interface interface integer function trexio_has_ecp_z_core (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_z_core end interface interface integer function trexio_has_ecp_local_n (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_n end interface interface integer function trexio_has_ecp_local_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_exponent end interface interface integer function trexio_has_ecp_local_coef (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_coef end interface interface integer function trexio_has_ecp_local_power (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_power end interface interface integer function trexio_has_ecp_non_local_n (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_n end interface interface integer function trexio_has_ecp_non_local_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_exponent end interface interface integer function trexio_has_ecp_non_local_coef (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_coef end interface interface integer function trexio_has_ecp_non_local_power (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_power end interface interface integer function trexio_has_basis_shell_factor (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_shell_factor end interface interface integer function trexio_has_basis_shell_center (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_shell_center end interface interface integer function trexio_has_basis_shell_ang_mom (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_shell_ang_mom end interface interface integer function trexio_has_basis_shell_prim_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_shell_prim_num end interface interface integer function trexio_has_basis_prim_index (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_prim_index end interface interface integer function trexio_has_basis_exponent (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_exponent end interface interface integer function trexio_has_basis_coefficient (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_coefficient end interface interface integer function trexio_has_ao_shell (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ao_shell end interface interface integer function trexio_has_ao_normalization (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), 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) use, intrinsic :: iso_c_binding integer(8), 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) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ao_1e_int_kinetic end interface interface integer function trexio_has_ao_1e_int_potential (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ao_1e_int_potential end interface interface integer function trexio_has_ao_1e_int_ecp_local (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 end interface interface integer 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 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 end function trexio_has_ao_1e_int_core_hamiltonian end interface interface integer function trexio_has_ao_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ao_2e_int_eri end interface interface integer function trexio_has_mo_coef (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_coef end interface interface integer function trexio_has_mo_occupation (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_occupation end interface interface integer function trexio_has_mo_1e_int_kinetic (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_1e_int_kinetic end interface interface integer function trexio_has_mo_1e_int_potential (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_1e_int_potential end interface interface integer function trexio_has_mo_1e_int_ecp_local (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 end interface interface integer 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 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 end function trexio_has_mo_1e_int_core_hamiltonian end interface interface integer function trexio_has_mo_2e_int_eri (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_2e_int_eri end interface interface integer function trexio_has_nucleus_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_nucleus_num end interface interface integer function trexio_has_ecp_local_num_n_max (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_local_num_n_max end interface interface integer function trexio_has_ecp_non_local_num_n_max (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ecp_non_local_num_n_max end interface interface integer function trexio_has_basis_shell_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_shell_num end interface interface integer function trexio_has_basis_prim_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_basis_prim_num end interface interface integer function trexio_has_ao_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_ao_num end interface interface integer function trexio_has_mo_num (trex_file) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file end function trexio_has_mo_num end interface interface integer 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(*) end function trexio_read_nucleus_charge_32 end interface interface integer 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(*) end function trexio_read_nucleus_coord_32 end interface interface integer function trexio_read_ecp_lmax_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(*) end function trexio_read_ecp_lmax_plus_1_32 end interface interface integer 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(*) end function trexio_read_ecp_z_core_32 end interface interface integer function trexio_read_ecp_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_ecp_local_n_32 end interface interface integer function trexio_read_ecp_local_exponent_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_ecp_local_exponent_32 end interface interface integer function trexio_read_ecp_local_coef_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_ecp_local_coef_32 end interface interface integer function trexio_read_ecp_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_ecp_local_power_32 end interface interface integer function trexio_read_ecp_non_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n_32 end interface interface integer function trexio_read_ecp_non_local_exponent_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_ecp_non_local_exponent_32 end interface interface integer function trexio_read_ecp_non_local_coef_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_ecp_non_local_coef_32 end interface interface integer function trexio_read_ecp_non_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power_32 end interface interface integer 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(*) end function trexio_read_basis_shell_factor_32 end interface interface integer function trexio_read_basis_shell_center_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_basis_shell_center_32 end interface interface integer 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(*) end function trexio_read_basis_shell_ang_mom_32 end interface interface integer function trexio_read_basis_shell_prim_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_num_32 end interface interface integer function trexio_read_basis_prim_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: dset(*) end function trexio_read_basis_prim_index_32 end interface interface integer 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(*) end function trexio_read_basis_exponent_32 end interface interface integer 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(*) end function trexio_read_basis_coefficient_32 end interface interface integer 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(*) end function trexio_read_ao_shell_32 end interface interface integer 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(*) end function trexio_read_ao_normalization_32 end interface interface integer 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(*) 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) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file real(4), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_32 end interface interface integer function trexio_read_ao_1e_int_potential_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_potential_32 end interface interface integer 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(*) 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) 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(*) end function trexio_read_ao_1e_int_core_hamiltonian_32 end interface interface integer function trexio_read_ao_2e_int_eri_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_2e_int_eri_32 end interface interface integer function trexio_read_mo_coef_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_coef_32 end interface interface integer 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(*) end function trexio_read_mo_occupation_32 end interface interface integer 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(*) end function trexio_read_mo_1e_int_kinetic_32 end interface interface integer function trexio_read_mo_1e_int_potential_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_potential_32 end interface interface integer 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(*) 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) 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(*) end function trexio_read_mo_1e_int_core_hamiltonian_32 end interface interface integer function trexio_read_mo_2e_int_eri_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_2e_int_eri_32 end interface interface integer 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(*) end function trexio_read_nucleus_charge_64 end interface interface integer 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(*) end function trexio_read_nucleus_coord_64 end interface interface integer function trexio_read_ecp_lmax_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(*) end function trexio_read_ecp_lmax_plus_1_64 end interface interface integer 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(*) end function trexio_read_ecp_z_core_64 end interface interface integer function trexio_read_ecp_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_n_64 end interface interface integer function trexio_read_ecp_local_exponent_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_ecp_local_exponent_64 end interface interface integer function trexio_read_ecp_local_coef_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_ecp_local_coef_64 end interface interface integer function trexio_read_ecp_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_power_64 end interface interface integer function trexio_read_ecp_non_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n_64 end interface interface integer function trexio_read_ecp_non_local_exponent_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_ecp_non_local_exponent_64 end interface interface integer function trexio_read_ecp_non_local_coef_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_ecp_non_local_coef_64 end interface interface integer function trexio_read_ecp_non_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power_64 end interface interface integer 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(*) end function trexio_read_basis_shell_factor_64 end interface interface integer function trexio_read_basis_shell_center_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_center_64 end interface interface integer 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(*) end function trexio_read_basis_shell_ang_mom_64 end interface interface integer function trexio_read_basis_shell_prim_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_num_64 end interface interface integer function trexio_read_basis_prim_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_prim_index_64 end interface interface integer 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(*) end function trexio_read_basis_exponent_64 end interface interface integer 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(*) end function trexio_read_basis_coefficient_64 end interface interface integer 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(*) end function trexio_read_ao_shell_64 end interface interface integer 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(*) end function trexio_read_ao_normalization_64 end interface interface integer 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(*) 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) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file real(8), intent(out) :: dset(*) end function trexio_read_ao_1e_int_kinetic_64 end interface interface integer function trexio_read_ao_1e_int_potential_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_potential_64 end interface interface integer 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(*) 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) 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(*) end function trexio_read_ao_1e_int_core_hamiltonian_64 end interface interface integer function trexio_read_ao_2e_int_eri_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_2e_int_eri_64 end interface interface integer function trexio_read_mo_coef_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_coef_64 end interface interface integer 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(*) end function trexio_read_mo_occupation_64 end interface interface integer 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(*) end function trexio_read_mo_1e_int_kinetic_64 end interface interface integer function trexio_read_mo_1e_int_potential_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_potential_64 end interface interface integer 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(*) 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) 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(*) end function trexio_read_mo_1e_int_core_hamiltonian_64 end interface interface integer function trexio_read_mo_2e_int_eri_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_2e_int_eri_64 end interface interface integer 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(*) end function trexio_read_nucleus_charge end interface interface integer 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(*) end function trexio_read_nucleus_coord end interface interface integer function trexio_read_ecp_lmax_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_lmax_plus_1 end interface interface integer function trexio_read_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_z_core end interface interface integer function trexio_read_ecp_local_n (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_n end interface interface integer function trexio_read_ecp_local_exponent (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_ecp_local_exponent end interface interface integer function trexio_read_ecp_local_coef (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_ecp_local_coef end interface interface integer function trexio_read_ecp_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_local_power end interface interface integer function trexio_read_ecp_non_local_n (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_n end interface interface integer function trexio_read_ecp_non_local_exponent (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_ecp_non_local_exponent end interface interface integer function trexio_read_ecp_non_local_coef (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_ecp_non_local_coef end interface interface integer function trexio_read_ecp_non_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ecp_non_local_power end interface interface integer 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(*) end function trexio_read_basis_shell_factor end interface interface integer function trexio_read_basis_shell_center (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_center end interface interface integer 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(8), intent(out) :: dset(*) end function trexio_read_basis_shell_ang_mom end interface interface integer function trexio_read_basis_shell_prim_num (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_shell_prim_num end interface interface integer function trexio_read_basis_prim_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_basis_prim_index end interface interface integer 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(*) end function trexio_read_basis_exponent end interface interface integer 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(*) end function trexio_read_basis_coefficient end interface interface integer function trexio_read_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: dset(*) end function trexio_read_ao_shell end interface interface integer 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(*) end function trexio_read_ao_normalization end interface interface integer 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(*) end function trexio_read_ao_1e_int_overlap end interface interface integer 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(*) end function trexio_read_ao_1e_int_kinetic end interface interface integer function trexio_read_ao_1e_int_potential (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_potential end interface interface integer 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(*) 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) 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(*) end function trexio_read_ao_1e_int_core_hamiltonian end interface interface integer function trexio_read_ao_2e_int_eri (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_2e_int_eri end interface interface integer function trexio_read_mo_coef (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_coef end interface interface integer 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(*) end function trexio_read_mo_occupation end interface interface integer 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(*) end function trexio_read_mo_1e_int_kinetic end interface interface integer function trexio_read_mo_1e_int_potential (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_potential end interface interface integer 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(*) 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) 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(*) end function trexio_read_mo_1e_int_core_hamiltonian end interface interface integer function trexio_read_mo_2e_int_eri (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_2e_int_eri end interface interface integer 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 end function trexio_read_nucleus_num_32 end interface interface integer function trexio_read_ecp_local_num_n_max_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: num end function trexio_read_ecp_local_num_n_max_32 end interface interface integer function trexio_read_ecp_non_local_num_n_max_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: num end function trexio_read_ecp_non_local_num_n_max_32 end interface interface integer 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 end function trexio_read_basis_shell_num_32 end interface interface integer 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 end function trexio_read_basis_prim_num_32 end interface interface integer 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 end function trexio_read_ao_num_32 end interface interface integer 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 end function trexio_read_mo_num_32 end interface interface integer 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 end function trexio_read_nucleus_num_64 end interface interface integer function trexio_read_ecp_local_num_n_max_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: num end function trexio_read_ecp_local_num_n_max_64 end interface interface integer function trexio_read_ecp_non_local_num_n_max_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(out) :: num end function trexio_read_ecp_non_local_num_n_max_64 end interface interface integer 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 end function trexio_read_basis_shell_num_64 end interface interface integer 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 end function trexio_read_basis_prim_num_64 end interface interface integer 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 end function trexio_read_ao_num_64 end interface interface integer 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 end function trexio_read_mo_num_64 end interface interface integer 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 end function trexio_read_nucleus_num end interface interface integer function trexio_read_ecp_local_num_n_max (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: num end function trexio_read_ecp_local_num_n_max end interface interface integer function trexio_read_ecp_non_local_num_n_max (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(out) :: num end function trexio_read_ecp_non_local_num_n_max end interface interface integer 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 end function trexio_read_basis_shell_num end interface interface integer 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 end function trexio_read_basis_prim_num end interface interface integer 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 end function trexio_read_ao_num end interface interface integer 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 end function trexio_read_mo_num end interface interface integer 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(*) end function trexio_write_nucleus_charge_32 end interface interface integer 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(*) end function trexio_write_nucleus_coord_32 end interface interface integer function trexio_write_ecp_lmax_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(*) end function trexio_write_ecp_lmax_plus_1_32 end interface interface integer 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(*) end function trexio_write_ecp_z_core_32 end interface interface integer function trexio_write_ecp_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_ecp_local_n_32 end interface interface integer function trexio_write_ecp_local_exponent_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_ecp_local_exponent_32 end interface interface integer function trexio_write_ecp_local_coef_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_ecp_local_coef_32 end interface interface integer function trexio_write_ecp_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_ecp_local_power_32 end interface interface integer function trexio_write_ecp_non_local_n_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n_32 end interface interface integer function trexio_write_ecp_non_local_exponent_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_ecp_non_local_exponent_32 end interface interface integer function trexio_write_ecp_non_local_coef_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_ecp_non_local_coef_32 end interface interface integer function trexio_write_ecp_non_local_power_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power_32 end interface interface integer 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(*) end function trexio_write_basis_shell_factor_32 end interface interface integer function trexio_write_basis_shell_center_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_basis_shell_center_32 end interface interface integer 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(*) end function trexio_write_basis_shell_ang_mom_32 end interface interface integer function trexio_write_basis_shell_prim_num_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_num_32 end interface interface integer function trexio_write_basis_prim_index_32 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in) :: dset(*) end function trexio_write_basis_prim_index_32 end interface interface integer 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(*) end function trexio_write_basis_exponent_32 end interface interface integer 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(*) end function trexio_write_basis_coefficient_32 end interface interface integer 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(*) end function trexio_write_ao_shell_32 end interface interface integer 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(*) end function trexio_write_ao_normalization_32 end interface interface integer 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(*) 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) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file real(4), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_32 end interface interface integer function trexio_write_ao_1e_int_potential_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_potential_32 end interface interface integer 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(*) 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) 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(*) end function trexio_write_ao_1e_int_core_hamiltonian_32 end interface interface integer function trexio_write_ao_2e_int_eri_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_2e_int_eri_32 end interface interface integer function trexio_write_mo_coef_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_coef_32 end interface interface integer 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(*) end function trexio_write_mo_occupation_32 end interface interface integer 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(*) end function trexio_write_mo_1e_int_kinetic_32 end interface interface integer function trexio_write_mo_1e_int_potential_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_potential_32 end interface interface integer 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(*) 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) 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(*) end function trexio_write_mo_1e_int_core_hamiltonian_32 end interface interface integer function trexio_write_mo_2e_int_eri_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_2e_int_eri_32 end interface interface integer 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(*) end function trexio_write_nucleus_charge_64 end interface interface integer 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(*) end function trexio_write_nucleus_coord_64 end interface interface integer function trexio_write_ecp_lmax_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(*) end function trexio_write_ecp_lmax_plus_1_64 end interface interface integer 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(*) end function trexio_write_ecp_z_core_64 end interface interface integer function trexio_write_ecp_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_n_64 end interface interface integer function trexio_write_ecp_local_exponent_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_ecp_local_exponent_64 end interface interface integer function trexio_write_ecp_local_coef_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_ecp_local_coef_64 end interface interface integer function trexio_write_ecp_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_power_64 end interface interface integer function trexio_write_ecp_non_local_n_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n_64 end interface interface integer function trexio_write_ecp_non_local_exponent_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_ecp_non_local_exponent_64 end interface interface integer function trexio_write_ecp_non_local_coef_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_ecp_non_local_coef_64 end interface interface integer function trexio_write_ecp_non_local_power_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power_64 end interface interface integer 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(*) end function trexio_write_basis_shell_factor_64 end interface interface integer function trexio_write_basis_shell_center_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_center_64 end interface interface integer 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(*) end function trexio_write_basis_shell_ang_mom_64 end interface interface integer function trexio_write_basis_shell_prim_num_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_num_64 end interface interface integer function trexio_write_basis_prim_index_64 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_prim_index_64 end interface interface integer 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(*) end function trexio_write_basis_exponent_64 end interface interface integer 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(*) end function trexio_write_basis_coefficient_64 end interface interface integer 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(*) end function trexio_write_ao_shell_64 end interface interface integer 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(*) end function trexio_write_ao_normalization_64 end interface interface integer 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(*) 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) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file real(8), intent(in) :: dset(*) end function trexio_write_ao_1e_int_kinetic_64 end interface interface integer function trexio_write_ao_1e_int_potential_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_potential_64 end interface interface integer 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(*) 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) 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(*) end function trexio_write_ao_1e_int_core_hamiltonian_64 end interface interface integer function trexio_write_ao_2e_int_eri_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_2e_int_eri_64 end interface interface integer function trexio_write_mo_coef_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_coef_64 end interface interface integer 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(*) end function trexio_write_mo_occupation_64 end interface interface integer 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(*) end function trexio_write_mo_1e_int_kinetic_64 end interface interface integer function trexio_write_mo_1e_int_potential_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_potential_64 end interface interface integer 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(*) 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) 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(*) end function trexio_write_mo_1e_int_core_hamiltonian_64 end interface interface integer function trexio_write_mo_2e_int_eri_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_2e_int_eri_64 end interface interface integer 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(*) end function trexio_write_nucleus_charge end interface interface integer 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(*) end function trexio_write_nucleus_coord end interface interface integer function trexio_write_ecp_lmax_plus_1 (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_lmax_plus_1 end interface interface integer function trexio_write_ecp_z_core (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_z_core end interface interface integer function trexio_write_ecp_local_n (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_n end interface interface integer function trexio_write_ecp_local_exponent (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_ecp_local_exponent end interface interface integer function trexio_write_ecp_local_coef (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_ecp_local_coef end interface interface integer function trexio_write_ecp_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_local_power end interface interface integer function trexio_write_ecp_non_local_n (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_n end interface interface integer function trexio_write_ecp_non_local_exponent (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_ecp_non_local_exponent end interface interface integer function trexio_write_ecp_non_local_coef (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_ecp_non_local_coef end interface interface integer function trexio_write_ecp_non_local_power (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ecp_non_local_power end interface interface integer 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(*) end function trexio_write_basis_shell_factor end interface interface integer function trexio_write_basis_shell_center (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_center end interface interface integer 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(8), intent(in) :: dset(*) end function trexio_write_basis_shell_ang_mom end interface interface integer function trexio_write_basis_shell_prim_num (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_shell_prim_num end interface interface integer function trexio_write_basis_prim_index (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_basis_prim_index end interface interface integer 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(*) end function trexio_write_basis_exponent end interface interface integer 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(*) end function trexio_write_basis_coefficient end interface interface integer function trexio_write_ao_shell (trex_file, dset) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in) :: dset(*) end function trexio_write_ao_shell end interface interface integer 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(*) end function trexio_write_ao_normalization end interface interface integer 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(*) end function trexio_write_ao_1e_int_overlap end interface interface integer 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(*) end function trexio_write_ao_1e_int_kinetic end interface interface integer function trexio_write_ao_1e_int_potential (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_potential end interface interface integer 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(*) 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) 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(*) end function trexio_write_ao_1e_int_core_hamiltonian end interface interface integer function trexio_write_ao_2e_int_eri (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_2e_int_eri end interface interface integer function trexio_write_mo_coef (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_coef end interface interface integer 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(*) end function trexio_write_mo_occupation end interface interface integer 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(*) end function trexio_write_mo_1e_int_kinetic end interface interface integer function trexio_write_mo_1e_int_potential (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_potential end interface interface integer 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(*) 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) 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(*) end function trexio_write_mo_1e_int_core_hamiltonian end interface interface integer function trexio_write_mo_2e_int_eri (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_2e_int_eri end interface interface integer 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 end function trexio_write_nucleus_num_32 end interface interface integer function trexio_write_ecp_local_num_n_max_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in), value :: num end function trexio_write_ecp_local_num_n_max_32 end interface interface integer function trexio_write_ecp_non_local_num_n_max_32 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in), value :: num end function trexio_write_ecp_non_local_num_n_max_32 end interface interface integer 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 end function trexio_write_basis_shell_num_32 end interface interface integer 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 end function trexio_write_basis_prim_num_32 end interface interface integer 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 end function trexio_write_ao_num_32 end interface interface integer 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 end function trexio_write_mo_num_32 end interface interface integer 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 end function trexio_write_nucleus_num_64 end interface interface integer function trexio_write_ecp_local_num_n_max_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in), value :: num end function trexio_write_ecp_local_num_n_max_64 end interface interface integer function trexio_write_ecp_non_local_num_n_max_64 (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(8), intent(in), value :: num end function trexio_write_ecp_non_local_num_n_max_64 end interface interface integer 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 end function trexio_write_basis_shell_num_64 end interface interface integer 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 end function trexio_write_basis_prim_num_64 end interface interface integer 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 end function trexio_write_ao_num_64 end interface interface integer 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 end function trexio_write_mo_num_64 end interface interface integer 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 end function trexio_write_nucleus_num end interface interface integer function trexio_write_ecp_local_num_n_max (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in), value :: num end function trexio_write_ecp_local_num_n_max end interface interface integer function trexio_write_ecp_non_local_num_n_max (trex_file, num) bind(C) use, intrinsic :: iso_c_binding integer(8), intent(in), value :: trex_file integer(4), intent(in), value :: num end function trexio_write_ecp_non_local_num_n_max end interface interface integer 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 end function trexio_write_basis_shell_num end interface interface integer 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 end function trexio_write_basis_prim_num end interface interface integer 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 end function trexio_write_ao_num end interface interface integer 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 end function trexio_write_mo_num end interface contains integer(8) function trexio_open (filename, mode, backend) use, intrinsic :: iso_c_binding implicit none character(len=*) :: filename character, intent(in), value :: mode integer, intent(in), value :: backend character(len=len_trim(filename)+1) :: filename_c filename_c = trim(filename) // c_null_char trexio_open = trexio_open_c(filename_c, mode, backend) end function trexio_open end module trexio