diff options
Diffstat (limited to 'src/rotatingsymmetry90.c')
-rw-r--r-- | src/rotatingsymmetry90.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/rotatingsymmetry90.c b/src/rotatingsymmetry90.c index cead8a8..b73e29d 100644 --- a/src/rotatingsymmetry90.c +++ b/src/rotatingsymmetry90.c @@ -515,15 +515,30 @@ int BndRot90VI (cGH const * restrict const cctkGH, if (imax[d] >= cctk_lsh[d]) imax[d] = cctk_lsh[d]; } assert (group.dim == DIM); - assert (group.vartype == CCTK_VARIABLE_REAL); - for (k=imin[2]; k<imax[2]; ++k) { - for (j=imin[1]; j<imax[1]; ++j) { - for (i=imin[0]; 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[2]; k<imax[2]; ++k) { + for (j=imin[1]; j<imax[1]; ++j) { + for (i=imin[0]; 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[2]; k<imax[2]; ++k) { + for (j=imin[1]; j<imax[1]; ++j) { + for (i=imin[0]; 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 */ |