diff options
author | Erik Schnetter <schnetter@aei.mpg.de> | 2005-08-10 17:00:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@aei.mpg.de> | 2005-08-10 17:00:00 +0000 |
commit | f9821844233a7270b6559c86e309d6888977a02e (patch) | |
tree | 7a72b128fbca96f9d241518148619b55fc1f9b77 /Carpet/CarpetInterp/src | |
parent | 3a1bd1320a7ac4ef58588aa68272a4b03fd692bb (diff) |
CarpetInterp: Use explicit source map specifications even in single map mode
darcs-hash:20050810170009-891bb-168facf88ab10cc5c1732d037527a66bc134453c.gz
Diffstat (limited to 'Carpet/CarpetInterp/src')
-rw-r--r-- | Carpet/CarpetInterp/src/interp.cc | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/Carpet/CarpetInterp/src/interp.cc b/Carpet/CarpetInterp/src/interp.cc index e336f655f..bddcec4d4 100644 --- a/Carpet/CarpetInterp/src/interp.cc +++ b/Carpet/CarpetInterp/src/interp.cc @@ -326,34 +326,36 @@ namespace CarpetInterp { // Find source maps vector<CCTK_INT> source_map (N_interp_points); - if (Carpet::map != -1) { - // Interpolate from the current map - for (int n=0; n<N_interp_points; ++n) { - source_map.at(n) = Carpet::map; - } - } else if (maps == 1) { - // Interpolate from map 0 if this is the only one - // (for backwards compatibility) - for (int n=0; n<N_interp_points; ++n) { - source_map.at(n) = 0; - } - } else { - int const iret = Util_TableGetIntArray - (param_table_handle, N_interp_points, - &source_map.front(), "source_map"); - if (iret == UTIL_ERROR_TABLE_NO_SUCH_KEY) { + int const iret = Util_TableGetIntArray + (param_table_handle, N_interp_points, &source_map.front(), "source_map"); + if (iret == UTIL_ERROR_TABLE_NO_SUCH_KEY) { + // No explicit source map specified + if (Carpet::map != -1) { + // Interpolate from the current map + for (int n=0; n<N_interp_points; ++n) { + source_map.at(n) = Carpet::map; + } + } else if (maps == 1) { + // Interpolate from map 0 if this is the only one + // (for backwards compatibility) + for (int n=0; n<N_interp_points; ++n) { + source_map.at(n) = 0; + } + } else { CCTK_WARN (1, "No source map specified"); return -1; - } else if (iret < 0) { - CCTK_WARN (1, "internal error"); - return -1; - } else if (iret != N_interp_points) { - CCTK_WARN (1, "Source map array has wrong size"); - return -1; - } - for (int n=0; n<N_interp_points; ++n) { - assert (source_map.at(n) >=0 and source_map.at(n) < maps); } + } else if (iret < 0) { + CCTK_WARN (1, "internal error"); + return -1; + } else if (iret != N_interp_points) { + CCTK_WARN (1, "Source map array has wrong size"); + return -1; + } + + // Check source maps + for (int n=0; n<N_interp_points; ++n) { + assert (source_map.at(n) >=0 and source_map.at(n) < maps); } int maxncomps = 0; |