implemented real*8 version of direct halo exchange