diff options
author | Thomas White <taw@physics.org> | 2010-02-19 18:07:44 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2010-02-19 18:07:44 +0100 |
commit | 3542ac97a332f2657c7a69b93bf1133ca81967cb (patch) | |
tree | b88c84c54df1b0f38681a2d0169186b6378a44a5 /data/diffraction.cl | |
parent | ab3573ec308bd8d4e4790ab2c7e54ad4b6b81710 (diff) |
Simplify sampling a bit - preventing some indexing issues
Diffstat (limited to 'data/diffraction.cl')
-rw-r--r-- | data/diffraction.cl | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/data/diffraction.cl b/data/diffraction.cl index babfc6b7..138af028 100644 --- a/data/diffraction.cl +++ b/data/diffraction.cl @@ -52,8 +52,8 @@ float4 get_q(int x, int y, float cx, float cy, float res, float clen, float k, float ttx, tty, tt; float4 q; - rx = ((float)x - cx)/res; - ry = ((float)y - cy)/res; + rx = ((float)x - sampling*cx)/(res*sampling); + ry = ((float)y - sampling*cy)/(res*sampling); r = sqrt(pow(rx, 2.0) + pow(ry, 2.0)); @@ -134,8 +134,8 @@ kernel void diffraction(global float2 *diff, global float *tt, float k, int xmin, int ymin, int sampling, local float2 *tmp) { float ttv; - const int x = get_global_id(0) + xmin; - const int y = get_global_id(1) + ymin; + const int x = get_global_id(0) + (xmin*sampling); + const int y = get_global_id(1) + (ymin*sampling); float f_lattice; float2 f_molecule; float4 q; @@ -165,7 +165,7 @@ kernel void diffraction(global float2 *diff, global float *tt, float k, diff[ax+w*ay] = sum / (sampling*sampling); - /* Leader thread also records 2theta value. + /* Leader thread also records the 2theta value. * This should really be averaged across all pixels, but * I strongly suspect this would be a waste of time. */ tt[ax+w*ay] = ttv; |