From fa2187fea02cb7a8522d94e2f7b6a5313ef81829 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 Jan 2016 01:08:07 +0100 Subject: [PATCH] Corrected again bug for 64th MO --- src/Determinants/slater_rules.irp.f | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Determinants/slater_rules.irp.f b/src/Determinants/slater_rules.irp.f index 6ece0aba..202d310d 100644 --- a/src/Determinants/slater_rules.irp.f +++ b/src/Determinants/slater_rules.irp.f @@ -220,8 +220,10 @@ subroutine get_double_excitation(det1,det2,exc,phase,Nint) ibclr(-1_bit_kind,n)+1_bit_kind ) )) else nperm = nperm + popcnt(iand(det1(k,ispin), & - ibset(0_bit_kind,m-1)-1_bit_kind)) + & - popcnt(iand(det1(j,ispin), ibclr(-1_bit_kind,n) +1_bit_kind)) + ibset(0_bit_kind,m-1)-1_bit_kind)) + if (n < bit_kind_size) then + nperm = nperm + popcnt(iand(det1(j,ispin), ibclr(-1_bit_kind,n) +1_bit_kind)) + endif do i=j+1,k-1 nperm = nperm + popcnt(det1(i,ispin)) end do @@ -246,8 +248,10 @@ subroutine get_double_excitation(det1,det2,exc,phase,Nint) ibclr(-1_bit_kind,n)+1_bit_kind ) )) else nperm = nperm + popcnt(iand(det1(k,ispin), & - ibset(0_bit_kind,m-1)-1_bit_kind)) + & - popcnt(iand(det1(j,ispin), ibclr(-1_bit_kind,n) +1_bit_kind)) + ibset(0_bit_kind,m-1)-1_bit_kind)) + if (n < bit_kind_size) then + nperm = nperm + popcnt(iand(det1(j,ispin), ibclr(-1_bit_kind,n) +1_bit_kind)) + endif do l=j+1,k-1 nperm = nperm + popcnt(det1(l,ispin)) end do @@ -334,9 +338,10 @@ subroutine get_mono_excitation(det1,det2,exc,phase,Nint) nperm = popcnt(iand(det1(j,ispin), & iand(ibset(0_bit_kind,m-1)-1_bit_kind,ibclr(-1_bit_kind,n)+1_bit_kind))) else - nperm = nperm + & - popcnt(iand(det1(k,ispin),ibset(0_bit_kind,m-1)-1_bit_kind)) +& - popcnt(iand(det1(j,ispin),ibclr(-1_bit_kind,n)+1_bit_kind)) + nperm = nperm + popcnt(iand(det1(k,ispin),ibset(0_bit_kind,m-1)-1_bit_kind)) + if (n < bit_kind_size) then + nperm = nperm + popcnt(iand(det1(j,ispin),ibclr(-1_bit_kind,n)+1_bit_kind)) + endif do i=j+1,k-1 nperm = nperm + popcnt(det1(i,ispin)) end do