source:
src/lib/chemistry/cca/ccaiter.h@
5d30c1
| Last change on this file since 5d30c1 was 5d30c1, checked in by , 13 years ago | |
|---|---|
|
|
| File size: 576 bytes | |
| Rev | Line | |
|---|---|---|
| [5d30c1] | 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 | ||
| 12 | class 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.
