~ubuntu-branches/ubuntu/vivid/psicode/vivid

« back to all changes in this revision

Viewing changes to src/bin/ccsort/e_sort.cc

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck, Michael Banck, Daniel Leidert
  • Date: 2009-02-23 00:12:02 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090223001202-rutldoy3dimfpesc
Tags: 3.4.0-1
* New upstream release.

[ Michael Banck ]
* debian/patches/01_DESTDIR.dpatch: Refreshed.
* debian/patches/02_FHS.dpatch: Removed, applied upstream.
* debian/patches/03_debian_docdir: Likewise.
* debian/patches/04_man.dpatch: Likewise.
* debian/patches/06_466828_fix_gcc_43_ftbfs.dpatch: Likewise.
* debian/patches/07_464867_move_executables: Fixed and refreshed.
* debian/patches/00list: Adjusted.
* debian/control: Improved description.
* debian/patches-held: Removed.
* debian/rules (install/psi3): Do not ship the ruby bindings for now.

[ Daniel Leidert ]
* debian/rules: Fix txtdir via DEB_MAKE_INSTALL_TARGET.
* debian/patches/01_DESTDIR.dpatch: Refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*! \file
 
2
    \ingroup CCSORT
 
3
    \brief Enter brief description of file here 
 
4
*/
 
5
#include <cstdio>
 
6
#include <cstdlib>
 
7
#include <libdpd/dpd.h>
 
8
#include "Params.h"
 
9
#include "MOInfo.h"
 
10
#define EXTERN
 
11
#include "globals.h"
 
12
 
 
13
namespace psi { namespace ccsort {
 
14
 
 
15
void e_sort(void)
 
16
{
 
17
  dpdbuf4 E;
 
18
 
 
19
  if(params.ref == 2) {  /** UHF **/
 
20
    /*** AA ***/
 
21
    /* <ij|ka> */
 
22
    dpd_buf4_init(&E, CC_EINTS, 0, 21, 0, 21, 0, 0, "E <AI|JK>");
 
23
    dpd_buf4_sort(&E, CC_EINTS, srqp, 0, 20, "E <IJ|KA>");
 
24
    dpd_buf4_close(&E);
 
25
 
 
26
    /* <ij||ka> (i>j,ka) */
 
27
    dpd_buf4_init(&E, CC_EINTS, 0, 21, 0, 21, 0, 1, "E <AI|JK>");
 
28
    dpd_buf4_sort(&E, CC_EINTS, srqp, 2, 20, "E <IJ||KA> (I>J,KA)");
 
29
    dpd_buf4_close(&E);
 
30
 
 
31
    /* <ij||ka> (i>j,ak) */
 
32
    dpd_buf4_init(&E, CC_EINTS, 0, 2, 20, 2, 20, 0, "E <IJ||KA> (I>J,KA)");
 
33
    dpd_buf4_sort(&E, CC_EINTS, pqsr, 2, 21, "E <IJ||KA> (I>J,AK)");
 
34
    dpd_buf4_close(&E);
 
35
 
 
36
    /*** BB ***/
 
37
    /* <ij|ka> */
 
38
    dpd_buf4_init(&E, CC_EINTS, 0, 31, 10, 31, 10, 0, "E <ai|jk>");
 
39
    dpd_buf4_sort(&E, CC_EINTS, srqp, 10, 30, "E <ij|ka>");
 
40
    dpd_buf4_close(&E);
 
41
 
 
42
    /* <ij||ka> (i>j,ka) */
 
43
    dpd_buf4_init(&E, CC_EINTS, 0, 31, 10, 31, 10, 1, "E <ai|jk>");
 
44
    dpd_buf4_sort(&E, CC_EINTS, srqp, 12, 30, "E <ij||ka> (i>j,ka)");
 
45
    dpd_buf4_close(&E);
 
46
 
 
47
    /* <ij||ka> (i>j,ak) */
 
48
    dpd_buf4_init(&E, CC_EINTS, 0, 12, 30, 12, 30, 0, "E <ij||ka> (i>j,ka)");
 
49
    dpd_buf4_sort(&E, CC_EINTS, pqsr, 12, 31, "E <ij||ka> (i>j,ak)");
 
50
    dpd_buf4_close(&E);
 
51
 
 
52
    /*** AB ***/
 
53
    /* <iJ|kA> */
 
54
    dpd_buf4_init(&E, CC_EINTS, 0, 26, 22, 26, 22, 0, "E <Ai|Jk>");
 
55
    dpd_buf4_sort(&E, CC_EINTS, qrsp, 23, 27, "E <iJ|kA>");
 
56
    dpd_buf4_close(&E);
 
57
 
 
58
    /* <Ij|Ak> */
 
59
    dpd_buf4_init(&E, CC_EINTS, 0, 23, 27, 23, 27, 0, "E <iJ|kA>");
 
60
    dpd_buf4_sort(&E, CC_EINTS, qpsr, 22, 26, "E <Ij|Ak>");
 
61
    dpd_buf4_close(&E);
 
62
 
 
63
    /* <iJ|aK> */
 
64
    dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
 
65
    dpd_buf4_sort(&E, CC_EINTS, qpsr, 23, 25, "E <iJ|aK>");
 
66
    dpd_buf4_close(&E);
 
67
 
 
68
    /* <Ia|Jk> */
 
69
    dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
 
70
    dpd_buf4_sort(&E, CC_EINTS, rspq, 24, 22, "E <Ia|Jk>");
 
71
    dpd_buf4_close(&E);
 
72
 
 
73
  }
 
74
  else {  /** RHF/ROHF **/
 
75
    /* <ij|ka> */
 
76
    dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
 
77
    dpd_buf4_sort(&E, CC_EINTS, srqp, 0, 10, "E <ij|ka>");
 
78
    dpd_buf4_close(&E);
 
79
 
 
80
    /* <ij||ka> (i>j,ka) */
 
81
    dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 1, "E <ai|jk>");
 
82
    dpd_buf4_sort(&E, CC_EINTS, srqp, 2, 10, "E <ij||ka> (i>j,ka)");
 
83
    dpd_buf4_close(&E);
 
84
 
 
85
    /* <ij|ka> (ij,ak) */
 
86
    dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
 
87
    dpd_buf4_sort(&E, CC_EINTS, pqsr, 0, 11, "E <ij|ka> (ij,ak)");
 
88
    dpd_buf4_close(&E);
 
89
 
 
90
    /* <ij||ka> (i>j,ak) */
 
91
    dpd_buf4_init(&E, CC_EINTS, 0, 2, 10, 2, 10, 0, "E <ij||ka> (i>j,ka)");
 
92
    dpd_buf4_sort(&E, CC_EINTS, pqsr, 2, 11, "E <ij||ka> (i>j,ak)");
 
93
    dpd_buf4_close(&E);
 
94
 
 
95
    /* <ia|jk> */
 
96
    dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
 
97
    dpd_buf4_sort(&E, CC_EINTS, qpsr, 10, 0, "E <ia|jk>");
 
98
    dpd_buf4_close(&E);
 
99
 
 
100
    /* <ij|ak> */
 
101
    dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
 
102
    dpd_buf4_sort(&E, CC_EINTS, rspq, 0, 11, "E <ij|ak>");
 
103
    dpd_buf4_close(&E);
 
104
  }
 
105
}
 
106
 
 
107
}} // namespace psi::ccsort