From 73ce5610b307cb05cf3103ef7f9353f4b8d52b06 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 5 May 2017 00:19:33 +0200 Subject: [PATCH] heap sort --- plugins/Full_CI_ZMQ/selection_buffer.irp.f | 2 +- src/Utils/sort.irp.f | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/Full_CI_ZMQ/selection_buffer.irp.f b/plugins/Full_CI_ZMQ/selection_buffer.irp.f index 8a067357..902e2af7 100644 --- a/plugins/Full_CI_ZMQ/selection_buffer.irp.f +++ b/plugins/Full_CI_ZMQ/selection_buffer.irp.f @@ -51,7 +51,7 @@ subroutine sort_selection_buffer(b) allocate(iorder(b%cur), detmp(N_int, 2, size(b%det,3)), absval(b%cur), vals(size(b%val))) - absval = -dabs(b%val(:b%cur)) + absval = b%val(:b%cur) do i=1,b%cur iorder(i) = i end do diff --git a/src/Utils/sort.irp.f b/src/Utils/sort.irp.f index ee1e4cca..1ebf3b17 100644 --- a/src/Utils/sort.irp.f +++ b/src/Utils/sort.irp.f @@ -202,11 +202,11 @@ BEGIN_TEMPLATE if (isize < 2) then return endif - call sorted_$Xnumber(x,isize,n) - if (isize == n) then - return - endif - if ( isize < 32+n) then +! call sorted_$Xnumber(x,isize,n) +! if (isize == n) then +! return +! endif + if ( isize < 16) then call insertion_$Xsort(x,iorder,isize) else call heap_$Xsort(x,iorder,isize)