source: src/lib/chemistry/cca/ccaiter.h@ 42a775

Last change on this file since 42a775 was 5d30c1, checked in by Frederik Heber <heber@…>, 13 years ago

Initial commit based on 3.0.0alpha (here claimed as 2.4).

  • simply added all files.
  • Property mode set to 100644
File size: 576 bytes
Line 
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
10namespace MPQC {
11
12class CartesianIterCCA : public sc::CartesianIter {
13 int *avec, *bvec, *cvec;
14 public:
15 CartesianIterCCA(int l) : CartesianIter(l) {}
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
Note: See TracBrowser for help on using the repository browser.