#include #include #include #include #include static void TestLoopControlPointwise_All(CCTK_ARGUMENTS); static void TestLoopControlPointwise_Int(CCTK_ARGUMENTS); static void TestLoopControlPointwise_Bnd(CCTK_ARGUMENTS); static void TestLoopControlPointwise_IntBnd(CCTK_ARGUMENTS); void TestLoopControlPointwise_All(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; for (int k=0; k 0) { CCTK_WARN(CCTK_WARN_ABORT, "TestLoopControlPointwise_All failed"); } } void TestLoopControlPointwise_Int(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; CCTK_INT bndsize [6]; CCTK_INT is_ghostbnd[6]; CCTK_INT is_symbnd [6]; CCTK_INT is_physbnd [6]; GetBoundarySizesAndTypes (cctkGH, 6, bndsize, is_ghostbnd, is_symbnd, is_physbnd); int imin[3], imax[3]; for (int d=0; d<3; ++d) { imin[d] = cctk_bbox[2*d ] ? bndsize[2*d ] : cctk_nghostzones[d]; imax[d] = (cctk_lsh[d] - (cctk_bbox[2*d+1] ? bndsize[2*d+1] : cctk_nghostzones[d])); } for (int k=0; k 0) { CCTK_WARN(CCTK_WARN_ABORT, "TestLoopControlPointwise_Int failed"); } } void TestLoopControlPointwise_Bnd(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; CCTK_INT bndsize [6]; CCTK_INT is_ghostbnd[6]; CCTK_INT is_symbnd [6]; CCTK_INT is_physbnd [6]; GetBoundarySizesAndTypes (cctkGH, 6, bndsize, is_ghostbnd, is_symbnd, is_physbnd); for (int k=0; k 0) { CCTK_WARN(CCTK_WARN_ABORT, "TestLoopControlPointwise_Bnd failed"); } } void TestLoopControlPointwise_IntBnd(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; CCTK_INT bndsize [6]; CCTK_INT is_ghostbnd[6]; CCTK_INT is_symbnd [6]; CCTK_INT is_physbnd [6]; GetBoundarySizesAndTypes (cctkGH, 6, bndsize, is_ghostbnd, is_symbnd, is_physbnd); for (int k=0; k 0) { CCTK_WARN(CCTK_WARN_ABORT, "TestLoopControlPointwise_IntBnd failed"); } } void TestLoopControlPointwise(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; if (cctk_dim != 3) { CCTK_WARN(CCTK_WARN_ABORT, "cctk_dim out of range"); } TestLoopControlPointwise_All(CCTK_PASS_CTOC); TestLoopControlPointwise_Int(CCTK_PASS_CTOC); TestLoopControlPointwise_Bnd(CCTK_PASS_CTOC); TestLoopControlPointwise_IntBnd(CCTK_PASS_CTOC); }