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 Thu Jul 29 19:53:50 2004 for MPQC
2.2.1 using the documentation package Doxygen
1.3.7.