From 5fcb287955fade9715d7a6a7ecac0ddc98364bbc Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 5 May 2021 17:15:14 +0200 Subject: [PATCH] Start writing trexio file --- devel/mpn/generate_fci.irp.f | 8 + devel/trexio/EZFIO.cfg | 6 + devel/trexio/LIB | 2 + devel/trexio/NEED | 2 + devel/trexio/README.rst | 4 + devel/trexio/export_trexio.irp.f | 18 + devel/trexio/trexio.irp.f | 8 + devel/trexio/trexio_f.f90 | 2129 ++++++++++++++++++++++++++++++ 8 files changed, 2177 insertions(+) create mode 100644 devel/trexio/EZFIO.cfg create mode 100644 devel/trexio/LIB create mode 100644 devel/trexio/NEED create mode 100644 devel/trexio/README.rst create mode 100644 devel/trexio/export_trexio.irp.f create mode 100644 devel/trexio/trexio.irp.f create mode 100644 devel/trexio/trexio_f.f90 diff --git a/devel/mpn/generate_fci.irp.f b/devel/mpn/generate_fci.irp.f index 6a381f2..5108862 100644 --- a/devel/mpn/generate_fci.irp.f +++ b/devel/mpn/generate_fci.irp.f @@ -40,7 +40,11 @@ subroutine generate_fci_space endif t = ior(u,u-1) t1 = t+1 +IRP_IF WITHOUT_TRAILZ + t2 = shiftr((iand(not(t),t1)-1), popcnt(ieor(u,u-1))) +IRP_ELSE t2 = shiftr((iand(not(t),t1)-1), trailz(u)+1) +IRP_ENDIF u = ior(t1,t2) enddo @@ -59,7 +63,11 @@ subroutine generate_fci_space endif t = ior(u,u-1) t1 = t+1 +IRP_IF WITHOUT_TRAILZ + t2 = shiftr((iand(not(t),t1)-1), popcnt(ieor(u,u-1))) +IRP_ELSE t2 = shiftr((iand(not(t),t1)-1), trailz(u)+1) +IRP_ENDIF u = ior(t1,t2) enddo diff --git a/devel/trexio/EZFIO.cfg b/devel/trexio/EZFIO.cfg new file mode 100644 index 0000000..6fb6815 --- /dev/null +++ b/devel/trexio/EZFIO.cfg @@ -0,0 +1,6 @@ +[backend] +type: integer +doc: Back-end used in TREXIO. 0: HDF5, 1:Text +interface: ezfio, ocaml, provider +default: 0 + diff --git a/devel/trexio/LIB b/devel/trexio/LIB new file mode 100644 index 0000000..91c0923 --- /dev/null +++ b/devel/trexio/LIB @@ -0,0 +1,2 @@ +-ltrexio + diff --git a/devel/trexio/NEED b/devel/trexio/NEED new file mode 100644 index 0000000..3fb7770 --- /dev/null +++ b/devel/trexio/NEED @@ -0,0 +1,2 @@ +ezfio_files +hartree_fock diff --git a/devel/trexio/README.rst b/devel/trexio/README.rst new file mode 100644 index 0000000..5f1ba3b --- /dev/null +++ b/devel/trexio/README.rst @@ -0,0 +1,4 @@ +====== +trexio +====== + diff --git a/devel/trexio/export_trexio.irp.f b/devel/trexio/export_trexio.irp.f new file mode 100644 index 0000000..d6d9cb0 --- /dev/null +++ b/devel/trexio/export_trexio.irp.f @@ -0,0 +1,18 @@ +program trexio + use trexio + implicit none + BEGIN_DOC +! Exports the wave function in TREXIO format + END_DOC + + integer(8) :: trexio_file + integer :: rc + + character*(256) :: filename + + filename = trim(ezfio_work_dir)//'/trexio.h5' +! Electrons + +end + +! -*- mode: f90 -*- diff --git a/devel/trexio/trexio.irp.f b/devel/trexio/trexio.irp.f new file mode 100644 index 0000000..d97b444 --- /dev/null +++ b/devel/trexio/trexio.irp.f @@ -0,0 +1,8 @@ +BEGIN_PROVIDER [ character*(1024), trexio_filename ] + implicit none + BEGIN_DOC + ! Name of the TREXIO file + END_DOC + filename = trim(ezfio_work_dir)//'/trexio.h5' +END_PROVIDER + diff --git a/devel/trexio/trexio_f.f90 b/devel/trexio/trexio_f.f90 new file mode 100644 index 0000000..a072766 --- /dev/null +++ b/devel/trexio/trexio_f.f90 @@ -0,0 +1,2129 @@ +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