From c8d44ee72ec17eb61e5b2fef63411ec493a032da Mon Sep 17 00:00:00 2001
From: oawile <oawile@7c7fe9aa-52eb-4d9e-b0a8-ba7d787348e9>
Date: Thu, 18 Mar 2010 15:58:11 +0000
Subject: [PATCH] - fixed mapping routine calls, resolved #69

git-svn-id: https://ppm.inf.ethz.ch/svn/ppmnumerics/branches/ngtopo/libppmnumerics@602 7c7fe9aa-52eb-4d9e-b0a8-ba7d787348e9
---
 src/ppm_comp_pp_ring.f | 60 +++++++++++++++++-------------------------
 1 file changed, 24 insertions(+), 36 deletions(-)

diff --git a/src/ppm_comp_pp_ring.f b/src/ppm_comp_pp_ring.f
index 28c923a..b1378b3 100644
--- a/src/ppm_comp_pp_ring.f
+++ b/src/ppm_comp_pp_ring.f
@@ -313,18 +313,14 @@
       DO i = 1,hops
          !TODO: check the argument quantity accuracy
          CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_push,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_push,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-         CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info)
+         CALL ppm_map_part_push(pdata2,lda,Lpart,info)
+         CALL ppm_map_part_push(dpd2,lda,Lpart,info)
+
+         CALL ppm_map_part_send(Lpart,Lpart,info)
+
+         CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info)
+         CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info)
+         CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info)
 
          CALL ppm_comp_pp_doring(xp,pdata,dpd,Np,xp2,pdata2,dpd2,Lpart,  &
      &       lda,lsymm,kernel,kpar,0,info)
@@ -343,18 +339,14 @@
       IF (lsymm .AND. (MOD(ppm_nproc,2) .EQ. 0)) THEN
           !TODO: check the argument quantity accuracy
           CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_push,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_push,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info)
+          CALL ppm_map_part_push(pdata2,lda,Lpart,info)
+          CALL ppm_map_part_push(dpd2,lda,Lpart,info)
+
+          CALL ppm_map_part_send(Lpart,Lpart,info)
+
+          CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info)
+          CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info)
+          CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info)
 
           !---------------------------------------------------------------------
           !  The processor with the higher ppm_rank computes the upper half of
@@ -395,18 +387,14 @@
       IF (itarget .NE. ppm_rank) THEN
           !TODO: check the argument quantity accuracy
           CALL ppm_map_part_ring_shift(xp2,ppm_dim,Lpart,itarget,isource,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_push,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_push,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_send,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     dpd2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     pdata2,lda,Lpart,Lpart,ppm_param_map_pop,info)
-          CALL ppm_map_part(ppm_param_topo_undefined,ppm_param_topo_undefined, &
-     &                     xp2,ppm_dim,Lpart,Lpart,ppm_param_map_pop,info)
+          CALL ppm_map_part_push(pdata2,lda,Lpart,info)
+          CALL ppm_map_part_push(dpd2,lda,Lpart,info)
+
+          CALL ppm_map_part_send(Lpart,Lpart,info)
+
+          CALL ppm_map_part_pop(dpd2,lda,Lpart,Lpart,info)
+          CALL ppm_map_part_pop(pdata2,lda,Lpart,Lpart,info)
+          CALL ppm_map_part_pop(xp2,ppm_dim,Lpart,Lpart,info)
 
           IF (Lpart .NE. Np) THEN
              info = ppm_error_error
-- 
GitLab