diff --git a/Basis/ContractedShellPair.ml b/Basis/ContractedShellPair.ml index c34b105..69428ed 100644 --- a/Basis/ContractedShellPair.ml +++ b/Basis/ContractedShellPair.ml @@ -87,8 +87,8 @@ let create ?cutoff p_a p_b = Cs.(center p_a = center p_b) in let totAngMomInt = - Am.to_int (Cs.totAngMom p_a) + - Am.to_int (Cs.totAngMom p_b) + Am.(Cs.totAngMom p_a + Cs.totAngMom p_b) + |> Am.to_int in Some { Sp.i ; j ; diff --git a/Basis/OneElectronRR.ml b/Basis/OneElectronRR.ml index a7d800c..640f4a3 100644 --- a/Basis/OneElectronRR.ml +++ b/Basis/OneElectronRR.ml @@ -101,7 +101,8 @@ let contracted_class_shell_pair ~zero_m shell_p geometry : float Zmap.t = and shell_b = Csp.shell_b shell_p in let maxm = - Am.to_int (Cs.totAngMom shell_a) + Am.to_int (Cs.totAngMom shell_b) + Am.(Cs.totAngMom shell_a + Cs.totAngMom shell_b) + |> Am.to_int in (* Pre-computation of integral class indices *) diff --git a/Utils/AngularMomentum.ml b/Utils/AngularMomentum.ml index fea8c85..bcea44b 100644 --- a/Utils/AngularMomentum.ml +++ b/Utils/AngularMomentum.ml @@ -144,3 +144,10 @@ let zkey_array a = Hashtbl.add zkey_array_memo a result; result + +let ( + ) a b = + of_int ( (to_int a) + (to_int b) ) + +let ( - ) a b = + of_int ( (to_int a) - (to_int b) ) + diff --git a/Utils/AngularMomentum.mli b/Utils/AngularMomentum.mli index e71efec..2ed7a8f 100644 --- a/Utils/AngularMomentum.mli +++ b/Utils/AngularMomentum.mli @@ -85,3 +85,7 @@ val zkey_array : kind -> Zkey.t array ]} *) + +val ( + ) : t -> t -> t +val ( - ) : t -> t -> t +