source: ThirdParty/mpqc_open/src/lib/chemistry/cca/ccaiter.h@ 7516f6

Action_Thermostats Adding_MD_integration_tests Adding_StructOpt_integration_tests AutomationFragmentation_failures Candidate_v1.6.1 ChemicalSpaceEvaluator Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Exclude_Hydrogens_annealWithBondGraph Fix_Verbose_Codepatterns ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion Gui_displays_atomic_force_velocity JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool PythonUI_with_named_parameters Recreated_GuiChecks StoppableMakroAction TremoloParser_IncreasedPrecision
Last change on this file since 7516f6 was 860145, checked in by Frederik Heber <heber@…>, 8 years ago

Merge commit '0b990dfaa8c6007a996d030163a25f7f5fc8a7e7' as 'ThirdParty/mpqc_open'

  • 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.