From dbe1636f5ed6ec4859719ff08f731735e123c59e Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Sun, 4 Aug 2013 00:21:21 -0400 Subject: Carpet: Do not use dynamic_cast --- Carpet/CarpetLib/src/data.cc | 9 ++++++--- Carpet/CarpetRegrid/src/automatic.cc | 8 +++++--- CarpetDev/CarpetIOF5_standalone/src/coordinate_system.cc | 4 +++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Carpet/CarpetLib/src/data.cc b/Carpet/CarpetLib/src/data.cc index fa1b3c92e..4f98f7ffa 100644 --- a/Carpet/CarpetLib/src/data.cc +++ b/Carpet/CarpetLib/src/data.cc @@ -573,7 +573,8 @@ copy_from_innerloop (gdata const * const gsrc, ibbox const & srcregbox, islab const * restrict const slabinfo) { - data const * const src = dynamic_cast (gsrc); + //data const * const src = dynamic_cast (gsrc); + data const * const src = (data const *) gsrc; assert (has_storage() and src->has_storage()); assert (proc() == src->proc()); @@ -665,7 +666,8 @@ transfer_time (vector const & gsrcs, tmps.AT(tl)->allocate (dstbox, this->proc()); assert (gsrcs.AT(tl)); - data const * const src = dynamic_cast (gsrcs.AT(tl)); + // data const * const src = dynamic_cast (gsrcs.AT(tl)); + data const * const src = (data const *) gsrcs.AT(tl); tmps.AT(tl)->transfer_p_r (src, dstbox, srcbox, slabinfo, order_space); } @@ -681,7 +683,8 @@ transfer_time (vector const & gsrcs, assert ((int)gsrcs.size() > timelevel0); assert ((int)times.size() > timelevel0); - data const * const src = dynamic_cast (gsrcs.AT(timelevel0)); + // data const * const src = dynamic_cast (gsrcs.AT(timelevel0)); + data const * const src = (data const *) gsrcs.AT(timelevel0); transfer_p_r (src, dstbox, srcbox, slabinfo, order_space); diff --git a/Carpet/CarpetRegrid/src/automatic.cc b/Carpet/CarpetRegrid/src/automatic.cc index a524edae4..6ce3a5547 100644 --- a/Carpet/CarpetRegrid/src/automatic.cc +++ b/Carpet/CarpetRegrid/src/automatic.cc @@ -46,9 +46,11 @@ namespace CarpetRegrid { assert (CCTK_GroupDimI(gi) == dim); assert (arrdata.at(gi).at(Carpet::map).data.at(vi-v1)); - const gf& errorgf - = (*dynamic_cast*> - (arrdata.at(gi).at(Carpet::map).data.at(vi-v1))); + // const gf& errorgf + // = (*dynamic_cast*> + // (arrdata.at(gi).at(Carpet::map).data.at(vi-v1))); + const gf& errorgf = + *(const gf*)arrdata.at(gi).at(Carpet::map).data.at(vi-v1); assert (not smart_outer_boundaries); diff --git a/CarpetDev/CarpetIOF5_standalone/src/coordinate_system.cc b/CarpetDev/CarpetIOF5_standalone/src/coordinate_system.cc index b8d3041cc..0fe45da38 100644 --- a/CarpetDev/CarpetIOF5_standalone/src/coordinate_system.cc +++ b/CarpetDev/CarpetIOF5_standalone/src/coordinate_system.cc @@ -84,8 +84,10 @@ namespace CarpetIOF5 { assert (all (coarse_delta > (CCTK_REAL) 0)); assert (all (level_offset_denominator > 0)); + // mesh_refinement_topology_t * mesh_refinement_topology + // = dynamic_cast (& topology); mesh_refinement_topology_t * mesh_refinement_topology - = dynamic_cast (& topology); + = (mesh_refinement_topology_t *) (& topology); assert (mesh_refinement_topology != 0); mesh_refinement_topology ->calculate_level_origin_delta (coarse_origin, coarse_delta, -- cgit v1.2.3