home | help
sc::Int2eV3(3)			      MPQC			  sc::Int2eV3(3)

NAME
     sc::Int2eV3  -  Int2eV3  is  a class wrapper for the two body part of the C
     language IntV3 library.

SYNOPSIS
     #include <int2e.h>

     Inherits sc::RefCount.

   Classes
     struct store_list

   Public Types
     enum { STORAGE_CHUNK = 4096 }

   Public Member Functions
     Int2eV3 (Integral *, const Ref< GaussianBasisSet > &bs1, const  Ref<  Gaus-
	 sianBasisSet  >  &bs2,  const	Ref< GaussianBasisSet > &bs3, const Ref<
	 GaussianBasisSet > &bs4, int order, size_t storage)
     void init_storage (int size)
     void done_storage ()
     int storage_used ()
     void init_bounds ()
     void init_bounds_1der ()
     void done_bounds ()
     void done_bounds_1der ()
     int redundant ()
     void set_redundant (int i)
     int permute ()
     void set_permute (int i)
     int used_storage () const
     void erep (int &psh1, int &psh2, int &psh3, int &psh4)
     void erep (int *shells, int *sizes)
     void erep_all1der (int &psh1, int &psh2, int  &psh3,  int	&psh4,	der_cen-
	 tersv3_t *der_centers)
     void erep_all1der (int *shells, int *sizes, der_centersv3_t *dercenters)
     void erep_2center (int &psh1, int &psh2)
     void erep_2center (int *shells, int *sizes)
     void erep_3center (int &psh1, int &psh2, int &psh3)
     void erep_3center (int *shells, int *sizes)
     int erep_4bound (int s1, int s2, int s3, int s4)
     int erep_4bound_1der (int s1, int s2, int s3, int s4)
     double * buffer ()
     Ref< GaussianBasisSet > basis ()
     Ref< GaussianBasisSet > basis1 ()
     Ref< GaussianBasisSet > basis2 ()
     Ref< GaussianBasisSet > basis3 ()
     Ref< GaussianBasisSet > basis4 ()
     Ref< GaussianBasisSet > cs1 () const
     Ref< GaussianBasisSet > cs2 () const
     Ref< GaussianBasisSet > cs3 () const
     Ref< GaussianBasisSet > cs4 () const
     GaussianBasisSet * pcs1 () const
     GaussianBasisSet * pcs2 () const
     GaussianBasisSet * pcs3 () const
     GaussianBasisSet * pcs4 () const

     Public Member Functions inherited from sc::RefCount
     int lock_ptr () const
	 Lock this object.
     int unlock_ptr () const
	 Unlock this object.
     void use_locks (bool inVal)
	 start and stop using locks on this object
     refcount_t nreference () const
	 Return the reference count.
     refcount_t reference ()
	 Increment the reference count and return the new count.
     refcount_t dereference ()
	 Decrement the reference count and return the new count.
     int managed () const
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   Static Public Member Functions
     static double logbound_to_bound (int)
     static int bound_to_logbound (double value)

   Protected Types
     enum { int_bound_min = SCHAR_MIN, int_bound_max = SCHAR_MAX }
     typedef struct store_list store_list_t
     typedef int(BuildIntV3::* intfunc) ()
     typedef signed char int_bound_t

   Protected Member Functions
     void add_store (void *p)
     void free_store ()
     void _free_store (store_list_t *s, int n)
     void  build_not_using_gcs	(int nc1, int nc2, int nc3, int nc4, int minam1,
	 int minam3, int maxam12, int maxam34, int dam1, int dam2, int dam3, int
	 dam4, int eAB)
     void build_using_gcs (int nc1, int nc2, int nc3, int nc4, int  minam1,  int
	 minam3,  int  maxam12,  int  maxam34, int dam1, int dam2, int dam3, int
	 dam4, int eAB)
     void gen_prim_intermediates (int pr1, int pr2, int pr3, int pr4, int am)
     void gen_prim_intermediates_with_norm (int pr1, int pr2, int pr3, int  pr4,
	 int am, double norm)
     void gen_shell_intermediates (int sh1, int sh2, int sh3, int sh4)
     void blockbuildprim (int minam1, int maxam12, int minam3, int maxam34)
     void blockbuildprim_1 (int am12min, int am12max, int am34, int m)
     void blockbuildprim_3 (int am34min, int am34max, int m)
     void  int_init_buildgc  (int order, int am1, int am2, int am3, int am4, int
	 nc1, int nc2, int nc3, int nc4)
     void int_done_buildgc ()
     void int_buildgcam (int minam1, int minam2, int  minam3,  int  minam4,  int
	 maxam1,  int  maxam2,	int  maxam3, int maxam4, int dam1, int dam2, int
	 dam3, int dam4, int sh1, int sh2, int sh3, int sh4, int eAB)
     void int_offset_print (std::ostream &, double *buffer, Ref<  GaussianBasis-
	 Set  > c1, int s1, Ref< GaussianBasisSet > c2, int s2, Ref< GaussianBa-
	 sisSet > c3, int s3, Ref< GaussianBasisSet > c4, int s4)
     void int_offset_print_n (std::ostream &, double *buffer, int  n1,	int  n2,
	 int  n3,  int	n4, int o1, int o2, int o3, int o4, int e12, int e13e24,
	 int e34)
     void int_print (std::ostream &, double *buffer, Ref< GaussianBasisSet > c1,
	 int s1, Ref< GaussianBasisSet > c2, int s2, Ref< GaussianBasisSet > c3,
	 int s3, Ref< GaussianBasisSet > c4, int s4)
     void int_print_n (std::ostream &, double *buffer, int n1, int n2,	int  n3,
	 int n4, int e12, int e13e24, int e34)
     void int_print_intermediates (std::ostream &)
     void  shiftam_12 (double *I0100, double *I1000, double *I0000, int am1, int
	 am2, int am3, int am4)
     void shiftam_12eAB (double *I0100, double *I1000, double *I0000,  int  am1,
	 int am2, int am3, int am4)
     void  shiftam_34 (double *I0001, double *I0010, double *I0000, int am1, int
	 am2, int am3, int am4)
     void int_init_shiftgc (int order, int am1, int am2, int am3, int am4)
     void int_done_shiftgc ()
     double * int_shiftgcam (int gc1, int gc2, int gc3, int gc4, int  tam1,  int
	 tam2, int tam3, int tam4, int peAB)
     void alloc_inter (int nprim, int nshell)
     void compute_shell_1 (Ref< GaussianBasisSet > cs, int, int)
     void  compute_prim_2 (Ref< GaussianBasisSet > cs1, int, int, Ref< Gaussian-
	 BasisSet > cs2, int, int)
     double * int_initialize_erep (size_t storage, int order, const  Ref<  Gaus-
	 sianBasisSet  >  &cs1,  const	Ref< GaussianBasisSet > &cs2, const Ref<
	 GaussianBasisSet > &cs3, const Ref< GaussianBasisSet > &cs4)
     void int_done_erep ()
     void transform_init ()
     void transform_done ()
     void source_space (int nsource)
     void copy_to_source (double *integrals, int nsource)
     void do_gencon_sparse_transform_2e  (Integral  *integ,  double  *integrals,
	 double  *target,  int	index,	GaussianShell  *sh1, GaussianShell *sh2,
	 GaussianShell *sh3, GaussianShell *sh4)
     void transform_2e_slow (Integral  *,  double  *integrals,	double	*target,
	 GaussianShell	*sh1,  GaussianShell *sh2, GaussianShell *sh3, Gaussian-
	 Shell *sh4)
     void transform_2e (Integral *, double *integrals, double *target, Gaussian-
	 Shell *sh1, GaussianShell *sh2, GaussianShell *sh3, GaussianShell *sh4)
     void compute_erep (int flags, int *psh1, int *psh2, int *psh3,  int  *psh4,
	 int dam1, int dam2, int dam3, int dam4)
     void  compute_erep_1der  (int  flags, double *buffer, int *psh1, int *psh2,
	 int *psh3, int *psh4, int dercenter)
     void nonredundant_erep (double *buffer, int e12, int e34, int  e13e24,  int
	 n1, int n2, int n3, int n4, int *red_off, int *nonred_off)
     void  compute_erep_bound1der  (int  flags,  double  *buffer, int *psh1, int
	 *psh2, int *psh3, int *psh4)
     void int_erep_bound1der (int flags, int bsh1, int bsh2, int *size)
     void int_init_bounds_nocomp ()
     void int_init_bounds_1der_nocomp ()
     void int_bounds_comp (int s1, int s2)
     void int_bounds_1der_comp (int s1, int s2)
     int int_erep_2bound (int s1, int s2)
     int int_erep_0bound_1der ()
     int int_erep_2bound_1der (int s1, int s2)
     void compute_bounds (int_bound_t *overall, int_bound_t *vec, int flag)
     void compute_bounds_shell	(int_bound_t  *overall,  int_bound_t  *vec,  int
	 flag, int sh1, int sh2)
     int  int_have_stored_integral (int sh1, int sh2, int sh3, int sh4, int p12,
	 int p34, int p13p24)
     void int_store_integral (int sh1, int sh2, int sh3, int sh4, int  p12,  int
	 p34, int p13p24, int size)
     void int_initialize_offsets2 ()
     void int_done_offsets2 ()
     void make_int_unit_shell ()
     void delete_int_unit_shell ()

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

   Protected Attributes
     Integral * integral_
     BuildIntV3 build
     Ref< IntegralStorer > storer
     Ref< GaussianBasisSet > bs1_
     Ref< GaussianBasisSet > bs2_
     Ref< GaussianBasisSet > bs3_
     Ref< GaussianBasisSet > bs4_
     Ref< GaussianBasisSet > pbs1_
     Ref< GaussianBasisSet > pbs2_
     Ref< GaussianBasisSet > pbs3_
     Ref< GaussianBasisSet > pbs4_
     Ref< MessageGrp > grp_
     int bs1_shell_offset_
     int bs2_shell_offset_
     int bs3_shell_offset_
     int bs4_shell_offset_
     int bs1_func_offset_
     int bs2_func_offset_
     int bs3_func_offset_
     int bs4_func_offset_
     int bs1_prim_offset_
     int bs2_prim_offset_
     int bs3_prim_offset_
     int bs4_prim_offset_
     int n_store_last
     store_list_t * store
     intfunc build_routine [4][4][4][4][2]
     int osh1
     int osh2
     int osh3
     int osh4
     int opr1
     int opr2
     int opr3
     int opr4
     int saved_am12
     int saved_am34
     int saved_ncon
     IntV3Arrayint3 contract_length
     int g1
     int g2
     int g3
     int g4
     double AmB [3]
     double CmD [3]
     int eAB
     double * buf34
     double * buf12
     double * bufshared
     int redundant_
     int permute_
     Ref< FJT > fjt_
     int * int_shell_to_prim
     IntV3Arraydouble2 int_shell_r
     IntV3Arraydouble2 int_prim_zeta
     IntV3Arraydouble2 int_prim_k
     IntV3Arraydouble2 int_prim_oo2zeta
     IntV3Arraydouble3 int_prim_p
     double * int_buffer
     double * int_derint_buffer
     Ref< GaussianBasisSet > int_cs1
     Ref< GaussianBasisSet > int_cs2
     Ref< GaussianBasisSet > int_cs3
     Ref< GaussianBasisSet > int_cs4
     GaussianShell * int_shell1
     GaussianShell * int_shell2
     GaussianShell * int_shell3
     GaussianShell * int_shell4
     IntV3Arraydoublep2 **** e0f0_con_ints_array
     int int_expweight1
     int int_expweight2
     int int_expweight3
     int int_expweight4
     int int_unit2
     int int_unit4
     GaussianShell * int_unit_shell
     int int_integral_storage
     int int_store1
     int int_store2
     int int_derivative_bounds
     double * source
     double * target
     double * scratch
     int nsourcemax
     int_bound_t int_Q
     int_bound_t int_R
     int_bound_t * int_Qvec
     int_bound_t * int_Rvec
     int used_storage_
     int used_storage_build_
     int used_storage_shift_

Detailed Description
     Int2eV3  is  a  class wrapper for the two body part of the C language IntV3
     library.

     It is used by TwoBodyIntV3 and TwoBodyDerivIntV3 to implement IntegralV3.

Author
     Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			 Thu Sep 3 2026 		  sc::Int2eV3(3)

home | help