MPQC 2.3.1

- Main Page
- Related Pages
- Classes
- Files

- File List

chemistry/qc/mbpt/util.h
1 //
2 // util.h
3 //
4 // Copyright (C) 1997 Limit Point Systems, Inc.
5 //
6 // Author: Curtis Janssen <cljanss@limitpt.com>
7 // Maintainer: LPS
8 //
9 // This file is part of the SC Toolkit.
10 //
11 // The SC Toolkit is free software; you can redistribute it and/or modify
12 // it under the terms of the GNU Library General Public License as published by
13 // the Free Software Foundation; either version 2, or (at your option)
14 // any later version.
15 //
16 // The SC Toolkit is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU Library General Public License for more details.
20 //
21 // You should have received a copy of the GNU Library General Public License
22 // along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23 // the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24 //
25 // The U.S. Government is granted a limited license as per AL 91-7.
26 //
27
28 #ifndef _chemistry_qc_mbpt_util_h
29 #define _chemistry_qc_mbpt_util_h
30
31 #ifdef __GNUC__
32 #pragma interface
33 #endif
34
35 #include <util/group/message.h>
36
37 namespace sc {
38
39 class BiggestContribs {
40 private:
41 int nindex_;
42 int **indices_;
43 double *vals_;
44 int ncontrib_;
45 int maxcontrib_;
46 public:
47 BiggestContribs(int nindex, int maxcontrib);
48 ~BiggestContribs();
49 double val(int i) { return vals_[i]; }
50 int ncontrib() { return ncontrib_; }
51 const int *indices(int i) { return indices_[i]; }
52 void insert(double val, const int *);
53 void insert(double val, int i0, int i1);
54 void insert(double val, int i0, int i1, int i2, int i3);
55 void insert(double val, int i0, int i1, int i2, int i3, int i4);
56 void combine(const Ref<MessageGrp> &grp);
57 };
58
59 }
60
61 #endif
62
63 // Local Variables:
64 // mode: c++
65 // c-file-style: "CLJ"
66 // End: