aboutsummaryrefslogtreecommitdiff
path: root/src/NewPUGHSlab.h
diff options
context:
space:
mode:
authortradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035>2000-11-29 00:59:05 +0000
committertradke <tradke@10716dce-81a3-4424-a2c8-48026a0d3035>2000-11-29 00:59:05 +0000
commit7ee1d9d98121b398b6b654cc2ec213d35804bbbb (patch)
tree8436005abc49fa78455935370484d9841b892338 /src/NewPUGHSlab.h
parente847b302bfa4329eb6e5630d05eae0942cd701bb (diff)
Fixed the inconsistent passing of the hyperslab directions vector.
Now the directions are passed in as a set of N-dimensional vectors, one for each dimension of the hyperslab, and N being the dimension of the variable to extract the hyperslab from. That means nothing changes for 1D hyperslabs where you still pass in one vector (the direction vector). But eg. for 2D you now have to pass 2 vectors (the direction vectors spawning the hyperslab). I decided still to use integers for the vector components so you give it in units (of grid points). This also allows arbitrary hyperslab specifications although PUGHSlab can only do orthogonal hyperslabs. git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGHSlab/trunk@45 10716dce-81a3-4424-a2c8-48026a0d3035
Diffstat (limited to 'src/NewPUGHSlab.h')
-rw-r--r--src/NewPUGHSlab.h41
1 files changed, 26 insertions, 15 deletions
diff --git a/src/NewPUGHSlab.h b/src/NewPUGHSlab.h
index a531682..a61c611 100644
--- a/src/NewPUGHSlab.h
+++ b/src/NewPUGHSlab.h
@@ -17,21 +17,32 @@ typedef void (*PUGHSlab_conversion_fn) (void *hdata,
/* function prototypes */
-int NewHyperslab_GetLocalHyperslab (cGH *GH, int vindex, int vtimelvl,
- int hdim, int htype, PUGHSlab_conversion_fn copy_fn,
- const int global_startpoint [/*vdim*/],
- const int directions [/*vdim*/],
- const int lengths [/*hdim*/],
- const int downsample_ [/*hdim*/],
+int NewHyperslab_GetLocalHyperslab (cGH *GH,
+ int vindex,
+ int vtimelvl,
+ int hdim,
+ int htype,
+ PUGHSlab_conversion_fn copy_fn,
+ const int global_startpoint[/* vdim */],
+ const int directions[/* hdim * vdim */],
+ const int lengths[/* hdim */],
+ const int downsample_[/* hdim */],
void **hdata,
- int hsize [/*hdim*/], int ghsize [/*hdim*/],
- int hoffset [/*hdim*/]);
-int NewHyperslab_GetHyperslab (cGH *GH, int target_proc, int vindex, int vtimelvl,
- int hdim, int htype, PUGHSlab_conversion_fn copy_fn,
- const int global_startpoint [/*vdim*/],
- const int directions [/*vdim*/],
- const int lengths [/*hdim*/],
- const int downsample_ [/*hdim*/],
- void **hdata, int hsize [/*hdim*/]);
+ int hsize[/* hdim */],
+ int hsize_global[/* hdim */],
+ int hoffset_global[/* hdim */]);
+int NewHyperslab_GetHyperslab (cGH *GH,
+ int target_proc,
+ int vindex,
+ int vtimelvl,
+ int hdim,
+ int htype,
+ PUGHSlab_conversion_fn copy_fn,
+ const int global_startpoint [/* vdim */],
+ const int directions[/* hdim*vdim */],
+ const int lengths[/* hdim */],
+ const int downsample_[/* hdim */],
+ void **hdata,
+ int hsize[/* hdim */]);
PUGHSlab_conversion_fn PUGHSlab_GetDatatypeConversionFn (int vtype, int htype);