use crate::cint::CIntKind;
use crate::ffi::cint_ffi::*;
use crate::ffi::wrapper_traits::Integrator;
use crate::impl_integrator;
use core::any::Any;
use core::ffi::{c_int, c_void};
#[allow(unused_imports)]
use crate::ffi::wrapper_traits::{panic_cart, panic_spinor};
impl_integrator!(
int2e_breit_r1p2,
int2e_breit_r1p2_optimizer,
int2e_breit_r1p2_sph,
int2e_breit_r1p2_cart,
int2e_breit_r1p2_spinor,
true,
true,
true,
1,
1,
4,
vec![2, 2, 0, 1, 4, 1, 1, 1],
"int2e",
"int2e_breit_r1p2",
CIntKind::Int
);
impl_integrator!(
int2e_breit_r2p2,
int2e_breit_r2p2_optimizer,
int2e_breit_r2p2_sph,
int2e_breit_r2p2_cart,
int2e_breit_r2p2_spinor,
true,
true,
true,
1,
1,
4,
vec![2, 1, 0, 2, 4, 1, 1, 1],
"int2e",
"int2e_breit_r2p2",
CIntKind::Int
);
impl_integrator!(
int3c1e,
int3c1e_optimizer,
int3c1e_sph,
int3c1e_cart,
int3c1e_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int3c1e",
"int3c1e",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int3c1e_rinv,
int3c1e_rinv_optimizer,
int3c1e_rinv_sph,
int3c1e_rinv_cart,
int3c1e_rinv_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int3c1e",
"int3c1e_rinv",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_stg,
int2e_stg_optimizer,
int2e_stg_sph,
panic_cart,
panic_spinor,
true,
false,
false,
1,
1,
4,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int2e",
"int2e_stg",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_yp,
int2e_yp_optimizer,
int2e_yp_sph,
panic_cart,
panic_spinor,
true,
false,
false,
1,
1,
4,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int2e",
"int2e_yp",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_yp_ip1,
int2e_yp_ip1_optimizer,
int2e_yp_ip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
3,
3,
4,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2e",
"int2e_yp_ip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_stg_ip1,
int2e_stg_ip1_optimizer,
int2e_stg_ip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
3,
3,
4,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2e",
"int2e_stg_ip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_yp_ipip1,
int2e_yp_ipip1_optimizer,
int2e_yp_ipip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_yp_ipip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_stg_ipip1,
int2e_stg_ipip1_optimizer,
int2e_stg_ipip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_stg_ipip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_yp_ipvip1,
int2e_yp_ipvip1_optimizer,
int2e_yp_ipvip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![1, 1, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_yp_ipvip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_stg_ipvip1,
int2e_stg_ipvip1_optimizer,
int2e_stg_ipvip1_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![1, 1, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_stg_ipvip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_yp_ip1ip2,
int2e_yp_ip1ip2_optimizer,
int2e_yp_ip1ip2_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int2e",
"int2e_yp_ip1ip2",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_f12")]
impl_integrator!(
int2e_stg_ip1ip2,
int2e_stg_ip1ip2_optimizer,
int2e_stg_ip1ip2_sph,
panic_cart,
panic_spinor,
true,
false,
false,
9,
9,
4,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int2e",
"int2e_stg_ip1ip2",
CIntKind::Int
);
impl_integrator!(
int3c2e,
int3c2e_optimizer,
int3c2e_sph,
int3c2e_cart,
int3c2e_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int3c2e",
"int3c2e",
CIntKind::Int
);
impl_integrator!(
int2c2e,
int2c2e_optimizer,
int2c2e_sph,
int2c2e_cart,
int2c2e_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int2c2e",
"int2c2e",
CIntKind::Int
);
impl_integrator!(
int1e_ovlp,
int1e_ovlp_optimizer,
int1e_ovlp_sph,
int1e_ovlp_cart,
int1e_ovlp_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int1e",
"int1e_ovlp",
CIntKind::Int
);
impl_integrator!(
int1e_nuc,
int1e_nuc_optimizer,
int1e_nuc_sph,
int1e_nuc_cart,
int1e_nuc_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 0, 0, 0, 0, 1, 0, 1],
"int1e",
"int1e_nuc",
CIntKind::Int
);
impl_integrator!(
int3c1e_r2_origk,
int3c1e_r2_origk_optimizer,
int3c1e_r2_origk_sph,
int3c1e_r2_origk_cart,
int3c1e_r2_origk_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 2, 0, 2, 1, 1, 1],
"int3c1e",
"int3c1e_r2_origk",
CIntKind::Int
);
impl_integrator!(
int3c1e_r4_origk,
int3c1e_r4_origk_optimizer,
int3c1e_r4_origk_sph,
int3c1e_r4_origk_cart,
int3c1e_r4_origk_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 4, 0, 4, 1, 1, 1],
"int3c1e",
"int3c1e_r4_origk",
CIntKind::Int
);
impl_integrator!(
int3c1e_r6_origk,
int3c1e_r6_origk_optimizer,
int3c1e_r6_origk_sph,
int3c1e_r6_origk_cart,
int3c1e_r6_origk_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 6, 0, 6, 1, 1, 1],
"int3c1e",
"int3c1e_r6_origk",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int3c1e_ip1_r2_origk,
int3c1e_ip1_r2_origk_optimizer,
int3c1e_ip1_r2_origk_sph,
int3c1e_ip1_r2_origk_cart,
int3c1e_ip1_r2_origk_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 2, 0, 3, 1, 1, 3],
"int3c1e",
"int3c1e_ip1_r2_origk",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int3c1e_ip1_r4_origk,
int3c1e_ip1_r4_origk_optimizer,
int3c1e_ip1_r4_origk_sph,
int3c1e_ip1_r4_origk_cart,
int3c1e_ip1_r4_origk_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 4, 0, 5, 1, 1, 3],
"int3c1e",
"int3c1e_ip1_r4_origk",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int3c1e_ip1_r6_origk,
int3c1e_ip1_r6_origk_optimizer,
int3c1e_ip1_r6_origk_sph,
int3c1e_ip1_r6_origk_cart,
int3c1e_ip1_r6_origk_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 6, 0, 7, 1, 1, 3],
"int3c1e",
"int3c1e_ip1_r6_origk",
CIntKind::Int
);
impl_integrator!(
int1e_grids,
int1e_grids_optimizer,
int1e_grids_sph,
int1e_grids_cart,
int1e_grids_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 0, 0, 0, 0, 1, 0, 1],
"int1e",
"int1e_grids",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
#[cfg(feature = "with_4c1e")]
impl_integrator!(
int4c1e,
int4c1e_optimizer,
int4c1e_sph,
int4c1e_cart,
int4c1e_spinor,
true,
true,
true,
1,
1,
4,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int4c1e",
"int4c1e",
CIntKind::Int
);
impl_integrator!(
int1e_r2_origi,
int1e_r2_origi_optimizer,
int1e_r2_origi_sph,
int1e_r2_origi_cart,
int1e_r2_origi_spinor,
true,
true,
true,
1,
1,
2,
vec![2, 0, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_r2_origi",
CIntKind::Int
);
impl_integrator!(
int1e_r4_origi,
int1e_r4_origi_optimizer,
int1e_r4_origi_sph,
int1e_r4_origi_cart,
int1e_r4_origi_spinor,
true,
true,
true,
1,
1,
2,
vec![4, 0, 0, 0, 4, 1, 1, 1],
"int1e",
"int1e_r4_origi",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_r2_origi_ip2,
int1e_r2_origi_ip2_optimizer,
int1e_r2_origi_ip2_sph,
int1e_r2_origi_ip2_cart,
int1e_r2_origi_ip2_spinor,
true,
true,
true,
3,
3,
2,
vec![2, 1, 0, 0, 3, 1, 1, 3],
"int1e",
"int1e_r2_origi_ip2",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_r4_origi_ip2,
int1e_r4_origi_ip2_optimizer,
int1e_r4_origi_ip2_sph,
int1e_r4_origi_ip2_cart,
int1e_r4_origi_ip2_spinor,
true,
true,
true,
3,
3,
2,
vec![4, 1, 0, 0, 5, 1, 1, 3],
"int1e",
"int1e_r4_origi_ip2",
CIntKind::Int
);
impl_integrator!(
int2e,
int2e_optimizer,
int2e_sph,
int2e_cart,
int2e_spinor,
true,
true,
true,
1,
1,
4,
vec![0, 0, 0, 0, 0, 1, 1, 1],
"int2e",
"int2e",
CIntKind::Int
);
impl_integrator!(
int1e_ipovlp,
int1e_ipovlp_optimizer,
int1e_ipovlp_sph,
int1e_ipovlp_cart,
int1e_ipovlp_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_ipovlp",
CIntKind::Int
);
impl_integrator!(
int1e_ovlpip,
int1e_ovlpip_optimizer,
int1e_ovlpip_sph,
int1e_ovlpip_cart,
int1e_ovlpip_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 1, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_ovlpip",
CIntKind::Int
);
impl_integrator!(
int1e_ipkin,
int1e_ipkin_optimizer,
int1e_ipkin_sph,
int1e_ipkin_cart,
int1e_ipkin_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 2, 0, 0, 3, 1, 1, 3],
"int1e",
"int1e_ipkin",
CIntKind::Int
);
impl_integrator!(
int1e_kinip,
int1e_kinip_optimizer,
int1e_kinip_sph,
int1e_kinip_cart,
int1e_kinip_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 3, 0, 0, 3, 1, 1, 3],
"int1e",
"int1e_kinip",
CIntKind::Int
);
impl_integrator!(
int1e_ipnuc,
int1e_ipnuc_optimizer,
int1e_ipnuc_sph,
int1e_ipnuc_cart,
int1e_ipnuc_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_ipnuc",
CIntKind::Int
);
impl_integrator!(
int1e_iprinv,
int1e_iprinv_optimizer,
int1e_iprinv_sph,
int1e_iprinv_cart,
int1e_iprinv_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_iprinv",
CIntKind::Int
);
impl_integrator!(
int1e_ipspnucsp,
int1e_ipspnucsp_optimizer,
int1e_ipspnucsp_sph,
int1e_ipspnucsp_cart,
int1e_ipspnucsp_spinor,
true,
true,
true,
12,
3,
2,
vec![2, 1, 0, 0, 3, 4, 0, 3],
"int1e",
"int1e_ipspnucsp",
CIntKind::Int
);
impl_integrator!(
int1e_ipsprinvsp,
int1e_ipsprinvsp_optimizer,
int1e_ipsprinvsp_sph,
int1e_ipsprinvsp_cart,
int1e_ipsprinvsp_spinor,
true,
true,
true,
12,
3,
2,
vec![2, 1, 0, 0, 3, 4, 0, 3],
"int1e",
"int1e_ipsprinvsp",
CIntKind::Int
);
impl_integrator!(
int1e_ippnucp,
int1e_ippnucp_optimizer,
int1e_ippnucp_sph,
int1e_ippnucp_cart,
int1e_ippnucp_spinor,
true,
true,
true,
3,
3,
2,
vec![2, 1, 0, 0, 3, 1, 0, 3],
"int1e",
"int1e_ippnucp",
CIntKind::Int
);
impl_integrator!(
int1e_ipprinvp,
int1e_ipprinvp_optimizer,
int1e_ipprinvp_sph,
int1e_ipprinvp_cart,
int1e_ipprinvp_spinor,
true,
true,
true,
3,
3,
2,
vec![2, 1, 0, 0, 3, 1, 0, 3],
"int1e",
"int1e_ipprinvp",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipipipnuc,
int1e_ipipipnuc_optimizer,
int1e_ipipipnuc_sph,
int1e_ipipipnuc_cart,
int1e_ipipipnuc_spinor,
true,
true,
true,
27,
27,
2,
vec![3, 0, 0, 0, 3, 1, 0, 27],
"int1e",
"int1e_ipipipnuc",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipipiprinv,
int1e_ipipiprinv_optimizer,
int1e_ipipiprinv_sph,
int1e_ipipiprinv_cart,
int1e_ipipiprinv_spinor,
true,
true,
true,
27,
27,
2,
vec![3, 0, 0, 0, 3, 1, 0, 27],
"int1e",
"int1e_ipipiprinv",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipipnucip,
int1e_ipipnucip_optimizer,
int1e_ipipnucip_sph,
int1e_ipipnucip_cart,
int1e_ipipnucip_spinor,
true,
true,
true,
27,
27,
2,
vec![2, 1, 0, 0, 3, 1, 0, 27],
"int1e",
"int1e_ipipnucip",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipiprinvip,
int1e_ipiprinvip_optimizer,
int1e_ipiprinvip_sph,
int1e_ipiprinvip_cart,
int1e_ipiprinvip_spinor,
true,
true,
true,
27,
27,
2,
vec![2, 1, 0, 0, 3, 1, 0, 27],
"int1e",
"int1e_ipiprinvip",
CIntKind::Int
);
impl_integrator!(
int1e_spspsp,
int1e_spspsp_optimizer,
int1e_spspsp_sph,
int1e_spspsp_cart,
int1e_spspsp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 2, 0, 0, 3, 4, 1, 1],
"int1e",
"int1e_spspsp",
CIntKind::Int
);
impl_integrator!(
int1e_spnuc,
int1e_spnuc_optimizer,
int1e_spnuc_sph,
int1e_spnuc_cart,
int1e_spnuc_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 0, 0, 0, 1, 4, 0, 1],
"int1e",
"int1e_spnuc",
CIntKind::Int
);
impl_integrator!(
int2e_spv1,
int2e_spv1_optimizer,
int2e_spv1_sph,
int2e_spv1_cart,
int2e_spv1_spinor,
true,
true,
true,
4,
1,
4,
vec![1, 0, 0, 0, 1, 4, 1, 1],
"int2e",
"int2e_spv1",
CIntKind::Int
);
impl_integrator!(
int2e_vsp1,
int2e_vsp1_optimizer,
int2e_vsp1_sph,
int2e_vsp1_cart,
int2e_vsp1_spinor,
true,
true,
true,
4,
1,
4,
vec![0, 1, 0, 0, 1, 4, 1, 1],
"int2e",
"int2e_vsp1",
CIntKind::Int
);
impl_integrator!(
int2e_spsp2,
int2e_spsp2_optimizer,
int2e_spsp2_sph,
int2e_spsp2_cart,
int2e_spsp2_spinor,
true,
true,
true,
4,
1,
4,
vec![0, 0, 1, 1, 2, 1, 4, 1],
"int2e",
"int2e_spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_spv1spv2,
int2e_spv1spv2_optimizer,
int2e_spv1spv2_sph,
int2e_spv1spv2_cart,
int2e_spv1spv2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 0, 1, 0, 2, 4, 4, 1],
"int2e",
"int2e_spv1spv2",
CIntKind::Int
);
impl_integrator!(
int2e_vsp1spv2,
int2e_vsp1spv2_optimizer,
int2e_vsp1spv2_sph,
int2e_vsp1spv2_cart,
int2e_vsp1spv2_spinor,
true,
true,
true,
16,
1,
4,
vec![0, 1, 1, 0, 2, 4, 4, 1],
"int2e",
"int2e_vsp1spv2",
CIntKind::Int
);
impl_integrator!(
int2e_spv1vsp2,
int2e_spv1vsp2_optimizer,
int2e_spv1vsp2_sph,
int2e_spv1vsp2_cart,
int2e_spv1vsp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 0, 0, 1, 2, 4, 4, 1],
"int2e",
"int2e_spv1vsp2",
CIntKind::Int
);
impl_integrator!(
int2e_vsp1vsp2,
int2e_vsp1vsp2_optimizer,
int2e_vsp1vsp2_sph,
int2e_vsp1vsp2_cart,
int2e_vsp1vsp2_spinor,
true,
true,
true,
16,
1,
4,
vec![0, 1, 0, 1, 2, 4, 4, 1],
"int2e",
"int2e_vsp1vsp2",
CIntKind::Int
);
impl_integrator!(
int2e_spv1spsp2,
int2e_spv1spsp2_optimizer,
int2e_spv1spsp2_sph,
int2e_spv1spsp2_cart,
int2e_spv1spsp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 0, 1, 1, 3, 4, 4, 1],
"int2e",
"int2e_spv1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_vsp1spsp2,
int2e_vsp1spsp2_optimizer,
int2e_vsp1spsp2_sph,
int2e_vsp1spsp2_cart,
int2e_vsp1spsp2_spinor,
true,
true,
true,
16,
1,
4,
vec![0, 1, 1, 1, 3, 4, 4, 1],
"int2e",
"int2e_vsp1spsp2",
CIntKind::Int
);
impl_integrator!(
int3c1e_p2,
int3c1e_p2_optimizer,
int3c1e_p2_sph,
int3c1e_p2_cart,
int3c1e_p2_spinor,
true,
true,
true,
1,
1,
3,
vec![0, 0, 2, 0, 2, 1, 1, 1],
"int3c1e",
"int3c1e_p2",
CIntKind::Int
);
impl_integrator!(
int3c1e_iprinv,
int3c1e_iprinv_optimizer,
int3c1e_iprinv_sph,
int3c1e_iprinv_cart,
int3c1e_iprinv_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int3c1e",
"int3c1e_iprinv",
CIntKind::Int
);
impl_integrator!(
int3c1e_ip1,
int3c1e_ip1_optimizer,
int3c1e_ip1_sph,
int3c1e_ip1_cart,
int3c1e_ip1_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int3c1e",
"int3c1e_ip1",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_iprinvr,
int1e_iprinvr_optimizer,
int1e_iprinvr_sph,
int1e_iprinvr_cart,
int1e_iprinvr_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 1, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_iprinvr",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_iprinviprip,
int1e_iprinviprip_optimizer,
int1e_iprinviprip_sph,
int1e_iprinviprip_cart,
int1e_iprinviprip_spinor,
true,
true,
true,
81,
81,
2,
vec![1, 3, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_iprinviprip",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_rinvipiprip,
int1e_rinvipiprip_optimizer,
int1e_rinvipiprip_sph,
int1e_rinvipiprip_cart,
int1e_rinvipiprip_spinor,
true,
true,
true,
81,
81,
2,
vec![0, 4, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_rinvipiprip",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipiprinvrip,
int1e_ipiprinvrip_optimizer,
int1e_ipiprinvrip_sph,
int1e_ipiprinvrip_cart,
int1e_ipiprinvrip_spinor,
true,
true,
true,
81,
81,
2,
vec![2, 2, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_ipiprinvrip",
CIntKind::Int
);
impl_integrator!(
int1e_grids_ip,
int1e_grids_ip_optimizer,
int1e_grids_ip_sph,
int1e_grids_ip_cart,
int1e_grids_ip_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_grids_ip",
CIntKind::Int
);
impl_integrator!(
int1e_grids_ipvip,
int1e_grids_ipvip_optimizer,
int1e_grids_ipvip_sph,
int1e_grids_ipvip_cart,
int1e_grids_ipvip_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 1, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_grids_ipvip",
CIntKind::Int
);
impl_integrator!(
int1e_grids_spvsp,
int1e_grids_spvsp_optimizer,
int1e_grids_spvsp_sph,
int1e_grids_spvsp_cart,
int1e_grids_spvsp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 0, 1],
"int1e",
"int1e_grids_spvsp",
CIntKind::Int
);
impl_integrator!(
int1e_grids_ipip,
int1e_grids_ipip_optimizer,
int1e_grids_ipip_sph,
int1e_grids_ipip_cart,
int1e_grids_ipip_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 0, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_grids_ipip",
CIntKind::Int
);
impl_integrator!(
int2e_ig1,
int2e_ig1_optimizer,
int2e_ig1_sph,
int2e_ig1_cart,
int2e_ig1_spinor,
true,
true,
true,
3,
3,
4,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2e",
"int2e_ig1",
CIntKind::Int
);
impl_integrator!(
int2e_gg1,
int2e_gg1_optimizer,
int2e_gg1_sph,
int2e_gg1_cart,
int2e_gg1_spinor,
true,
true,
true,
9,
9,
4,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_gg1",
CIntKind::Int
);
impl_integrator!(
int2e_g1g2,
int2e_g1g2_optimizer,
int2e_g1g2_sph,
int2e_g1g2_cart,
int2e_g1g2_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int2e",
"int2e_g1g2",
CIntKind::Int
);
impl_integrator!(
int2e_p1vxp1,
int2e_p1vxp1_optimizer,
int2e_p1vxp1_sph,
int2e_p1vxp1_cart,
int2e_p1vxp1_spinor,
true,
true,
true,
3,
3,
4,
vec![1, 1, 0, 0, 2, 1, 1, 3],
"int2e",
"int2e_p1vxp1",
CIntKind::Int
);
impl_integrator!(
int2e_ip1v_rc1,
int2e_ip1v_rc1_optimizer,
int2e_ip1v_rc1_sph,
int2e_ip1v_rc1_cart,
int2e_ip1v_rc1_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 2, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_ip1v_rc1",
CIntKind::Int
);
impl_integrator!(
int2e_ip1v_r1,
int2e_ip1v_r1_optimizer,
int2e_ip1v_r1_sph,
int2e_ip1v_r1_cart,
int2e_ip1v_r1_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 2, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_ip1v_r1",
CIntKind::Int
);
impl_integrator!(
int2e_ipvg1_xp1,
int2e_ipvg1_xp1_optimizer,
int2e_ipvg1_xp1_sph,
int2e_ipvg1_xp1_cart,
int2e_ipvg1_xp1_spinor,
true,
true,
true,
9,
9,
4,
vec![2, 1, 0, 0, 3, 1, 1, 9],
"int2e",
"int2e_ipvg1_xp1",
CIntKind::Int
);
impl_integrator!(
int2e_ipvg2_xp1,
int2e_ipvg2_xp1_optimizer,
int2e_ipvg2_xp1_sph,
int2e_ipvg2_xp1_cart,
int2e_ipvg2_xp1_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 1, 1, 0, 3, 1, 1, 9],
"int2e",
"int2e_ipvg2_xp1",
CIntKind::Int
);
impl_integrator!(
int1e_inuc_rcxp,
int1e_inuc_rcxp_optimizer,
int1e_inuc_rcxp_sph,
int1e_inuc_rcxp_cart,
int1e_inuc_rcxp_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 2, 0, 0, 2, 1, 0, 3],
"int1e",
"int1e_inuc_rcxp",
CIntKind::Int
);
impl_integrator!(
int1e_inuc_rxp,
int1e_inuc_rxp_optimizer,
int1e_inuc_rxp_sph,
int1e_inuc_rxp_cart,
int1e_inuc_rxp_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 2, 0, 0, 2, 1, 0, 3],
"int1e",
"int1e_inuc_rxp",
CIntKind::Int
);
impl_integrator!(
int2e_ip1,
int2e_ip1_optimizer,
int2e_ip1_sph,
int2e_ip1_cart,
int2e_ip1_spinor,
true,
true,
true,
3,
3,
4,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2e",
"int2e_ip1",
CIntKind::Int
);
impl_integrator!(
int2e_ip2,
int2e_ip2_optimizer,
int2e_ip2_sph,
int2e_ip2_cart,
int2e_ip2_spinor,
true,
true,
true,
3,
3,
4,
vec![0, 0, 1, 0, 1, 1, 1, 3],
"int2e",
"int2e_ip2",
CIntKind::Int
);
impl_integrator!(
int2e_ipspsp1,
int2e_ipspsp1_optimizer,
int2e_ipspsp1_sph,
int2e_ipspsp1_cart,
int2e_ipspsp1_spinor,
true,
true,
true,
12,
3,
4,
vec![2, 1, 0, 0, 3, 4, 1, 3],
"int2e",
"int2e_ipspsp1",
CIntKind::Int
);
impl_integrator!(
int2e_ip1spsp2,
int2e_ip1spsp2_optimizer,
int2e_ip1spsp2_sph,
int2e_ip1spsp2_cart,
int2e_ip1spsp2_spinor,
true,
true,
true,
12,
3,
4,
vec![1, 0, 1, 1, 3, 1, 4, 3],
"int2e",
"int2e_ip1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_ipspsp1spsp2,
int2e_ipspsp1spsp2_optimizer,
int2e_ipspsp1spsp2_sph,
int2e_ipspsp1spsp2_cart,
int2e_ipspsp1spsp2_spinor,
true,
true,
true,
48,
3,
4,
vec![2, 1, 1, 1, 5, 4, 4, 3],
"int2e",
"int2e_ipspsp1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_ipsrsr1,
int2e_ipsrsr1_optimizer,
int2e_ipsrsr1_sph,
int2e_ipsrsr1_cart,
int2e_ipsrsr1_spinor,
true,
true,
true,
12,
3,
4,
vec![2, 1, 0, 0, 3, 4, 1, 3],
"int2e",
"int2e_ipsrsr1",
CIntKind::Int
);
impl_integrator!(
int2e_ip1srsr2,
int2e_ip1srsr2_optimizer,
int2e_ip1srsr2_sph,
int2e_ip1srsr2_cart,
int2e_ip1srsr2_spinor,
true,
true,
true,
12,
3,
4,
vec![1, 0, 1, 1, 3, 1, 4, 3],
"int2e",
"int2e_ip1srsr2",
CIntKind::Int
);
impl_integrator!(
int2e_ipsrsr1srsr2,
int2e_ipsrsr1srsr2_optimizer,
int2e_ipsrsr1srsr2_sph,
int2e_ipsrsr1srsr2_cart,
int2e_ipsrsr1srsr2_spinor,
true,
true,
true,
48,
3,
4,
vec![2, 1, 1, 1, 5, 4, 4, 3],
"int2e",
"int2e_ipsrsr1srsr2",
CIntKind::Int
);
impl_integrator!(
int2e_ssp1ssp2,
int2e_ssp1ssp2_optimizer,
int2e_ssp1ssp2_sph,
int2e_ssp1ssp2_cart,
int2e_ssp1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![0, 1, 0, 1, 2, 4, 4, 1],
"int2e",
"int2e_ssp1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_ssp1sps2,
int2e_ssp1sps2_optimizer,
int2e_ssp1sps2_sph,
int2e_ssp1sps2_cart,
int2e_ssp1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![0, 1, 1, 0, 2, 4, 4, 1],
"int2e",
"int2e_ssp1sps2",
CIntKind::Int
);
impl_integrator!(
int2e_sps1ssp2,
int2e_sps1ssp2_optimizer,
int2e_sps1ssp2_sph,
int2e_sps1ssp2_cart,
int2e_sps1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 0, 0, 1, 2, 4, 4, 1],
"int2e",
"int2e_sps1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_sps1sps2,
int2e_sps1sps2_optimizer,
int2e_sps1sps2_sph,
int2e_sps1sps2_cart,
int2e_sps1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 0, 1, 0, 2, 4, 4, 1],
"int2e",
"int2e_sps1sps2",
CIntKind::Int
);
impl_integrator!(
int2e_cg_ssa10ssp2,
int2e_cg_ssa10ssp2_optimizer,
int2e_cg_ssa10ssp2_sph,
int2e_cg_ssa10ssp2_cart,
int2e_cg_ssa10ssp2_spinor,
true,
true,
true,
48,
3,
4,
vec![1, 0, 0, 1, 2, 4, 4, 3],
"int2e",
"int2e_cg_ssa10ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_giao_ssa10ssp2,
int2e_giao_ssa10ssp2_optimizer,
int2e_giao_ssa10ssp2_sph,
int2e_giao_ssa10ssp2_cart,
int2e_giao_ssa10ssp2_spinor,
true,
true,
true,
48,
3,
4,
vec![1, 0, 0, 1, 2, 4, 4, 3],
"int2e",
"int2e_giao_ssa10ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_gssp1ssp2,
int2e_gssp1ssp2_optimizer,
int2e_gssp1ssp2_sph,
int2e_gssp1ssp2_cart,
int2e_gssp1ssp2_spinor,
true,
true,
true,
48,
3,
4,
vec![1, 1, 0, 1, 3, 4, 4, 3],
"int2e",
"int2e_gssp1ssp2",
CIntKind::Int
);
impl_integrator!(
int1e_sigma,
int1e_sigma_optimizer,
int1e_sigma_sph,
int1e_sigma_cart,
int1e_sigma_spinor,
true,
true,
true,
12,
3,
2,
vec![0, 0, 0, 0, 0, 4, 1, 3],
"int1e",
"int1e_sigma",
CIntKind::Int
);
impl_integrator!(
int1e_spsigmasp,
int1e_spsigmasp_optimizer,
int1e_spsigmasp_sph,
int1e_spsigmasp_cart,
int1e_spsigmasp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 1, 0, 0, 2, 4, 1, 3],
"int1e",
"int1e_spsigmasp",
CIntKind::Int
);
impl_integrator!(
int1e_srsr,
int1e_srsr_optimizer,
int1e_srsr_sph,
int1e_srsr_cart,
int1e_srsr_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 1, 1],
"int1e",
"int1e_srsr",
CIntKind::Int
);
impl_integrator!(
int1e_sr,
int1e_sr_optimizer,
int1e_sr_sph,
int1e_sr_cart,
int1e_sr_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 0, 0, 0, 1, 4, 1, 1],
"int1e",
"int1e_sr",
CIntKind::Int
);
impl_integrator!(
int1e_srsp,
int1e_srsp_optimizer,
int1e_srsp_sph,
int1e_srsp_cart,
int1e_srsp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 1, 1],
"int1e",
"int1e_srsp",
CIntKind::Int
);
impl_integrator!(
int1e_spsp,
int1e_spsp_optimizer,
int1e_spsp_sph,
int1e_spsp_cart,
int1e_spsp_spinor,
true,
true,
true,
1,
1,
2,
vec![1, 1, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_spsp",
CIntKind::Int
);
impl_integrator!(
int1e_sp,
int1e_sp_optimizer,
int1e_sp_sph,
int1e_sp_cart,
int1e_sp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 0, 0, 0, 1, 4, 1, 1],
"int1e",
"int1e_sp",
CIntKind::Int
);
impl_integrator!(
int1e_spnucsp,
int1e_spnucsp_optimizer,
int1e_spnucsp_sph,
int1e_spnucsp_cart,
int1e_spnucsp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 0, 1],
"int1e",
"int1e_spnucsp",
CIntKind::Int
);
impl_integrator!(
int1e_sprinvsp,
int1e_sprinvsp_optimizer,
int1e_sprinvsp_sph,
int1e_sprinvsp_cart,
int1e_sprinvsp_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 0, 1],
"int1e",
"int1e_sprinvsp",
CIntKind::Int
);
impl_integrator!(
int1e_srnucsr,
int1e_srnucsr_optimizer,
int1e_srnucsr_sph,
int1e_srnucsr_cart,
int1e_srnucsr_spinor,
true,
true,
true,
4,
1,
2,
vec![1, 1, 0, 0, 2, 4, 0, 1],
"int1e",
"int1e_srnucsr",
CIntKind::Int
);
impl_integrator!(
int1e_sprsp,
int1e_sprsp_optimizer,
int1e_sprsp_sph,
int1e_sprsp_cart,
int1e_sprsp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 2, 0, 0, 3, 4, 1, 3],
"int1e",
"int1e_sprsp",
CIntKind::Int
);
impl_integrator!(
int1e_govlp,
int1e_govlp_optimizer,
int1e_govlp_sph,
int1e_govlp_cart,
int1e_govlp_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_govlp",
CIntKind::Int
);
impl_integrator!(
int1e_gnuc,
int1e_gnuc_optimizer,
int1e_gnuc_sph,
int1e_gnuc_cart,
int1e_gnuc_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_gnuc",
CIntKind::Int
);
impl_integrator!(
int1e_cg_sa10sa01,
int1e_cg_sa10sa01_optimizer,
int1e_cg_sa10sa01_sph,
int1e_cg_sa10sa01_cart,
int1e_cg_sa10sa01_spinor,
true,
true,
true,
36,
9,
2,
vec![2, 1, 0, 0, 2, 4, 0, 9],
"int1e",
"int1e_cg_sa10sa01",
CIntKind::Int
);
impl_integrator!(
int1e_cg_sa10sp,
int1e_cg_sa10sp_optimizer,
int1e_cg_sa10sp_sph,
int1e_cg_sa10sp_cart,
int1e_cg_sa10sp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 1, 0, 0, 2, 4, 1, 3],
"int1e",
"int1e_cg_sa10sp",
CIntKind::Int
);
impl_integrator!(
int1e_cg_sa10nucsp,
int1e_cg_sa10nucsp_optimizer,
int1e_cg_sa10nucsp_sph,
int1e_cg_sa10nucsp_cart,
int1e_cg_sa10nucsp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 1, 0, 0, 2, 4, 0, 3],
"int1e",
"int1e_cg_sa10nucsp",
CIntKind::Int
);
impl_integrator!(
int1e_giao_sa10sa01,
int1e_giao_sa10sa01_optimizer,
int1e_giao_sa10sa01_sph,
int1e_giao_sa10sa01_cart,
int1e_giao_sa10sa01_spinor,
true,
true,
true,
36,
9,
2,
vec![2, 1, 0, 0, 2, 4, 0, 9],
"int1e",
"int1e_giao_sa10sa01",
CIntKind::Int
);
impl_integrator!(
int1e_giao_sa10sp,
int1e_giao_sa10sp_optimizer,
int1e_giao_sa10sp_sph,
int1e_giao_sa10sp_cart,
int1e_giao_sa10sp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 1, 0, 0, 2, 4, 1, 3],
"int1e",
"int1e_giao_sa10sp",
CIntKind::Int
);
impl_integrator!(
int1e_giao_sa10nucsp,
int1e_giao_sa10nucsp_optimizer,
int1e_giao_sa10nucsp_sph,
int1e_giao_sa10nucsp_cart,
int1e_giao_sa10nucsp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 1, 0, 0, 2, 4, 0, 3],
"int1e",
"int1e_giao_sa10nucsp",
CIntKind::Int
);
impl_integrator!(
int1e_sa01sp,
int1e_sa01sp_optimizer,
int1e_sa01sp_sph,
int1e_sa01sp_cart,
int1e_sa01sp_spinor,
true,
true,
true,
12,
3,
2,
vec![1, 2, 0, 0, 2, 4, 0, 3],
"int1e",
"int1e_sa01sp",
CIntKind::Int
);
impl_integrator!(
int1e_spgsp,
int1e_spgsp_optimizer,
int1e_spgsp_sph,
int1e_spgsp_cart,
int1e_spgsp_spinor,
true,
true,
true,
12,
3,
2,
vec![2, 1, 0, 0, 3, 4, 1, 3],
"int1e",
"int1e_spgsp",
CIntKind::Int
);
impl_integrator!(
int1e_spgnucsp,
int1e_spgnucsp_optimizer,
int1e_spgnucsp_sph,
int1e_spgnucsp_cart,
int1e_spgnucsp_spinor,
true,
true,
true,
12,
3,
2,
vec![2, 1, 0, 0, 3, 4, 0, 3],
"int1e",
"int1e_spgnucsp",
CIntKind::Int
);
impl_integrator!(
int1e_spgsa01,
int1e_spgsa01_optimizer,
int1e_spgsa01_sph,
int1e_spgsa01_cart,
int1e_spgsa01_spinor,
true,
true,
true,
36,
9,
2,
vec![3, 1, 0, 0, 3, 4, 0, 9],
"int1e",
"int1e_spgsa01",
CIntKind::Int
);
impl_integrator!(
int1e_kin,
int1e_kin_optimizer,
int1e_kin_sph,
int1e_kin_cart,
int1e_kin_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 2, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_kin",
CIntKind::Int
);
impl_integrator!(
int1e_ia01p,
int1e_ia01p_optimizer,
int1e_ia01p_sph,
int1e_ia01p_cart,
int1e_ia01p_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 2, 0, 0, 2, 1, 0, 3],
"int1e",
"int1e_ia01p",
CIntKind::Int
);
impl_integrator!(
int1e_giao_irjxp,
int1e_giao_irjxp_optimizer,
int1e_giao_irjxp_sph,
int1e_giao_irjxp_cart,
int1e_giao_irjxp_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 2, 0, 0, 2, 1, 1, 3],
"int1e",
"int1e_giao_irjxp",
CIntKind::Int
);
impl_integrator!(
int1e_cg_irxp,
int1e_cg_irxp_optimizer,
int1e_cg_irxp_sph,
int1e_cg_irxp_cart,
int1e_cg_irxp_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 2, 0, 0, 2, 1, 1, 3],
"int1e",
"int1e_cg_irxp",
CIntKind::Int
);
impl_integrator!(
int1e_giao_a11part,
int1e_giao_a11part_optimizer,
int1e_giao_a11part_sph,
int1e_giao_a11part_cart,
int1e_giao_a11part_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 2, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_giao_a11part",
CIntKind::Int
);
impl_integrator!(
int1e_cg_a11part,
int1e_cg_a11part_optimizer,
int1e_cg_a11part_sph,
int1e_cg_a11part_cart,
int1e_cg_a11part_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 2, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_cg_a11part",
CIntKind::Int
);
impl_integrator!(
int1e_a01gp,
int1e_a01gp_optimizer,
int1e_a01gp_sph,
int1e_a01gp_cart,
int1e_a01gp_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 2, 0, 0, 3, 1, 0, 9],
"int1e",
"int1e_a01gp",
CIntKind::Int
);
impl_integrator!(
int1e_igkin,
int1e_igkin_optimizer,
int1e_igkin_sph,
int1e_igkin_cart,
int1e_igkin_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 2, 0, 0, 3, 1, 1, 3],
"int1e",
"int1e_igkin",
CIntKind::Int
);
impl_integrator!(
int1e_igovlp,
int1e_igovlp_optimizer,
int1e_igovlp_sph,
int1e_igovlp_cart,
int1e_igovlp_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_igovlp",
CIntKind::Int
);
impl_integrator!(
int1e_ignuc,
int1e_ignuc_optimizer,
int1e_ignuc_sph,
int1e_ignuc_cart,
int1e_ignuc_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_ignuc",
CIntKind::Int
);
impl_integrator!(
int1e_pnucp,
int1e_pnucp_optimizer,
int1e_pnucp_sph,
int1e_pnucp_cart,
int1e_pnucp_spinor,
true,
true,
true,
1,
1,
2,
vec![1, 1, 0, 0, 2, 1, 0, 1],
"int1e",
"int1e_pnucp",
CIntKind::Int
);
impl_integrator!(
int1e_z,
int1e_z_optimizer,
int1e_z_sph,
int1e_z_cart,
int1e_z_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 1, 0, 0, 1, 1, 1, 1],
"int1e",
"int1e_z",
CIntKind::Int
);
impl_integrator!(
int1e_zz,
int1e_zz_optimizer,
int1e_zz_sph,
int1e_zz_cart,
int1e_zz_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 2, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_zz",
CIntKind::Int
);
impl_integrator!(
int1e_r,
int1e_r_optimizer,
int1e_r_sph,
int1e_r_cart,
int1e_r_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 1, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_r",
CIntKind::Int
);
impl_integrator!(
int1e_r2,
int1e_r2_optimizer,
int1e_r2_sph,
int1e_r2_cart,
int1e_r2_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 2, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_r2",
CIntKind::Int
);
impl_integrator!(
int1e_r4,
int1e_r4_optimizer,
int1e_r4_sph,
int1e_r4_cart,
int1e_r4_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 4, 0, 0, 4, 1, 1, 1],
"int1e",
"int1e_r4",
CIntKind::Int
);
impl_integrator!(
int1e_rr,
int1e_rr_optimizer,
int1e_rr_sph,
int1e_rr_cart,
int1e_rr_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 2, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_rr",
CIntKind::Int
);
impl_integrator!(
int1e_rrr,
int1e_rrr_optimizer,
int1e_rrr_sph,
int1e_rrr_cart,
int1e_rrr_spinor,
true,
true,
true,
27,
27,
2,
vec![0, 3, 0, 0, 3, 1, 1, 27],
"int1e",
"int1e_rrr",
CIntKind::Int
);
impl_integrator!(
int1e_rrrr,
int1e_rrrr_optimizer,
int1e_rrrr_sph,
int1e_rrrr_cart,
int1e_rrrr_spinor,
true,
true,
true,
81,
81,
2,
vec![0, 4, 0, 0, 4, 1, 1, 81],
"int1e",
"int1e_rrrr",
CIntKind::Int
);
impl_integrator!(
int1e_z_origj,
int1e_z_origj_optimizer,
int1e_z_origj_sph,
int1e_z_origj_cart,
int1e_z_origj_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 1, 0, 0, 1, 1, 1, 1],
"int1e",
"int1e_z_origj",
CIntKind::Int
);
impl_integrator!(
int1e_zz_origj,
int1e_zz_origj_optimizer,
int1e_zz_origj_sph,
int1e_zz_origj_cart,
int1e_zz_origj_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 2, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_zz_origj",
CIntKind::Int
);
impl_integrator!(
int1e_r_origj,
int1e_r_origj_optimizer,
int1e_r_origj_sph,
int1e_r_origj_cart,
int1e_r_origj_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 1, 0, 0, 1, 1, 1, 3],
"int1e",
"int1e_r_origj",
CIntKind::Int
);
impl_integrator!(
int1e_rr_origj,
int1e_rr_origj_optimizer,
int1e_rr_origj_sph,
int1e_rr_origj_cart,
int1e_rr_origj_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 2, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_rr_origj",
CIntKind::Int
);
impl_integrator!(
int1e_r2_origj,
int1e_r2_origj_optimizer,
int1e_r2_origj_sph,
int1e_r2_origj_cart,
int1e_r2_origj_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 2, 0, 0, 2, 1, 1, 1],
"int1e",
"int1e_r2_origj",
CIntKind::Int
);
impl_integrator!(
int1e_r4_origj,
int1e_r4_origj_optimizer,
int1e_r4_origj_sph,
int1e_r4_origj_cart,
int1e_r4_origj_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 4, 0, 0, 4, 1, 1, 1],
"int1e",
"int1e_r4_origj",
CIntKind::Int
);
impl_integrator!(
int1e_p4,
int1e_p4_optimizer,
int1e_p4_sph,
int1e_p4_cart,
int1e_p4_spinor,
true,
true,
true,
1,
1,
2,
vec![2, 2, 0, 0, 4, 1, 1, 1],
"int1e",
"int1e_p4",
CIntKind::Int
);
impl_integrator!(
int1e_prinvp,
int1e_prinvp_optimizer,
int1e_prinvp_sph,
int1e_prinvp_cart,
int1e_prinvp_spinor,
true,
true,
true,
1,
1,
2,
vec![1, 1, 0, 0, 2, 1, 0, 1],
"int1e",
"int1e_prinvp",
CIntKind::Int
);
impl_integrator!(
int1e_prinvxp,
int1e_prinvxp_optimizer,
int1e_prinvxp_sph,
int1e_prinvxp_cart,
int1e_prinvxp_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 1, 0, 0, 2, 1, 0, 3],
"int1e",
"int1e_prinvxp",
CIntKind::Int
);
impl_integrator!(
int1e_pnucxp,
int1e_pnucxp_optimizer,
int1e_pnucxp_sph,
int1e_pnucxp_cart,
int1e_pnucxp_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 1, 0, 0, 2, 1, 0, 3],
"int1e",
"int1e_pnucxp",
CIntKind::Int
);
impl_integrator!(
int1e_irp,
int1e_irp_optimizer,
int1e_irp_sph,
int1e_irp_cart,
int1e_irp_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 2, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_irp",
CIntKind::Int
);
impl_integrator!(
int1e_irrp,
int1e_irrp_optimizer,
int1e_irrp_sph,
int1e_irrp_cart,
int1e_irrp_spinor,
true,
true,
true,
27,
27,
2,
vec![0, 3, 0, 0, 3, 1, 1, 27],
"int1e",
"int1e_irrp",
CIntKind::Int
);
impl_integrator!(
int1e_irpr,
int1e_irpr_optimizer,
int1e_irpr_sph,
int1e_irpr_cart,
int1e_irpr_spinor,
true,
true,
true,
27,
27,
2,
vec![0, 3, 0, 0, 3, 1, 1, 27],
"int1e",
"int1e_irpr",
CIntKind::Int
);
impl_integrator!(
int1e_ggovlp,
int1e_ggovlp_optimizer,
int1e_ggovlp_sph,
int1e_ggovlp_cart,
int1e_ggovlp_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 2, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_ggovlp",
CIntKind::Int
);
impl_integrator!(
int1e_ggkin,
int1e_ggkin_optimizer,
int1e_ggkin_sph,
int1e_ggkin_cart,
int1e_ggkin_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 4, 0, 0, 4, 1, 1, 9],
"int1e",
"int1e_ggkin",
CIntKind::Int
);
impl_integrator!(
int1e_ggnuc,
int1e_ggnuc_optimizer,
int1e_ggnuc_sph,
int1e_ggnuc_cart,
int1e_ggnuc_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 2, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_ggnuc",
CIntKind::Int
);
impl_integrator!(
int1e_grjxp,
int1e_grjxp_optimizer,
int1e_grjxp_sph,
int1e_grjxp_cart,
int1e_grjxp_spinor,
true,
true,
true,
9,
9,
2,
vec![0, 3, 0, 0, 3, 1, 1, 9],
"int1e",
"int1e_grjxp",
CIntKind::Int
);
impl_integrator!(
int1e_rinv,
int1e_rinv_optimizer,
int1e_rinv_sph,
int1e_rinv_cart,
int1e_rinv_spinor,
true,
true,
true,
1,
1,
2,
vec![0, 0, 0, 0, 0, 1, 0, 1],
"int1e",
"int1e_rinv",
CIntKind::Int
);
impl_integrator!(
int1e_drinv,
int1e_drinv_optimizer,
int1e_drinv_sph,
int1e_drinv_cart,
int1e_drinv_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 1, 0, 0, 1, 1, 0, 3],
"int1e",
"int1e_drinv",
CIntKind::Int
);
impl_integrator!(
int1e_ipipovlp,
int1e_ipipovlp_optimizer,
int1e_ipipovlp_sph,
int1e_ipipovlp_cart,
int1e_ipipovlp_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_ipipovlp",
CIntKind::Int
);
impl_integrator!(
int1e_ipovlpip,
int1e_ipovlpip_optimizer,
int1e_ipovlpip_sph,
int1e_ipovlpip_cart,
int1e_ipovlpip_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 1, 0, 0, 2, 1, 1, 9],
"int1e",
"int1e_ipovlpip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipkin,
int1e_ipipkin_optimizer,
int1e_ipipkin_sph,
int1e_ipipkin_cart,
int1e_ipipkin_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 2, 0, 0, 4, 1, 1, 9],
"int1e",
"int1e_ipipkin",
CIntKind::Int
);
impl_integrator!(
int1e_ipkinip,
int1e_ipkinip_optimizer,
int1e_ipkinip_sph,
int1e_ipkinip_cart,
int1e_ipkinip_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 3, 0, 0, 4, 1, 1, 9],
"int1e",
"int1e_ipkinip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipnuc,
int1e_ipipnuc_optimizer,
int1e_ipipnuc_sph,
int1e_ipipnuc_cart,
int1e_ipipnuc_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 0, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_ipipnuc",
CIntKind::Int
);
impl_integrator!(
int1e_ipnucip,
int1e_ipnucip_optimizer,
int1e_ipnucip_sph,
int1e_ipnucip_cart,
int1e_ipnucip_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 1, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_ipnucip",
CIntKind::Int
);
impl_integrator!(
int1e_ipiprinv,
int1e_ipiprinv_optimizer,
int1e_ipiprinv_sph,
int1e_ipiprinv_cart,
int1e_ipiprinv_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 0, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_ipiprinv",
CIntKind::Int
);
impl_integrator!(
int1e_iprinvip,
int1e_iprinvip_optimizer,
int1e_iprinvip_sph,
int1e_iprinvip_cart,
int1e_iprinvip_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 1, 0, 0, 2, 1, 0, 9],
"int1e",
"int1e_iprinvip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipr,
int1e_ipipr_optimizer,
int1e_ipipr_sph,
int1e_ipipr_cart,
int1e_ipipr_spinor,
true,
true,
true,
27,
27,
2,
vec![2, 1, 0, 0, 3, 1, 1, 27],
"int1e",
"int1e_ipipr",
CIntKind::Int
);
impl_integrator!(
int1e_iprip,
int1e_iprip_optimizer,
int1e_iprip_sph,
int1e_iprip_cart,
int1e_iprip_spinor,
true,
true,
true,
27,
27,
2,
vec![1, 2, 0, 0, 3, 1, 1, 27],
"int1e",
"int1e_iprip",
CIntKind::Int
);
impl_integrator!(
int2e_ipip1,
int2e_ipip1_optimizer,
int2e_ipip1_sph,
int2e_ipip1_cart,
int2e_ipip1_spinor,
true,
true,
true,
9,
9,
4,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_ipip1",
CIntKind::Int
);
impl_integrator!(
int2e_ipvip1,
int2e_ipvip1_optimizer,
int2e_ipvip1_sph,
int2e_ipvip1_cart,
int2e_ipvip1_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 1, 0, 0, 2, 1, 1, 9],
"int2e",
"int2e_ipvip1",
CIntKind::Int
);
impl_integrator!(
int2e_ip1ip2,
int2e_ip1ip2_optimizer,
int2e_ip1ip2_sph,
int2e_ip1ip2_cart,
int2e_ip1ip2_spinor,
true,
true,
true,
9,
9,
4,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int2e",
"int2e_ip1ip2",
CIntKind::Int
);
impl_integrator!(
int1e_ipippnucp,
int1e_ipippnucp_optimizer,
int1e_ipippnucp_sph,
int1e_ipippnucp_cart,
int1e_ipippnucp_spinor,
true,
true,
true,
9,
9,
2,
vec![3, 1, 0, 0, 4, 1, 0, 9],
"int1e",
"int1e_ipippnucp",
CIntKind::Int
);
impl_integrator!(
int1e_ippnucpip,
int1e_ippnucpip_optimizer,
int1e_ippnucpip_sph,
int1e_ippnucpip_cart,
int1e_ippnucpip_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 2, 0, 0, 4, 1, 0, 9],
"int1e",
"int1e_ippnucpip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipprinvp,
int1e_ipipprinvp_optimizer,
int1e_ipipprinvp_sph,
int1e_ipipprinvp_cart,
int1e_ipipprinvp_spinor,
true,
true,
true,
9,
9,
2,
vec![3, 1, 0, 0, 4, 1, 0, 9],
"int1e",
"int1e_ipipprinvp",
CIntKind::Int
);
impl_integrator!(
int1e_ipprinvpip,
int1e_ipprinvpip_optimizer,
int1e_ipprinvpip_sph,
int1e_ipprinvpip_cart,
int1e_ipprinvpip_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 2, 0, 0, 4, 1, 0, 9],
"int1e",
"int1e_ipprinvpip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipspnucsp,
int1e_ipipspnucsp_optimizer,
int1e_ipipspnucsp_sph,
int1e_ipipspnucsp_cart,
int1e_ipipspnucsp_spinor,
true,
true,
true,
36,
9,
2,
vec![3, 1, 0, 0, 4, 4, 0, 9],
"int1e",
"int1e_ipipspnucsp",
CIntKind::Int
);
impl_integrator!(
int1e_ipspnucspip,
int1e_ipspnucspip_optimizer,
int1e_ipspnucspip_sph,
int1e_ipspnucspip_cart,
int1e_ipspnucspip_spinor,
true,
true,
true,
36,
9,
2,
vec![2, 2, 0, 0, 4, 4, 0, 9],
"int1e",
"int1e_ipspnucspip",
CIntKind::Int
);
impl_integrator!(
int1e_ipipsprinvsp,
int1e_ipipsprinvsp_optimizer,
int1e_ipipsprinvsp_sph,
int1e_ipipsprinvsp_cart,
int1e_ipipsprinvsp_spinor,
true,
true,
true,
36,
9,
2,
vec![3, 1, 0, 0, 4, 4, 0, 9],
"int1e",
"int1e_ipipsprinvsp",
CIntKind::Int
);
impl_integrator!(
int1e_ipsprinvspip,
int1e_ipsprinvspip_optimizer,
int1e_ipsprinvspip_sph,
int1e_ipsprinvspip_cart,
int1e_ipsprinvspip_spinor,
true,
true,
true,
36,
9,
2,
vec![2, 2, 0, 0, 4, 4, 0, 9],
"int1e",
"int1e_ipsprinvspip",
CIntKind::Int
);
impl_integrator!(
int2e_ipip1ipip2,
int2e_ipip1ipip2_optimizer,
int2e_ipip1ipip2_sph,
int2e_ipip1ipip2_cart,
int2e_ipip1ipip2_spinor,
true,
true,
true,
81,
81,
4,
vec![2, 0, 2, 0, 4, 1, 1, 81],
"int2e",
"int2e_ipip1ipip2",
CIntKind::Int
);
impl_integrator!(
int2e_ipvip1ipvip2,
int2e_ipvip1ipvip2_optimizer,
int2e_ipvip1ipvip2_sph,
int2e_ipvip1ipvip2_cart,
int2e_ipvip1ipvip2_spinor,
true,
true,
true,
81,
81,
4,
vec![1, 1, 1, 1, 4, 1, 1, 81],
"int2e",
"int2e_ipvip1ipvip2",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipiprinvipip,
int1e_ipiprinvipip_optimizer,
int1e_ipiprinvipip_sph,
int1e_ipiprinvipip_cart,
int1e_ipiprinvipip_spinor,
true,
true,
true,
81,
81,
2,
vec![2, 2, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_ipiprinvipip",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipipiprinvip,
int1e_ipipiprinvip_optimizer,
int1e_ipipiprinvip_sph,
int1e_ipipiprinvip_cart,
int1e_ipipiprinvip_spinor,
true,
true,
true,
81,
81,
2,
vec![3, 1, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_ipipiprinvip",
CIntKind::Int
);
#[cfg(not(feature = "qcint"))]
impl_integrator!(
int1e_ipipipiprinv,
int1e_ipipipiprinv_optimizer,
int1e_ipipipiprinv_sph,
int1e_ipipipiprinv_cart,
int1e_ipipipiprinv_spinor,
true,
true,
true,
81,
81,
2,
vec![4, 0, 0, 0, 4, 1, 0, 81],
"int1e",
"int1e_ipipipiprinv",
CIntKind::Int
);
impl_integrator!(
int2e_spsp1,
int2e_spsp1_optimizer,
int2e_spsp1_sph,
int2e_spsp1_cart,
int2e_spsp1_spinor,
true,
true,
true,
4,
1,
4,
vec![1, 1, 0, 0, 2, 4, 1, 1],
"int2e",
"int2e_spsp1",
CIntKind::Int
);
impl_integrator!(
int2e_spsp1spsp2,
int2e_spsp1spsp2_optimizer,
int2e_spsp1spsp2_sph,
int2e_spsp1spsp2_cart,
int2e_spsp1spsp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 1, 1, 1, 4, 4, 4, 1],
"int2e",
"int2e_spsp1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_srsr1,
int2e_srsr1_optimizer,
int2e_srsr1_sph,
int2e_srsr1_cart,
int2e_srsr1_spinor,
true,
true,
true,
4,
1,
4,
vec![1, 1, 0, 0, 2, 4, 1, 1],
"int2e",
"int2e_srsr1",
CIntKind::Int
);
impl_integrator!(
int2e_srsr1srsr2,
int2e_srsr1srsr2_optimizer,
int2e_srsr1srsr2_sph,
int2e_srsr1srsr2_cart,
int2e_srsr1srsr2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 1, 1, 1, 4, 4, 4, 1],
"int2e",
"int2e_srsr1srsr2",
CIntKind::Int
);
impl_integrator!(
int2e_cg_sa10sp1,
int2e_cg_sa10sp1_optimizer,
int2e_cg_sa10sp1_sph,
int2e_cg_sa10sp1_cart,
int2e_cg_sa10sp1_spinor,
true,
true,
true,
12,
3,
4,
vec![1, 1, 0, 0, 2, 4, 1, 3],
"int2e",
"int2e_cg_sa10sp1",
CIntKind::Int
);
impl_integrator!(
int2e_cg_sa10sp1spsp2,
int2e_cg_sa10sp1spsp2_optimizer,
int2e_cg_sa10sp1spsp2_sph,
int2e_cg_sa10sp1spsp2_cart,
int2e_cg_sa10sp1spsp2_spinor,
true,
true,
true,
48,
3,
4,
vec![1, 1, 1, 1, 4, 4, 4, 3],
"int2e",
"int2e_cg_sa10sp1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_giao_sa10sp1,
int2e_giao_sa10sp1_optimizer,
int2e_giao_sa10sp1_sph,
int2e_giao_sa10sp1_cart,
int2e_giao_sa10sp1_spinor,
true,
true,
true,
12,
3,
4,
vec![1, 1, 0, 0, 2, 4, 1, 3],
"int2e",
"int2e_giao_sa10sp1",
CIntKind::Int
);
impl_integrator!(
int2e_giao_sa10sp1spsp2,
int2e_giao_sa10sp1spsp2_optimizer,
int2e_giao_sa10sp1spsp2_sph,
int2e_giao_sa10sp1spsp2_cart,
int2e_giao_sa10sp1spsp2_spinor,
true,
true,
true,
48,
3,
4,
vec![1, 1, 1, 1, 4, 4, 4, 3],
"int2e",
"int2e_giao_sa10sp1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_g1,
int2e_g1_optimizer,
int2e_g1_sph,
int2e_g1_cart,
int2e_g1_spinor,
true,
true,
true,
3,
3,
4,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2e",
"int2e_g1",
CIntKind::Int
);
impl_integrator!(
int2e_spgsp1,
int2e_spgsp1_optimizer,
int2e_spgsp1_sph,
int2e_spgsp1_cart,
int2e_spgsp1_spinor,
true,
true,
true,
12,
3,
4,
vec![2, 1, 0, 0, 3, 4, 1, 3],
"int2e",
"int2e_spgsp1",
CIntKind::Int
);
impl_integrator!(
int2e_g1spsp2,
int2e_g1spsp2_optimizer,
int2e_g1spsp2_sph,
int2e_g1spsp2_cart,
int2e_g1spsp2_spinor,
true,
true,
true,
12,
3,
4,
vec![1, 0, 1, 1, 3, 1, 4, 3],
"int2e",
"int2e_g1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_spgsp1spsp2,
int2e_spgsp1spsp2_optimizer,
int2e_spgsp1spsp2_sph,
int2e_spgsp1spsp2_cart,
int2e_spgsp1spsp2_spinor,
true,
true,
true,
48,
3,
4,
vec![2, 1, 1, 1, 5, 4, 4, 3],
"int2e",
"int2e_spgsp1spsp2",
CIntKind::Int
);
impl_integrator!(
int2e_pp1,
int2e_pp1_optimizer,
int2e_pp1_sph,
int2e_pp1_cart,
int2e_pp1_spinor,
true,
true,
true,
1,
1,
4,
vec![1, 1, 0, 0, 2, 1, 1, 1],
"int2e",
"int2e_pp1",
CIntKind::Int
);
impl_integrator!(
int2e_pp2,
int2e_pp2_optimizer,
int2e_pp2_sph,
int2e_pp2_cart,
int2e_pp2_spinor,
true,
true,
true,
1,
1,
4,
vec![0, 0, 1, 1, 2, 1, 1, 1],
"int2e",
"int2e_pp2",
CIntKind::Int
);
impl_integrator!(
int2e_pp1pp2,
int2e_pp1pp2_optimizer,
int2e_pp1pp2_sph,
int2e_pp1pp2_cart,
int2e_pp1pp2_spinor,
true,
true,
true,
1,
1,
4,
vec![1, 1, 1, 1, 4, 1, 1, 1],
"int2e",
"int2e_pp1pp2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r1_ssp1ssp2,
int2e_gauge_r1_ssp1ssp2_optimizer,
int2e_gauge_r1_ssp1ssp2_sph,
int2e_gauge_r1_ssp1ssp2_cart,
int2e_gauge_r1_ssp1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 3, 0, 1, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r1_ssp1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r1_ssp1sps2,
int2e_gauge_r1_ssp1sps2_optimizer,
int2e_gauge_r1_ssp1sps2_sph,
int2e_gauge_r1_ssp1sps2_cart,
int2e_gauge_r1_ssp1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 3, 1, 0, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r1_ssp1sps2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r1_sps1ssp2,
int2e_gauge_r1_sps1ssp2_optimizer,
int2e_gauge_r1_sps1ssp2_sph,
int2e_gauge_r1_sps1ssp2_cart,
int2e_gauge_r1_sps1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![2, 2, 0, 1, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r1_sps1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r1_sps1sps2,
int2e_gauge_r1_sps1sps2_optimizer,
int2e_gauge_r1_sps1sps2_sph,
int2e_gauge_r1_sps1sps2_cart,
int2e_gauge_r1_sps1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![2, 2, 1, 0, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r1_sps1sps2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r2_ssp1ssp2,
int2e_gauge_r2_ssp1ssp2_optimizer,
int2e_gauge_r2_ssp1ssp2_sph,
int2e_gauge_r2_ssp1ssp2_cart,
int2e_gauge_r2_ssp1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 2, 0, 2, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r2_ssp1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r2_ssp1sps2,
int2e_gauge_r2_ssp1sps2_optimizer,
int2e_gauge_r2_ssp1sps2_sph,
int2e_gauge_r2_ssp1sps2_cart,
int2e_gauge_r2_ssp1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![1, 2, 1, 1, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r2_ssp1sps2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r2_sps1ssp2,
int2e_gauge_r2_sps1ssp2_optimizer,
int2e_gauge_r2_sps1ssp2_sph,
int2e_gauge_r2_sps1ssp2_cart,
int2e_gauge_r2_sps1ssp2_spinor,
true,
true,
true,
16,
1,
4,
vec![2, 1, 0, 2, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r2_sps1ssp2",
CIntKind::Int
);
impl_integrator!(
int2e_gauge_r2_sps1sps2,
int2e_gauge_r2_sps1sps2_optimizer,
int2e_gauge_r2_sps1sps2_sph,
int2e_gauge_r2_sps1sps2_cart,
int2e_gauge_r2_sps1sps2_spinor,
true,
true,
true,
16,
1,
4,
vec![2, 1, 1, 1, 4, 4, 4, 1],
"int2e",
"int2e_gauge_r2_sps1sps2",
CIntKind::Int
);
impl_integrator!(
int3c2e_ip1,
int3c2e_ip1_optimizer,
int3c2e_ip1_sph,
int3c2e_ip1_cart,
int3c2e_ip1_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int3c2e",
"int3c2e_ip1",
CIntKind::Int
);
impl_integrator!(
int3c2e_ip2,
int3c2e_ip2_optimizer,
int3c2e_ip2_sph,
int3c2e_ip2_cart,
int3c2e_ip2_spinor,
true,
true,
true,
3,
3,
3,
vec![0, 0, 1, 0, 1, 1, 1, 3],
"int3c2e",
"int3c2e_ip2",
CIntKind::Int
);
impl_integrator!(
int3c2e_pvp1,
int3c2e_pvp1_optimizer,
int3c2e_pvp1_sph,
int3c2e_pvp1_cart,
int3c2e_pvp1_spinor,
true,
true,
true,
1,
1,
3,
vec![1, 1, 0, 0, 2, 1, 1, 1],
"int3c2e",
"int3c2e_pvp1",
CIntKind::Int
);
impl_integrator!(
int3c2e_pvxp1,
int3c2e_pvxp1_optimizer,
int3c2e_pvxp1_sph,
int3c2e_pvxp1_cart,
int3c2e_pvxp1_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 1, 0, 0, 2, 1, 1, 3],
"int3c2e",
"int3c2e_pvxp1",
CIntKind::Int
);
impl_integrator!(
int2c2e_ip1,
int2c2e_ip1_optimizer,
int2c2e_ip1_sph,
int2c2e_ip1_cart,
int2c2e_ip1_spinor,
true,
true,
true,
3,
3,
2,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int2c2e",
"int2c2e_ip1",
CIntKind::Int
);
impl_integrator!(
int2c2e_ip2,
int2c2e_ip2_optimizer,
int2c2e_ip2_sph,
int2c2e_ip2_cart,
int2c2e_ip2_spinor,
true,
true,
true,
3,
3,
2,
vec![0, 0, 1, 0, 1, 1, 1, 3],
"int2c2e",
"int2c2e_ip2",
CIntKind::Int
);
impl_integrator!(
int3c2e_ig1,
int3c2e_ig1_optimizer,
int3c2e_ig1_sph,
int3c2e_ig1_cart,
int3c2e_ig1_spinor,
true,
true,
true,
3,
3,
3,
vec![1, 0, 0, 0, 1, 1, 1, 3],
"int3c2e",
"int3c2e_ig1",
CIntKind::Int
);
impl_integrator!(
int3c2e_spsp1,
int3c2e_spsp1_optimizer,
int3c2e_spsp1_sph,
int3c2e_spsp1_cart,
int3c2e_spsp1_spinor,
true,
true,
true,
4,
1,
3,
vec![1, 1, 0, 0, 2, 4, 1, 1],
"int3c2e",
"int3c2e_spsp1",
CIntKind::Int
);
impl_integrator!(
int3c2e_ipspsp1,
int3c2e_ipspsp1_optimizer,
int3c2e_ipspsp1_sph,
int3c2e_ipspsp1_cart,
int3c2e_ipspsp1_spinor,
true,
true,
true,
12,
3,
3,
vec![2, 1, 0, 0, 3, 4, 1, 3],
"int3c2e",
"int3c2e_ipspsp1",
CIntKind::Int
);
impl_integrator!(
int3c2e_spsp1ip2,
int3c2e_spsp1ip2_optimizer,
int3c2e_spsp1ip2_sph,
int3c2e_spsp1ip2_cart,
int3c2e_spsp1ip2_spinor,
true,
true,
true,
12,
3,
3,
vec![1, 1, 1, 0, 3, 4, 1, 3],
"int3c2e",
"int3c2e_spsp1ip2",
CIntKind::Int
);
impl_integrator!(
int3c2e_ipip1,
int3c2e_ipip1_optimizer,
int3c2e_ipip1_sph,
int3c2e_ipip1_cart,
int3c2e_ipip1_spinor,
true,
true,
true,
9,
9,
3,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int3c2e",
"int3c2e_ipip1",
CIntKind::Int
);
impl_integrator!(
int3c2e_ipip2,
int3c2e_ipip2_optimizer,
int3c2e_ipip2_sph,
int3c2e_ipip2_cart,
int3c2e_ipip2_spinor,
true,
true,
true,
9,
9,
3,
vec![0, 0, 2, 0, 2, 1, 1, 9],
"int3c2e",
"int3c2e_ipip2",
CIntKind::Int
);
impl_integrator!(
int3c2e_ipvip1,
int3c2e_ipvip1_optimizer,
int3c2e_ipvip1_sph,
int3c2e_ipvip1_cart,
int3c2e_ipvip1_spinor,
true,
true,
true,
9,
9,
3,
vec![1, 1, 0, 0, 2, 1, 1, 9],
"int3c2e",
"int3c2e_ipvip1",
CIntKind::Int
);
impl_integrator!(
int3c2e_ip1ip2,
int3c2e_ip1ip2_optimizer,
int3c2e_ip1ip2_sph,
int3c2e_ip1ip2_cart,
int3c2e_ip1ip2_spinor,
true,
true,
true,
9,
9,
3,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int3c2e",
"int3c2e_ip1ip2",
CIntKind::Int
);
impl_integrator!(
int2c2e_ipip1,
int2c2e_ipip1_optimizer,
int2c2e_ipip1_sph,
int2c2e_ipip1_cart,
int2c2e_ipip1_spinor,
true,
true,
true,
9,
9,
2,
vec![2, 0, 0, 0, 2, 1, 1, 9],
"int2c2e",
"int2c2e_ipip1",
CIntKind::Int
);
impl_integrator!(
int2c2e_ip1ip2,
int2c2e_ip1ip2_optimizer,
int2c2e_ip1ip2_sph,
int2c2e_ip1ip2_cart,
int2c2e_ip1ip2_spinor,
true,
true,
true,
9,
9,
2,
vec![1, 0, 1, 0, 2, 1, 1, 9],
"int2c2e",
"int2c2e_ip1ip2",
CIntKind::Int
);
pub fn get_cint_integrator(name: &str) -> Option<Box<dyn Integrator>> {
match name {
"int2e_breit_r1p2" => Some(Box::new(int2e_breit_r1p2)),
"int2e_breit_r2p2" => Some(Box::new(int2e_breit_r2p2)),
"int3c1e" => Some(Box::new(int3c1e)),
#[cfg(not(feature = "qcint"))]
"int3c1e_rinv" => Some(Box::new(int3c1e_rinv)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_stg" => Some(Box::new(int2e_stg)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_yp" => Some(Box::new(int2e_yp)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_yp_ip1" => Some(Box::new(int2e_yp_ip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_stg_ip1" => Some(Box::new(int2e_stg_ip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_yp_ipip1" => Some(Box::new(int2e_yp_ipip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_stg_ipip1" => Some(Box::new(int2e_stg_ipip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_yp_ipvip1" => Some(Box::new(int2e_yp_ipvip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_stg_ipvip1" => Some(Box::new(int2e_stg_ipvip1)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_yp_ip1ip2" => Some(Box::new(int2e_yp_ip1ip2)),
#[cfg(feature = "with_f12")]
#[cfg(not(feature = "qcint"))]
"int2e_stg_ip1ip2" => Some(Box::new(int2e_stg_ip1ip2)),
"int3c2e" => Some(Box::new(int3c2e)),
"int2c2e" => Some(Box::new(int2c2e)),
"int1e_ovlp" => Some(Box::new(int1e_ovlp)),
"int1e_nuc" => Some(Box::new(int1e_nuc)),
"int3c1e_r2_origk" => Some(Box::new(int3c1e_r2_origk)),
"int3c1e_r4_origk" => Some(Box::new(int3c1e_r4_origk)),
"int3c1e_r6_origk" => Some(Box::new(int3c1e_r6_origk)),
#[cfg(not(feature = "qcint"))]
"int3c1e_ip1_r2_origk" => Some(Box::new(int3c1e_ip1_r2_origk)),
#[cfg(not(feature = "qcint"))]
"int3c1e_ip1_r4_origk" => Some(Box::new(int3c1e_ip1_r4_origk)),
#[cfg(not(feature = "qcint"))]
"int3c1e_ip1_r6_origk" => Some(Box::new(int3c1e_ip1_r6_origk)),
"int1e_grids" => Some(Box::new(int1e_grids)),
#[cfg(feature = "with_4c1e")]
#[cfg(not(feature = "qcint"))]
"int4c1e" => Some(Box::new(int4c1e)),
"int1e_r2_origi" => Some(Box::new(int1e_r2_origi)),
"int1e_r4_origi" => Some(Box::new(int1e_r4_origi)),
#[cfg(not(feature = "qcint"))]
"int1e_r2_origi_ip2" => Some(Box::new(int1e_r2_origi_ip2)),
#[cfg(not(feature = "qcint"))]
"int1e_r4_origi_ip2" => Some(Box::new(int1e_r4_origi_ip2)),
"int2e" => Some(Box::new(int2e)),
"int1e_ipovlp" => Some(Box::new(int1e_ipovlp)),
"int1e_ovlpip" => Some(Box::new(int1e_ovlpip)),
"int1e_ipkin" => Some(Box::new(int1e_ipkin)),
"int1e_kinip" => Some(Box::new(int1e_kinip)),
"int1e_ipnuc" => Some(Box::new(int1e_ipnuc)),
"int1e_iprinv" => Some(Box::new(int1e_iprinv)),
"int1e_ipspnucsp" => Some(Box::new(int1e_ipspnucsp)),
"int1e_ipsprinvsp" => Some(Box::new(int1e_ipsprinvsp)),
"int1e_ippnucp" => Some(Box::new(int1e_ippnucp)),
"int1e_ipprinvp" => Some(Box::new(int1e_ipprinvp)),
#[cfg(not(feature = "qcint"))]
"int1e_ipipipnuc" => Some(Box::new(int1e_ipipipnuc)),
#[cfg(not(feature = "qcint"))]
"int1e_ipipiprinv" => Some(Box::new(int1e_ipipiprinv)),
#[cfg(not(feature = "qcint"))]
"int1e_ipipnucip" => Some(Box::new(int1e_ipipnucip)),
#[cfg(not(feature = "qcint"))]
"int1e_ipiprinvip" => Some(Box::new(int1e_ipiprinvip)),
"int1e_spspsp" => Some(Box::new(int1e_spspsp)),
"int1e_spnuc" => Some(Box::new(int1e_spnuc)),
"int2e_spv1" => Some(Box::new(int2e_spv1)),
"int2e_vsp1" => Some(Box::new(int2e_vsp1)),
"int2e_spsp2" => Some(Box::new(int2e_spsp2)),
"int2e_spv1spv2" => Some(Box::new(int2e_spv1spv2)),
"int2e_vsp1spv2" => Some(Box::new(int2e_vsp1spv2)),
"int2e_spv1vsp2" => Some(Box::new(int2e_spv1vsp2)),
"int2e_vsp1vsp2" => Some(Box::new(int2e_vsp1vsp2)),
"int2e_spv1spsp2" => Some(Box::new(int2e_spv1spsp2)),
"int2e_vsp1spsp2" => Some(Box::new(int2e_vsp1spsp2)),
"int3c1e_p2" => Some(Box::new(int3c1e_p2)),
"int3c1e_iprinv" => Some(Box::new(int3c1e_iprinv)),
"int3c1e_ip1" => Some(Box::new(int3c1e_ip1)),
#[cfg(not(feature = "qcint"))]
"int1e_iprinvr" => Some(Box::new(int1e_iprinvr)),
#[cfg(not(feature = "qcint"))]
"int1e_iprinviprip" => Some(Box::new(int1e_iprinviprip)),
#[cfg(not(feature = "qcint"))]
"int1e_rinvipiprip" => Some(Box::new(int1e_rinvipiprip)),
#[cfg(not(feature = "qcint"))]
"int1e_ipiprinvrip" => Some(Box::new(int1e_ipiprinvrip)),
"int1e_grids_ip" => Some(Box::new(int1e_grids_ip)),
"int1e_grids_ipvip" => Some(Box::new(int1e_grids_ipvip)),
"int1e_grids_spvsp" => Some(Box::new(int1e_grids_spvsp)),
"int1e_grids_ipip" => Some(Box::new(int1e_grids_ipip)),
"int2e_ig1" => Some(Box::new(int2e_ig1)),
"int2e_gg1" => Some(Box::new(int2e_gg1)),
"int2e_g1g2" => Some(Box::new(int2e_g1g2)),
"int2e_p1vxp1" => Some(Box::new(int2e_p1vxp1)),
"int2e_ip1v_rc1" => Some(Box::new(int2e_ip1v_rc1)),
"int2e_ip1v_r1" => Some(Box::new(int2e_ip1v_r1)),
"int2e_ipvg1_xp1" => Some(Box::new(int2e_ipvg1_xp1)),
"int2e_ipvg2_xp1" => Some(Box::new(int2e_ipvg2_xp1)),
"int1e_inuc_rcxp" => Some(Box::new(int1e_inuc_rcxp)),
"int1e_inuc_rxp" => Some(Box::new(int1e_inuc_rxp)),
"int2e_ip1" => Some(Box::new(int2e_ip1)),
"int2e_ip2" => Some(Box::new(int2e_ip2)),
"int2e_ipspsp1" => Some(Box::new(int2e_ipspsp1)),
"int2e_ip1spsp2" => Some(Box::new(int2e_ip1spsp2)),
"int2e_ipspsp1spsp2" => Some(Box::new(int2e_ipspsp1spsp2)),
"int2e_ipsrsr1" => Some(Box::new(int2e_ipsrsr1)),
"int2e_ip1srsr2" => Some(Box::new(int2e_ip1srsr2)),
"int2e_ipsrsr1srsr2" => Some(Box::new(int2e_ipsrsr1srsr2)),
"int2e_ssp1ssp2" => Some(Box::new(int2e_ssp1ssp2)),
"int2e_ssp1sps2" => Some(Box::new(int2e_ssp1sps2)),
"int2e_sps1ssp2" => Some(Box::new(int2e_sps1ssp2)),
"int2e_sps1sps2" => Some(Box::new(int2e_sps1sps2)),
"int2e_cg_ssa10ssp2" => Some(Box::new(int2e_cg_ssa10ssp2)),
"int2e_giao_ssa10ssp2" => Some(Box::new(int2e_giao_ssa10ssp2)),
"int2e_gssp1ssp2" => Some(Box::new(int2e_gssp1ssp2)),
"int1e_sigma" => Some(Box::new(int1e_sigma)),
"int1e_spsigmasp" => Some(Box::new(int1e_spsigmasp)),
"int1e_srsr" => Some(Box::new(int1e_srsr)),
"int1e_sr" => Some(Box::new(int1e_sr)),
"int1e_srsp" => Some(Box::new(int1e_srsp)),
"int1e_spsp" => Some(Box::new(int1e_spsp)),
"int1e_sp" => Some(Box::new(int1e_sp)),
"int1e_spnucsp" => Some(Box::new(int1e_spnucsp)),
"int1e_sprinvsp" => Some(Box::new(int1e_sprinvsp)),
"int1e_srnucsr" => Some(Box::new(int1e_srnucsr)),
"int1e_sprsp" => Some(Box::new(int1e_sprsp)),
"int1e_govlp" => Some(Box::new(int1e_govlp)),
"int1e_gnuc" => Some(Box::new(int1e_gnuc)),
"int1e_cg_sa10sa01" => Some(Box::new(int1e_cg_sa10sa01)),
"int1e_cg_sa10sp" => Some(Box::new(int1e_cg_sa10sp)),
"int1e_cg_sa10nucsp" => Some(Box::new(int1e_cg_sa10nucsp)),
"int1e_giao_sa10sa01" => Some(Box::new(int1e_giao_sa10sa01)),
"int1e_giao_sa10sp" => Some(Box::new(int1e_giao_sa10sp)),
"int1e_giao_sa10nucsp" => Some(Box::new(int1e_giao_sa10nucsp)),
"int1e_sa01sp" => Some(Box::new(int1e_sa01sp)),
"int1e_spgsp" => Some(Box::new(int1e_spgsp)),
"int1e_spgnucsp" => Some(Box::new(int1e_spgnucsp)),
"int1e_spgsa01" => Some(Box::new(int1e_spgsa01)),
"int1e_kin" => Some(Box::new(int1e_kin)),
"int1e_ia01p" => Some(Box::new(int1e_ia01p)),
"int1e_giao_irjxp" => Some(Box::new(int1e_giao_irjxp)),
"int1e_cg_irxp" => Some(Box::new(int1e_cg_irxp)),
"int1e_giao_a11part" => Some(Box::new(int1e_giao_a11part)),
"int1e_cg_a11part" => Some(Box::new(int1e_cg_a11part)),
"int1e_a01gp" => Some(Box::new(int1e_a01gp)),
"int1e_igkin" => Some(Box::new(int1e_igkin)),
"int1e_igovlp" => Some(Box::new(int1e_igovlp)),
"int1e_ignuc" => Some(Box::new(int1e_ignuc)),
"int1e_pnucp" => Some(Box::new(int1e_pnucp)),
"int1e_z" => Some(Box::new(int1e_z)),
"int1e_zz" => Some(Box::new(int1e_zz)),
"int1e_r" => Some(Box::new(int1e_r)),
"int1e_r2" => Some(Box::new(int1e_r2)),
"int1e_r4" => Some(Box::new(int1e_r4)),
"int1e_rr" => Some(Box::new(int1e_rr)),
"int1e_rrr" => Some(Box::new(int1e_rrr)),
"int1e_rrrr" => Some(Box::new(int1e_rrrr)),
"int1e_z_origj" => Some(Box::new(int1e_z_origj)),
"int1e_zz_origj" => Some(Box::new(int1e_zz_origj)),
"int1e_r_origj" => Some(Box::new(int1e_r_origj)),
"int1e_rr_origj" => Some(Box::new(int1e_rr_origj)),
"int1e_r2_origj" => Some(Box::new(int1e_r2_origj)),
"int1e_r4_origj" => Some(Box::new(int1e_r4_origj)),
"int1e_p4" => Some(Box::new(int1e_p4)),
"int1e_prinvp" => Some(Box::new(int1e_prinvp)),
"int1e_prinvxp" => Some(Box::new(int1e_prinvxp)),
"int1e_pnucxp" => Some(Box::new(int1e_pnucxp)),
"int1e_irp" => Some(Box::new(int1e_irp)),
"int1e_irrp" => Some(Box::new(int1e_irrp)),
"int1e_irpr" => Some(Box::new(int1e_irpr)),
"int1e_ggovlp" => Some(Box::new(int1e_ggovlp)),
"int1e_ggkin" => Some(Box::new(int1e_ggkin)),
"int1e_ggnuc" => Some(Box::new(int1e_ggnuc)),
"int1e_grjxp" => Some(Box::new(int1e_grjxp)),
"int1e_rinv" => Some(Box::new(int1e_rinv)),
"int1e_drinv" => Some(Box::new(int1e_drinv)),
"int1e_ipipovlp" => Some(Box::new(int1e_ipipovlp)),
"int1e_ipovlpip" => Some(Box::new(int1e_ipovlpip)),
"int1e_ipipkin" => Some(Box::new(int1e_ipipkin)),
"int1e_ipkinip" => Some(Box::new(int1e_ipkinip)),
"int1e_ipipnuc" => Some(Box::new(int1e_ipipnuc)),
"int1e_ipnucip" => Some(Box::new(int1e_ipnucip)),
"int1e_ipiprinv" => Some(Box::new(int1e_ipiprinv)),
"int1e_iprinvip" => Some(Box::new(int1e_iprinvip)),
"int1e_ipipr" => Some(Box::new(int1e_ipipr)),
"int1e_iprip" => Some(Box::new(int1e_iprip)),
"int2e_ipip1" => Some(Box::new(int2e_ipip1)),
"int2e_ipvip1" => Some(Box::new(int2e_ipvip1)),
"int2e_ip1ip2" => Some(Box::new(int2e_ip1ip2)),
"int1e_ipippnucp" => Some(Box::new(int1e_ipippnucp)),
"int1e_ippnucpip" => Some(Box::new(int1e_ippnucpip)),
"int1e_ipipprinvp" => Some(Box::new(int1e_ipipprinvp)),
"int1e_ipprinvpip" => Some(Box::new(int1e_ipprinvpip)),
"int1e_ipipspnucsp" => Some(Box::new(int1e_ipipspnucsp)),
"int1e_ipspnucspip" => Some(Box::new(int1e_ipspnucspip)),
"int1e_ipipsprinvsp" => Some(Box::new(int1e_ipipsprinvsp)),
"int1e_ipsprinvspip" => Some(Box::new(int1e_ipsprinvspip)),
"int2e_ipip1ipip2" => Some(Box::new(int2e_ipip1ipip2)),
"int2e_ipvip1ipvip2" => Some(Box::new(int2e_ipvip1ipvip2)),
#[cfg(not(feature = "qcint"))]
"int1e_ipiprinvipip" => Some(Box::new(int1e_ipiprinvipip)),
#[cfg(not(feature = "qcint"))]
"int1e_ipipiprinvip" => Some(Box::new(int1e_ipipiprinvip)),
#[cfg(not(feature = "qcint"))]
"int1e_ipipipiprinv" => Some(Box::new(int1e_ipipipiprinv)),
"int2e_spsp1" => Some(Box::new(int2e_spsp1)),
"int2e_spsp1spsp2" => Some(Box::new(int2e_spsp1spsp2)),
"int2e_srsr1" => Some(Box::new(int2e_srsr1)),
"int2e_srsr1srsr2" => Some(Box::new(int2e_srsr1srsr2)),
"int2e_cg_sa10sp1" => Some(Box::new(int2e_cg_sa10sp1)),
"int2e_cg_sa10sp1spsp2" => Some(Box::new(int2e_cg_sa10sp1spsp2)),
"int2e_giao_sa10sp1" => Some(Box::new(int2e_giao_sa10sp1)),
"int2e_giao_sa10sp1spsp2" => Some(Box::new(int2e_giao_sa10sp1spsp2)),
"int2e_g1" => Some(Box::new(int2e_g1)),
"int2e_spgsp1" => Some(Box::new(int2e_spgsp1)),
"int2e_g1spsp2" => Some(Box::new(int2e_g1spsp2)),
"int2e_spgsp1spsp2" => Some(Box::new(int2e_spgsp1spsp2)),
"int2e_pp1" => Some(Box::new(int2e_pp1)),
"int2e_pp2" => Some(Box::new(int2e_pp2)),
"int2e_pp1pp2" => Some(Box::new(int2e_pp1pp2)),
"int2e_gauge_r1_ssp1ssp2" => Some(Box::new(int2e_gauge_r1_ssp1ssp2)),
"int2e_gauge_r1_ssp1sps2" => Some(Box::new(int2e_gauge_r1_ssp1sps2)),
"int2e_gauge_r1_sps1ssp2" => Some(Box::new(int2e_gauge_r1_sps1ssp2)),
"int2e_gauge_r1_sps1sps2" => Some(Box::new(int2e_gauge_r1_sps1sps2)),
"int2e_gauge_r2_ssp1ssp2" => Some(Box::new(int2e_gauge_r2_ssp1ssp2)),
"int2e_gauge_r2_ssp1sps2" => Some(Box::new(int2e_gauge_r2_ssp1sps2)),
"int2e_gauge_r2_sps1ssp2" => Some(Box::new(int2e_gauge_r2_sps1ssp2)),
"int2e_gauge_r2_sps1sps2" => Some(Box::new(int2e_gauge_r2_sps1sps2)),
"int3c2e_ip1" => Some(Box::new(int3c2e_ip1)),
"int3c2e_ip2" => Some(Box::new(int3c2e_ip2)),
"int3c2e_pvp1" => Some(Box::new(int3c2e_pvp1)),
"int3c2e_pvxp1" => Some(Box::new(int3c2e_pvxp1)),
"int2c2e_ip1" => Some(Box::new(int2c2e_ip1)),
"int2c2e_ip2" => Some(Box::new(int2c2e_ip2)),
"int3c2e_ig1" => Some(Box::new(int3c2e_ig1)),
"int3c2e_spsp1" => Some(Box::new(int3c2e_spsp1)),
"int3c2e_ipspsp1" => Some(Box::new(int3c2e_ipspsp1)),
"int3c2e_spsp1ip2" => Some(Box::new(int3c2e_spsp1ip2)),
"int3c2e_ipip1" => Some(Box::new(int3c2e_ipip1)),
"int3c2e_ipip2" => Some(Box::new(int3c2e_ipip2)),
"int3c2e_ipvip1" => Some(Box::new(int3c2e_ipvip1)),
"int3c2e_ip1ip2" => Some(Box::new(int3c2e_ip1ip2)),
"int2c2e_ipip1" => Some(Box::new(int2c2e_ipip1)),
"int2c2e_ip1ip2" => Some(Box::new(int2c2e_ip1ip2)),
_ => None,
}
}