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