Xyst test code coverage report
Current view: top level - Inciter - PUPAMR.hpp (source / functions) Coverage Total Hit
Commit: 1fb74642dd9d7732b67f32dec2f2762e238d3fa7 Lines: 100.0 % 12 12
Test Date: 2025-08-13 22:18:46 Functions: 100.0 % 2 2
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
Branches: 50.0 % 2 1

             Branch data     Line data    Source code
       1                 :             : // *****************************************************************************
       2                 :             : /*!
       3                 :             :   \file      src/Inciter/PUPAMR.hpp
       4                 :             :   \copyright 2012-2015 J. Bakosi,
       5                 :             :              2016-2018 Los Alamos National Security, LLC.,
       6                 :             :              2019-2021 Triad National Security, LLC.,
       7                 :             :              2022-2025 J. Bakosi
       8                 :             :              All rights reserved. See the LICENSE file for details.
       9                 :             :   \brief     Charm++ Pack/UnPack utilities for AMR
      10                 :             :   \details   This file contains some extensions to Charm++'s Pack/UnPack
      11                 :             :     routines for use with AMR data structures.
      12                 :             : */
      13                 :             : // *****************************************************************************
      14                 :             : #ifndef PUPAMR_h
      15                 :             : #define PUPAMR_h
      16                 :             : 
      17                 :             : #include "Base/PUPUtil.hpp"
      18                 :             : 
      19                 :             : #include "AMR/edge_store.hpp"
      20                 :             : #include "AMR/edge.hpp"
      21                 :             : #include "AMR/marked_refinements_store.hpp"
      22                 :             : #include "AMR/tet_store.hpp"
      23                 :             : #include "AMR/mesh_adapter.hpp"
      24                 :             : #include "AMR/node_store.hpp"
      25                 :             : #include "AMR/node_connectivity.hpp"
      26                 :             : #include "AMR/refinement.hpp"
      27                 :             : #include "AMR/master_element_store.hpp"
      28                 :             : #include "AMR/id_generator.hpp"
      29                 :             : 
      30                 :             : //! Extensions to Charm++'s Pack/Unpack routines
      31                 :             : namespace PUP {
      32                 :             : 
      33                 :             : /** @name Charm++ pack/unpack serializer member functions for Refinement_State */
      34                 :             : ///@{
      35                 :             : //! Pack/Unpack Refinement_State
      36                 :             : void pup( PUP::er &p, AMR::Refinement_State& s );
      37                 :             : //! Pack/Unpack serialize operator|
      38                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      39                 :             : //! \param[in,out] s Refinement_State object reference
      40         [ +  - ]:     3875884 : inline void operator|( PUP::er& p, AMR::Refinement_State& s ) { pup(p,s); }
      41                 :             : //@}
      42                 :             : 
      43                 :             : /** @name Charm++ pack/unpack serializer member functions for Edge_Refinement */
      44                 :             : ///@{
      45                 :             : //! Pack/Unpack Edge_Refinement
      46                 :             : void pup( PUP::er &p, AMR::Edge_Refinement& e );
      47                 :             : //! Pack/Unpack serialize operator|
      48                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      49                 :             : //! \param[in,out] e Edge_Refinement object reference
      50                 :     5835543 : inline void operator|( PUP::er& p, AMR::Edge_Refinement& e ) { pup(p,e); }
      51                 :             : //@}
      52                 :             : 
      53                 :             : /** @name Charm++ pack/unpack serializer member functions for edge_store_t */
      54                 :             : ///@{
      55                 :             : //! Pack/Unpack edge_store_t
      56                 :             : void pup( PUP::er &p, AMR::edge_store_t& e );
      57                 :             : //! Pack/Unpack serialize operator|
      58                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      59                 :             : //! \param[in,out] e edge_store_t object reference
      60                 :       14279 : inline void operator|( PUP::er& p, AMR::edge_store_t& e ) { pup(p,e); }
      61                 :             : //@}
      62                 :             : 
      63                 :             : /** @name Charm++ pack/unpack serializer member functions for edge_t */
      64                 :             : ///@{
      65                 :             : //! Pack/Unpack edge_t
      66                 :             : void pup( PUP::er &p, AMR::edge_t& e );
      67                 :             : //! Pack/Unpack serialize operator|
      68                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      69                 :             : //! \param[in,out] e edge_t object reference
      70                 :     5835543 : inline void operator|( PUP::er& p, AMR::edge_t& e ) { pup(p,e); }
      71                 :             : //@}
      72                 :             : 
      73                 :             : /** @name Charm++ pack/unpack serializer member functions for marked_refinements_store_t */
      74                 :             : ///@{
      75                 :             : //! Pack/Unpack marked_refinements_store_t
      76                 :             : //! \param[in] p Charm++'s pack/unpack object
      77                 :             : //! \param[in,out] m marked_refinements_store_t object reference
      78                 :             : template< class case_t >
      79                 :       28558 : void pup( PUP::er &p, AMR::marked_refinements_store_t< case_t >& m ) {
      80                 :             :   p | m.data();
      81                 :             :   p | m.get_state_changed();
      82                 :       28558 : }
      83                 :             : //! Pack/Unpack serialize operator|
      84                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      85                 :             : //! \param[in,out] m marked_refinements_store_t object reference
      86                 :             : template< class case_t >
      87                 :             : inline void operator|( PUP::er& p, AMR::marked_refinements_store_t<case_t>& m )
      88                 :       14279 : { pup(p,m); }
      89                 :             : //@}
      90                 :             : 
      91                 :             : /** @name Charm++ pack/unpack serializer member functions for active_element_store_t */
      92                 :             : ///@{
      93                 :             : //! Pack/Unpack active_element_store_t
      94                 :             : void pup( PUP::er &p, AMR::active_element_store_t& a );
      95                 :             : //! Pack/Unpack serialize operator|
      96                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
      97                 :             : //! \param[in,out] a active_element_store_t object reference
      98                 :             : inline void operator|( PUP::er& p, AMR::active_element_store_t& a )
      99                 :             : { pup(p,a); }
     100                 :             : //@}
     101                 :             : 
     102                 :             : /** @name Charm++ pack/unpack serializer member functions for master_element_store_t */
     103                 :             : ///@{
     104                 :             : //! Pack/Unpack master_element_store_t
     105                 :             : void pup( PUP::er &p, AMR::master_element_store_t& m );
     106                 :             : //! Pack/Unpack serialize operator|
     107                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     108                 :             : //! \param[in,out] m master_element_store_t object reference
     109                 :             : inline void operator|( PUP::er& p, AMR::master_element_store_t& m )
     110                 :             : { pup(p,m); }
     111                 :             : //@}
     112                 :             : /** @name Charm++ pack/unpack serializer member functions for active_element_store_t */
     113                 :             : 
     114                 :             : ///@{
     115                 :             : //! Pack/Unpack id_generator_t
     116                 :             : void pup( PUP::er &p, AMR::id_generator_t& i );
     117                 :             : //! Pack/Unpack serialize operator|
     118                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     119                 :             : //! \param[in,out] i id_generator_t object reference
     120                 :             : inline void operator|( PUP::er& p, AMR::id_generator_t& i )
     121                 :       14279 : { pup(p,i); }
     122                 :             : //@}
     123                 :             : 
     124                 :             : /** @name Charm++ pack/unpack serializer member functions for tet_store_t */
     125                 :             : ///@{
     126                 :             : //! Pack/Unpack tet_store_t
     127                 :             : void pup( PUP::er &p, AMR::tet_store_t& t );
     128                 :             : //! Pack/Unpack serialize operator|
     129                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     130                 :             : //! \param[in,out] t tet_store_t object reference
     131                 :       14279 : inline void operator|( PUP::er& p, AMR::tet_store_t& t ) { pup(p,t); }
     132                 :             : //@}
     133                 :             : 
     134                 :             : /** @name Charm++ pack/unpack serializer member functions for mesh_adapter_t */
     135                 :             : ///@{
     136                 :             : //! Pack/Unpack mesh_adapter_t
     137                 :             : void pup( PUP::er &p, AMR::mesh_adapter_t& m );
     138                 :             : //! Pack/Unpack serialize operator|
     139                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     140                 :             : //! \param[in,out] m mesh_adapter_t object reference
     141                 :       14279 : inline void operator|( PUP::er& p, AMR::mesh_adapter_t& m ) { pup(p,m); }
     142                 :             : //@}
     143                 :             : 
     144                 :             : /** @name Charm++ pack/unpack serializer member functions for node_store_t */
     145                 :             : ///@{
     146                 :             : //! Pack/Unpack node_store_t
     147                 :             : void pup( PUP::er &p, AMR::node_store_t& n );
     148                 :             : //! Pack/Unpack serialize operator|
     149                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     150                 :             : //! \param[in,out] n node_store_t object reference
     151                 :             : inline void operator|( PUP::er& p, AMR::node_store_t& n ) { pup(p,n); }
     152                 :             : //@}
     153                 :             : 
     154                 :             : /** @name Charm++ pack/unpack serializer member functions for node_connectivity_t */
     155                 :             : ///@{
     156                 :             : //! Pack/Unpack node_connectivity_t
     157                 :             : void pup( PUP::er &p, AMR::node_connectivity_t& n );
     158                 :             : //! Pack/Unpack serialize operator|
     159                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     160                 :             : //! \param[in,out] n node_connectivity_t object reference
     161                 :       14279 : inline void operator|( PUP::er& p, AMR::node_connectivity_t& n ) { pup(p,n); }
     162                 :             : //@}
     163                 :             : 
     164                 :             : /** @name Charm++ pack/unpack serializer member functions for refinement_t */
     165                 :             : ///@{
     166                 :             : //! Pack/Unpack refinement_t
     167                 :             : void pup( PUP::er &p, AMR::refinement_t& r );
     168                 :             : //! Pack/Unpack serialize operator|
     169                 :             : //! \param[in,out] p Charm++'s PUP::er serializer object reference
     170                 :             : //! \param[in,out] r refinement_t object reference
     171                 :       14279 : inline void operator|( PUP::er& p, AMR::refinement_t& r ) { pup(p,r); }
     172                 :             : //@}
     173                 :             : 
     174                 :             : } // PUP::
     175                 :             : 
     176                 :             : #endif // PUPAMR_h
        

Generated by: LCOV version 2.0-1