diff options
author | Erik Schnetter <schnetter@gmail.com> | 2012-02-25 11:01:40 -0500 |
---|---|---|
committer | Barry Wardell <barry.wardell@gmail.com> | 2012-09-11 18:23:06 +0100 |
commit | 487280c1b638d05f4bbc2bc41c81d1fdb424cd4d (patch) | |
tree | d4ea7557f7cd42f74ce6f7a92b906e6401c69c97 /Carpet/Carpet/src/Cycle.cc | |
parent | ae44c5e6d86a65cce382e313e2a10b214e9645da (diff) |
CarpetLib: Change API to obtain pointer to grid function data
Change the API to obtain a pointer to grid function data:
- Use a function "typed_data_pointer" instead of overloading the ()
operator (because this looks nicer)
- Don't use a virtual function (because this isn't needed)
- Update all uses
Diffstat (limited to 'Carpet/Carpet/src/Cycle.cc')
-rw-r--r-- | Carpet/Carpet/src/Cycle.cc | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/Carpet/Carpet/src/Cycle.cc b/Carpet/Carpet/src/Cycle.cc index 64b7ff25b..449a5a7b3 100644 --- a/Carpet/Carpet/src/Cycle.cc +++ b/Carpet/Carpet/src/Cycle.cc @@ -82,11 +82,13 @@ namespace Carpet { { int const varindex = firstvarindex + var; for (int tl=0; tl<numtimelevels; ++tl) { - cctkGH->data[varindex][tl] - = (tl < groupdata.AT(group).info.activetimelevels - ? ((*arrdata.AT(group).AT(0).data.AT(var)) - (tl, 0, 0, 0)->storage()) - : NULL); + if (tl < groupdata.AT(group).info.activetimelevels) { + ggf *const ff = arrdata.AT(group).AT(0).data.AT(var); + void *const ptr = ff->data_pointer(tl, 0, 0, 0)->storage(); + cctkGH->data[varindex][tl] = ptr; + } else { + cctkGH->data[varindex][tl] = NULL; + } } } } @@ -148,11 +150,13 @@ namespace Carpet { { int const varindex = firstvarindex + var; for (int tl=0; tl<numtimelevels; ++tl) { - cctkGH->data[varindex][tl] - = (tl < groupdata.AT(group).info.activetimelevels - ? ((*arrdata.AT(group).AT(0).data.AT(var)) - (tl, 0, 0, 0)->storage()) - : NULL); + if (tl < groupdata.AT(group).info.activetimelevels) { + ggf *const ff = arrdata.AT(group).AT(0).data.AT(var); + void *const ptr = ff->data_pointer(tl, 0, 0, 0)->storage(); + cctkGH->data[varindex][tl] = ptr; + } else { + cctkGH->data[varindex][tl] = NULL; + } } } } @@ -205,11 +209,13 @@ namespace Carpet { { int const varindex = firstvarindex + var; for (int tl=0; tl<numtimelevels; ++tl) { - cctkGH->data[varindex][tl] - = (tl < groupdata.AT(group).info.activetimelevels - ? ((*arrdata.AT(group).AT(0).data.AT(var)) - (tl, 0, 0, 0)->storage()) - : NULL); + if (tl < groupdata.AT(group).info.activetimelevels) { + ggf *const ff = arrdata.AT(group).AT(0).data.AT(var); + void *const ptr = ff->data_pointer(tl, 0, 0, 0)->storage(); + cctkGH->data[varindex][tl] = ptr; + } else { + cctkGH->data[varindex][tl] = NULL; + } } } } |