35#ifndef _mpqc_src_lib_extern_qc_qcfnc_h
36#define _mpqc_src_lib_extern_qc_qcfnc_h
49void init_molecule_(
int natoms,
const double* Z,
const double* xyz,
int use_symmetry);
56void init_molecule_xyz_(
const char* fname,
int use_symmetry,
int fname_nchar);
63void init_basis_set_(
const char* basis_name,
int basis_name_nchar);
70void init_basis_set_g94_(
const char* fname,
int fname_nchar);
75int basis_set_nbasis_();
80int basis_set_nshell_();
85int basis_set_max_nfunction_in_shell_();
90int* basis_set_shell_to_nfunction_();
96void basis_set_shell_to_nfunction_subrt_(
int* s2nf);
101int* basis_set_shell_to_function_();
107void basis_set_shell_to_function_subrt_(
int* s2f);
112int* basis_set_shell_to_center_();
118void basis_set_shell_to_center_subrt_(
int* s2c);
123void init_integrals_();
127void done_integrals_();
132void init_overlap_integrals_();
137const double* overlap_integrals_buffer_();
142void set_overlap_integrals_buffer_(
double* buf);
148void compute_overlap_shell_(
int bra,
int ket);
152void done_overlap_integrals_();
157void init_hcore_integrals_();
162const double* hcore_integrals_buffer_();
167void set_hcore_integrals_buffer_(
double* buf);
173void compute_hcore_shell_(
int bra,
int ket);
177void done_hcore_integrals_();
182void init_twoecoulomb_integrals_();
187const double* twoecoulomb_integrals_buffer_();
192void set_twoecoulomb_integrals_buffer_(
double* buf);
200void compute_twoecoulomb_shell_(
int bra1,
int ket1,
int bra2,
int ket2);
204void done_twoecoulomb_integrals_();