aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rotatingsymmetry180.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/rotatingsymmetry180.c b/src/rotatingsymmetry180.c
index c88779a..13c6ab9 100644
--- a/src/rotatingsymmetry180.c
+++ b/src/rotatingsymmetry180.c
@@ -348,15 +348,30 @@ int BndRot180VI (cGH const * restrict const cctkGH,
if (imax[d] >= cctk_lsh[d]) imax[d] = cctk_lsh[d];
}
assert (group.dim == 3);
- assert (group.vartype == CCTK_VARIABLE_REAL);
- for (k=imin[0]; k<imax[2]; ++k) {
- for (j=imin[1]; j<imax[1]; ++j) {
- for (i=imin[2]; i<imax[0]; ++i) {
- const int ind = CCTK_GFINDEX3D(cctkGH, i, j, k);
- ((CCTK_REAL *) varptrs[var]) [ind] *= -1;
+ switch (group.vartype) {
+ case CCTK_VARIABLE_INT:
+ for (k=imin[0]; k<imax[2]; ++k) {
+ for (j=imin[1]; j<imax[1]; ++j) {
+ for (i=imin[2]; i<imax[0]; ++i) {
+ const int ind = CCTK_GFINDEX3D(cctkGH, i, j, k);
+ ((CCTK_INT *) varptrs[var]) [ind] *= -1;
+ }
}
}
- }
+ break;
+ case CCTK_VARIABLE_REAL:
+ for (k=imin[0]; k<imax[2]; ++k) {
+ for (j=imin[1]; j<imax[1]; ++j) {
+ for (i=imin[2]; i<imax[0]; ++i) {
+ const int ind = CCTK_GFINDEX3D(cctkGH, i, j, k);
+ ((CCTK_REAL *) varptrs[var]) [ind] *= -1;
+ }
+ }
+ }
+ break;
+ default:
+ assert (0);
+ } /* switch grouptype */
}
} /* for var */