From dc5e5f024df3fc635a8ecfddac1664294bcd7698 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 18 Apr 2017 16:25:37 +0200 Subject: [PATCH] fixed Davidson --- src/Determinants/spindeterminants.irp.f | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Determinants/spindeterminants.irp.f b/src/Determinants/spindeterminants.irp.f index c7195601..2c08d64a 100644 --- a/src/Determinants/spindeterminants.irp.f +++ b/src/Determinants/spindeterminants.irp.f @@ -1043,17 +1043,15 @@ subroutine get_all_spin_singles_1(buffer, idx, spindet, size_buffer, singles, n_ integer(bit_kind), intent(in) :: spindet integer, intent(out) :: singles(size_buffer) integer, intent(out) :: n_singles - integer :: i - integer(bit_kind) :: xorvec + integer :: i integer :: degree - !DIR$ ATTRIBUTES ALIGN : 64 :: xorvec include 'Utils/constants.include.F' n_singles = 1 do i=1,size_buffer - degree = popcnt(xor( spindet, buffer(i) )) - if ( degree == 2 ) then - singles(n_singles) = idx(i) + degree = popcnt(xor( spindet, buffer(i) )) + singles(n_singles) = idx(i) + if (degree == 2) then n_singles = n_singles+1 endif enddo