diff options
author | Thomas White <taw@physics.org> | 2014-01-23 11:14:29 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2014-01-23 11:14:29 +0100 |
commit | 3776f8cbfd41798a1591a1a5a337fffef3322bd5 (patch) | |
tree | 1fefb6c27f3438bacb3a1cdcc63ba679ed3b489e /src/diffraction-gpu.c | |
parent | 4e172a34adca99d71a22aa4bcaccf0dd6a374400 (diff) |
pattern_sim: Add point groups 4 and 422 for GPU
Diffstat (limited to 'src/diffraction-gpu.c')
-rw-r--r-- | src/diffraction-gpu.c | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/src/diffraction-gpu.c b/src/diffraction-gpu.c index ff4f2414..1ed008e8 100644 --- a/src/diffraction-gpu.c +++ b/src/diffraction-gpu.c @@ -434,24 +434,52 @@ struct gpu_context *setup_gpu(int no_sfac, free(intensities_ptr); if ( sym != NULL ) { + + /* Triclinic */ if ( strcmp(sym, "1") == 0 ) { strncat(cflags, "-DPG1 ", 511-strlen(cflags)); } else if ( strcmp(sym, "-1") == 0 ) { strncat(cflags, "-DPG1BAR ", 511-strlen(cflags)); - } else if ( strcmp(sym, "6/mmm") == 0 ) { - strncat(cflags, "-DPG6MMM ", 511-strlen(cflags)); + + /* Monoclinic */ + /* FIXME: 2, 2/m, (m)*/ + + /* Orthorhombic */ + } else if ( strcmp(sym, "mmm") == 0 ) { + strncat(cflags, "-DPGMMM ", 511-strlen(cflags)); + /* FIXME: 222, mmm, (mm2) */ + + /* Tetragonal */ + } else if ( strcmp(sym, "4") == 0 ) { + strncat(cflags, "-DPG4 ", 511-strlen(cflags)); + } else if ( strcmp(sym, "422") == 0 ) { + strncat(cflags, "-DPG422 ", 511-strlen(cflags)); + /* FIXME: 4/m, 4/mmm, (-42m, -4m2, -4, 4mm) */ + + /* Trigonal (rhombohedral) */ + /* FIXME: 3, 32, -3m, (3m) */ + + /* Trigonal (hexagonal) */ + } else if ( strcmp(sym, "321_H") == 0 ) { + strncat(cflags, "-DPG321H ", 511-strlen(cflags)); + /* FIXME: 3, -3, 312, -31m -3m1, (3m1, 31m) */ + + /* Hexagonal */ } else if ( strcmp(sym, "6") == 0 ) { 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 if ( strcmp(sym, "6/mmm") == 0 ) { + strncat(cflags, "-DPG6MMM ", 511-strlen(cflags)); + /* FIXME: 622, (-6, -6m2, -62m) */ + + /* Cubic */ } else if ( strcmp(sym, "23") == 0 ) { strncat(cflags, "-DPG23 ", 511-strlen(cflags)); } else if ( strcmp(sym, "m-3") == 0 ) { strncat(cflags, "-DPGM3 ", 511-strlen(cflags)); - } else if ( strcmp(sym, "321_H") == 0 ) { - strncat(cflags, "-DPG321H ", 511-strlen(cflags)); + /* FIXME: 432, m-3m, (-43m) */ + } else { ERROR("Sorry! Point group '%s' is not currently" " supported on the GPU." |