MPQC
2.3.1
src
lib
chemistry
cca
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
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
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.