aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2012-01-31 16:47:49 -0800
committerThomas White <taw@physics.org>2012-02-22 15:27:45 +0100
commit5ab26bafd351cc8ac412ce5993c9ddedf34c6683 (patch)
tree85ad79dc15b9ea109b6ea14cef0e4aebae9ada47
parentf2b970be0091796f1c86b78ef706bd35e30e9679 (diff)
Add point group mmm to GPU simulation
-rw-r--r--data/diffraction.cl11
-rw-r--r--src/diffraction-gpu.c2
2 files changed, 13 insertions, 0 deletions
diff --git a/data/diffraction.cl b/data/diffraction.cl
index 3442e63a..f8be5179 100644
--- a/data/diffraction.cl
+++ b/data/diffraction.cl
@@ -157,6 +157,17 @@ float molecule_factor(global float *intensities, global float *flags,
val += lookup_flagged_intensity(intensities, flags, -h, -k, -l);
#endif /* PG1BAR */
+ #ifdef PGMMM
+ val += lookup_flagged_intensity(intensities, flags, h, k, l);
+ val += lookup_flagged_intensity(intensities, flags, -h, -k, l);
+ val += lookup_flagged_intensity(intensities, flags, -h, k, -l);
+ val += lookup_flagged_intensity(intensities, flags, h, -k, -l);
+ val += lookup_flagged_intensity(intensities, flags, h, -k, l);
+ val += lookup_flagged_intensity(intensities, flags, -h, k, l);
+ val += lookup_flagged_intensity(intensities, flags, -h, -k, -l);
+ val += lookup_flagged_intensity(intensities, flags, h, k, -l);
+ #endif /* PGMMM */
+
#ifdef PG6
val += lookup_flagged_intensity(intensities, flags, h, k, l);
val += lookup_flagged_intensity(intensities, flags, i, h, l);
diff --git a/src/diffraction-gpu.c b/src/diffraction-gpu.c
index c365cecb..b3950570 100644
--- a/src/diffraction-gpu.c
+++ b/src/diffraction-gpu.c
@@ -444,6 +444,8 @@ struct gpu_context *setup_gpu(int no_sfac,
strncat(cflags, "-DPG6 ", 511-strlen(cflags));
} else if ( strcmp(sym, "6/m") == 0 ) {
strncat(cflags, "-DPG6M ", 511-strlen(cflags));
+ } else if ( strcmp(sym, "mmm") == 0 ) {
+ strncat(cflags, "-DPGMMM ", 511-strlen(cflags));
} else {
ERROR("Sorry! Point group '%s' is not currently"
" supported on the GPU."