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
10namespace 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
Definition ccaiter.h:12
void next()
Move to the next Cartesian function.
Definition ccaiter.h:20
void start()
Start the iteration.
Definition ccaiter.h:16
CartesianIter gives the ordering of the Cartesian functions within a shell for the particular integra...
Definition cartiter.h:39
CartesianIter(int l)
Initialize an iterator for the given angular momentum.
int l()
Returns the angular momentum.
Definition cartiter.h:68

Generated at Fri Jan 31 2025 00:00:00 for MPQC 2.3.1 using the documentation package Doxygen 1.12.0.