build.h

00001 #ifdef __GNUG__
00002 #pragma interface
00003 #endif
00004 
00005 #ifndef _chemistry_qc_oint3_build_h
00006 #define _chemistry_qc_oint3_build_h
00007 
00008 #include <scconfig.h>
00009 #include <chemistry/qc/intv3/array.h>
00010 
00011 namespace sc {
00012 
00013 #define MG 3
00014 
00015 #define DECLARE_BUILD(ii,j,k,l) \
00016   int i ## ii ## j ## k ## l ();\
00017   int i ## ii ## j ## k ## l ## eAB ()
00018 
00019 class BuildIntV3 {
00020   public:
00021     double int_v_ooze;
00022     double int_v_zeta12;
00023     double int_v_zeta34;
00024     double int_v_oo2zeta12;
00025     double int_v_oo2zeta34;
00026     double int_v_W0;
00027     double int_v_W1;
00028     double int_v_W2;
00029     double int_v_p120;
00030     double int_v_p121;
00031     double int_v_p122;
00032     double int_v_p340;
00033     double int_v_p341;
00034     double int_v_p342;
00035     double int_v_r10;
00036     double int_v_r11;
00037     double int_v_r12;
00038     double int_v_r20;
00039     double int_v_r21;
00040     double int_v_r22;
00041     double int_v_r30;
00042     double int_v_r31;
00043     double int_v_r32;
00044     double int_v_r40;
00045     double int_v_r41;
00046     double int_v_r42;
00047     double int_v_k12;
00048     double int_v_k34;
00049     IntV3Arraydoublep3 int_v_list;
00050   public:
00051     BuildIntV3();
00052     ~BuildIntV3();
00053 
00054     int impossible_integral();
00055 
00056 #if (MG == 1) || (MG == 2) || (MG == 3) || (MG == 4)
00057     DECLARE_BUILD(0,1,0,0);
00058     DECLARE_BUILD(0,1,0,1);
00059     DECLARE_BUILD(0,1,1,1);
00060     DECLARE_BUILD(1,1,0,0);
00061     DECLARE_BUILD(1,1,1,1);
00062 #endif
00063 
00064 #if (MG == 2) || (MG == 3) || (MG == 4)
00065     DECLARE_BUILD(0,2,0,0);
00066     DECLARE_BUILD(0,2,0,1);
00067     DECLARE_BUILD(0,2,0,2);
00068     DECLARE_BUILD(0,2,1,1);
00069     DECLARE_BUILD(0,2,1,2);
00070     DECLARE_BUILD(0,2,2,2);
00071     DECLARE_BUILD(1,2,0,0);
00072     DECLARE_BUILD(1,2,0,1);
00073     DECLARE_BUILD(1,2,1,1);
00074     DECLARE_BUILD(1,2,1,2);
00075     DECLARE_BUILD(1,2,2,2);
00076     DECLARE_BUILD(2,2,0,0);
00077     DECLARE_BUILD(2,2,0,1);
00078     DECLARE_BUILD(2,2,1,1);
00079     DECLARE_BUILD(2,2,2,2);
00080 #endif
00081 
00082 #if (MG == 3) || (MG == 4)
00083     DECLARE_BUILD(0,3,0,0);
00084     DECLARE_BUILD(0,3,0,1);
00085     DECLARE_BUILD(0,3,0,2);
00086     DECLARE_BUILD(0,3,0,3);
00087     DECLARE_BUILD(0,3,1,1);
00088     DECLARE_BUILD(0,3,1,2);
00089     DECLARE_BUILD(0,3,1,3);
00090     DECLARE_BUILD(0,3,2,2);
00091     DECLARE_BUILD(0,3,2,3);
00092     DECLARE_BUILD(0,3,3,3);
00093     DECLARE_BUILD(1,3,0,0);
00094     DECLARE_BUILD(1,3,0,1);
00095     DECLARE_BUILD(1,3,0,2);
00096     DECLARE_BUILD(1,3,1,1);
00097     DECLARE_BUILD(1,3,1,2);
00098     DECLARE_BUILD(1,3,1,3);
00099     DECLARE_BUILD(1,3,2,2);
00100     DECLARE_BUILD(1,3,2,3);
00101     DECLARE_BUILD(1,3,3,3);
00102     DECLARE_BUILD(2,3,0,0);
00103     DECLARE_BUILD(2,3,0,1);
00104     DECLARE_BUILD(2,3,0,2);
00105     DECLARE_BUILD(2,3,1,1);
00106     DECLARE_BUILD(2,3,1,2);
00107     DECLARE_BUILD(2,3,2,2);
00108     DECLARE_BUILD(2,3,2,3);
00109     DECLARE_BUILD(2,3,3,3);
00110     DECLARE_BUILD(3,3,0,0);
00111     DECLARE_BUILD(3,3,0,1);
00112     DECLARE_BUILD(3,3,0,2);
00113     DECLARE_BUILD(3,3,1,1);
00114     DECLARE_BUILD(3,3,1,2);
00115     DECLARE_BUILD(3,3,2,2);
00116     DECLARE_BUILD(3,3,3,3);
00117 #endif
00118 };
00119 
00120 }
00121 
00122 #endif

Generated at Mon Dec 3 23:23:34 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.