MPQC  2.3.1
ccaiter.h
1 #ifdef __GNUG__
2 #pragma interface
3 #endif
4 
5 #ifndef _ccaiter_h
6 #define _ccaiter_h
7 
8 #include <chemistry/qc/basis/cartiter.h>
9 
10 namespace MPQC {
11 
13  int *avec, *bvec, *cvec;
14  public:
16  void start() {
17  bfn_=b_=c_=0;
18  a_=l_;
19  }
20  void next() {
21  if (c_ < l_ - a_) {
22  b_--;
23  c_++;
24  }
25  else {
26  a_--;
27  c_ = 0;
28  b_ = l_ - a_;
29  }
30  bfn_++;
31  }
32  operator int() {
33  return (a_ >= 0);
34  }
35 };
36 
37 }
38 
39 #endif
MPQC::CartesianIterCCA
Definition: ccaiter.h:12
sc::CartesianIter::CartesianIter
CartesianIter(int l)
Initialize an iterator for the given angular momentum.
sc::CartesianIter
CartesianIter gives the ordering of the Cartesian functions within a shell for the particular integra...
Definition: cartiter.h:39
sc::CartesianIter::l
int l()
Returns the angular momentum.
Definition: cartiter.h:68
MPQC::CartesianIterCCA::start
void start()
Start the iteration.
Definition: ccaiter.h:16
MPQC::CartesianIterCCA::next
void next()
Move to the next Cartesian function.
Definition: ccaiter.h:20

Generated at Sun Jan 26 2020 23:33:03 for MPQC 2.3.1 using the documentation package Doxygen 1.8.16.