double electron_repulsion_integral
(
   int nxa,int nya, int nza, double alp_a, VECTOR& Ra,
   int nxb,int nyb, int nzb, double alp_b, VECTOR& Rb,
   int nxc,int nyc, int nzc, double alp_c, VECTOR& Rc,
   int nxd,int nyd, int nzd, double alp_d, VECTOR& Rd,
   int is_normalize, 
   int is_derivs,  VECTOR& DA,VECTOR& DB,VECTOR& DC,VECTOR& DD
){

  // Allocate working memory
  int i;
  int n_aux = 40;
  int n_auxv = 40;
  vector<double*> auxd(30);
  for(i=0;i<30;i++){ auxd[i] = new double[n_aux]; }
  vector<VECTOR*> auxv(5);
  for(i=0;i<5;i++){ auxv[i] = new VECTOR[n_auxv]; }

  // Do computations
  double res = electron_repulsion_integral(nxa,nya,nza,alp_a,Ra, nxb,nyb,nzb,alp_b,Rb,
                                           nxc,nyc,nzc,alp_c,Rc, nxd,nyd,nzd,alp_d,Rd,
                                           is_normalize, is_derivs, DA, DB, DC, DD,
                                           auxd, n_aux, auxv, n_auxv);
  // Clean working memory
  for(i=0;i<30;i++){ delete [] auxd[i]; }  
  auxd.clear();
  for(i=0;i<5;i++){ delete [] auxv[i]; }  
  auxv.clear();

  return res;

}// eri - without externam memory allocation
Exemple #2
0
 inline unsigned int hwcap() { return auxv(AT_HWCAP); }