aboutsummaryrefslogtreecommitdiff
path: root/src/diffraction-gpu.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2010-03-27 20:10:12 +0100
committerThomas White <taw@bitwiz.org.uk>2010-03-27 20:10:12 +0100
commitf15dc3d8b88c7a4a7054309fbcd5756de8a7fc0b (patch)
treef78389a5984861e3007d75fab4574eb561a27017 /src/diffraction-gpu.c
parentbdd2a7b4a8a5456a023d54be6fd5d6a011314c7e (diff)
Make it obvious, when using GPU simulation, if a required reflection is unavailable
Diffstat (limited to 'src/diffraction-gpu.c')
-rw-r--r--src/diffraction-gpu.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/diffraction-gpu.c b/src/diffraction-gpu.c
index e142035d..91d6334f 100644
--- a/src/diffraction-gpu.c
+++ b/src/diffraction-gpu.c
@@ -342,7 +342,7 @@ void get_diffraction_gpu(struct gpu_context *gctx, struct image *image,
/* Setup the OpenCL stuff, create buffers, load the structure factor table */
struct gpu_context *setup_gpu(int no_sfac, struct image *image,
- double *intensities)
+ double *intensities, unsigned int *counts)
{
struct gpu_context *gctx;
cl_uint nplat;
@@ -403,7 +403,11 @@ struct gpu_context *setup_gpu(int no_sfac, struct image *image,
intensities_ptr = malloc(intensities_size);
if ( intensities != NULL ) {
for ( i=0; i<IDIM*IDIM*IDIM; i++ ) {
- intensities_ptr[i] = intensities[i];
+ if ( counts[i] == 1 ) {
+ intensities_ptr[i] = intensities[i];
+ } else {
+ intensities_ptr[i] = 1.0e20;
+ }
}
} else {
for ( i=0; i<IDIM*IDIM*IDIM; i++ ) {