OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
PAssert.h File Reference
#include <exception>
#include <stdexcept>
#include <string>
Include dependency graph for PAssert.h:

Go to the source code of this file.

Classes

struct  IpplCTAssert< B >
struct  IpplCTAssert< true >
class  assertion

Macros

#define CTAssert(c)
#define PAssert(c)
#define PAssert_CMP(cmp, a, b)
#define PAssert_EQ(a, b)
#define PAssert_NE(a, b)
#define PAssert_LT(a, b)
#define PAssert_LE(a, b)
#define PAssert_GT(a, b)
#define PAssert_GE(a, b)
#define PInsist(c, m)

Functions

void toss_cookies (const char *cond, const char *file, int line)
template<class S, class T>
void toss_cookies (const char *cond, const char *astr, const char *bstr, S a, T b, const char *file, int line)
void insist (const char *cond, const char *msg, const char *file, int line)

Class Documentation

◆ IpplCTAssert

struct IpplCTAssert
template<bool B>
struct IpplCTAssert< B >

Definition at line 28 of file PAssert.h.

Inheritance diagram for IpplCTAssert< B >:
Collaboration diagram for IpplCTAssert< B >:

Macro Definition Documentation

◆ CTAssert

#define CTAssert ( c)
Value:
IpplCTAssert<(c)>::test()
constexpr double c
The velocity of light in m/s.
Definition Physics.h:45

Definition at line 35 of file PAssert.h.

Referenced by SubFieldTraits< T, Dim, NDIndex< Dim >, NDIndex< Dim2 > >::combine(), SubFieldTraits< T, Dim, NDIndex< Dim >, SOffset< Dim2 > >::combine(), SubFieldTraits< T, Dim, SOffset< Dim >, NDIndex< Dim2 > >::combine(), SubFieldTraits< T, Dim, SOffset< Dim >, SOffset< Dim2 > >::combine(), SubFieldTraits< T, Dim, NDIndex< Dim >, NDIndex< Dim2 > >::construct(), SubFieldTraits< T, Dim, NDIndex< Dim >, SOffset< Dim2 > >::construct(), SubFieldTraits< T, Dim, SOffset< Dim >, SOffset< Dim2 > >::construct(), IndexedBareField< T, Dim, Brackets >::operator()(), IndexedBareField< T, Dim, Brackets >::operator()(), SIndex< Dim >::operator()(), SIndex< Dim >::operator()(), SIndex< Dim >::operator()(), SIndex< Dim >::operator()(), SIndex< Dim >::operator()(), SIndex< Dim >::operator()(), IndexedBareField< T, Dim, Brackets >::operator=(), IndexedBareField< T, Dim, Brackets >::operator=(), IndexedField< T, Dim, Brackets, M, C >::operator=(), IndexedField< T, Dim, Brackets, M, C >::operator=(), IndexedSIndex< Dim, Brackets >::operator=(), IndexedBareField< T, Dim, Brackets >::operator[](), IndexedBareField< T, Dim, Brackets >::operator[](), IndexedBareField< T, Dim, Brackets >::operator[](), IndexedField< T, Dim, Brackets, M, C >::operator[](), IndexedField< T, Dim, Brackets, M, C >::operator[](), IndexedField< T, Dim, Brackets, M, C >::operator[](), IndexedSIndex< Dim, Brackets >::operator[](), IndexedSIndex< Dim, Brackets >::operator[](), SIndex< Dim >::operator[](), SIndex< Dim >::operator[](), SOffset< Dim >::SOffset(), SOffset< Dim >::SOffset(), SOffset< Dim >::SOffset(), SOffset< Dim >::SOffset(), SOffset< Dim >::SOffset(), vec< T, Length >::vec(), vec< T, Length >::vec(), and vec< T, Length >::vec().

◆ PAssert

#define PAssert ( c)
Value:
if (!(c)) toss_cookies( #c, __FILE__, __LINE__ );
void toss_cookies(const char *cond, const char *file, int line)
Definition PAssert.cpp:79

Definition at line 102 of file PAssert.h.

Referenced by BareField< T, Dim >::accumGuardCells(), LField< T, Dim >::allocateStorage(), GreenWakeFunction::apply(), ParallelInterpolationFace< T, D, M, C >::apply(), ParallelPeriodicFace< T, D, M, C >::apply(), assign(), assign(), BareFieldIterator< T, Dim >::CanCompress(), LField< T, Dim >::CanCompress(), RegionLayout< T, Dim, MeshType >::changeDomain(), BoxLibLayout< T, Dim >::clearLevelMask(), H5PartWrapper::copyFile(), IpplParticleBase< PLayout >::create(), IpplParticleBase< PLayout >::createWithID(), IpplParticleBase< PLayout >::destroy(), BareFieldIterator< T, Dim >::done(), AmrBoxLib::doRegrid_m(), BoxLibLayout< T, Dim >::EnforcePeriodicWhere(), FieldLayout< Dim >::FieldLayout(), FieldLayout< Dim >::FieldLayout(), BareFieldIterator< T, Dim >::finishScalarCode(), BareFieldIterator< T, Dim >::GetBareField(), BareFieldIterator< T, Dim >::GetBareField(), IrregularDomain::getBoundaryStencil(), BareField< Complex_t, Dim >::getLayout(), DiscMeta::getLineNumber(), CompressedBrickIterator< T, Dim >::getMessage(), IpplParticleBase< PLayout >::getMessage(), IpplParticleBase< PLayout >::getMessageAndCreate(), Message::getmsg(), DiscMeta::getNumWords(), BoundaryGeometry::getPoint(), IpplParticleBase< PLayout >::getSingleMessage(), FieldLayout< Dim >::getVnodesPerDirection(), DiscMeta::getWords(), IpplParticleBase< PLayout >::ghostDestroy(), IpplParticleBase< PLayout >::ghostGetMessage(), IpplParticleBase< PLayout >::ghostGetSingleMessage(), IpplParticleBase< PLayout >::ghostPutMessage(), IpplParticleBase< PLayout >::ghostPutMessage(), IpplParticleBase< PLayout >::globalCreate(), IndexedReceive(), IndexedSend(), BoxLibLayout< T, Dim >::initBaseBox_m(), BoundaryGeometry::initialize(), IpplParticleBase< PLayout >::initialize(), BoundaryGeometry::intersectTinyLineSegmentBoundary(), MacroCmd::makeTemplate(), DomainMap< Key, T, Touches, Contains, Split >::const_iterator::op_pp(), DomainMap< Key, T, Touches, Contains, Split >::iterator::op_pp(), DomainMap< Key, T, Touches, Contains, Split >::touch_iterator::op_pp(), H5PartWrapper::open(), AntiSymTenzor< T, 1 >::operator()(), AntiSymTenzor< T, Dim >::operator()(), AntiSymTenzor< T, Dim >::operator()(), SymTenzor< T, Dim >::operator()(), SymTenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Tenzor< T, Dim >::operator()(), Vektor< T, D >::operator()(), Vektor< T, D >::operator()(), BareFieldIterator< T, Dim >::operator*(), DomainMap< Key, T, Touches, Contains, Split >::const_iterator::operator*(), DomainMap< Key, T, Touches, Contains, Split >::iterator::operator*(), DomainMap< Key, T, Touches, Contains, Split >::touch_iterator::operator*(), DomainMap< Key, T, Touches, Contains, Split >::touch_iterator::operator->(), AntiSymTenzor< T, 1 >::operator[](), AntiSymTenzor< T, Dim >::operator[](), AntiSymTenzor< T, Dim >::operator[](), Vektor< T, D >::operator[](), Vektor< T, D >::operator[](), DiscConfig::parse_config(), LineTemplate::parseTemplate(), SequenceTemplate::parseTemplate(), IpplParticleBase< PLayout >::performDestroy(), BoxLibLayout< T, Dim >::PeriodicShift(), BareFieldIterator< T, Dim >::prepareForScalarCode(), FieldDebugPrint< T, Dim >::print(), FieldPrint< T, Dim >::print(), IpplParticleBase< PLayout >::putMessage(), IpplParticleBase< PLayout >::putMessage(), IpplParticleBase< PLayout >::putMessage(), DiscParticle::read(), DiscParticle::read(), FieldLayout< Dim >::read(), DiscField< Dim >::read_data(), DiscField< Dim >::read_meta(), DiscParticle::read_meta(), _Fieldmap::readHeader(), ParticleCashedLayout< T, Dim, Mesh >::rebuild_interaction_data(), ParticleInteractLayout< T, Dim, Mesh >::rebuild_interaction_data(), IpplParticleBase< PLayout >::resetID(), DiscBuffer::resize(), BareFieldIterator< T, Dim >::SetCurrentLocation(), IndexedBareFieldIterator< T, Dim >::SetCurrentLocation(), FFT< SineTransform, Dim, T >::setup(), GreenWakeFunction::simpson(), FMGPoissonSolver::solve(), ParticleCashedLayout< T, Dim, Mesh >::swap_ghost_particles(), ParticleInteractLayout< T, Dim, Mesh >::swap_ghost_particles(), LField< T, Dim >::swapData(), AmrParticleBase< PLayout >::update(), AmrParticleBase< PLayout >::update(), IpplParticleBase< PLayout >::update(), IpplParticleBase< PLayout >::update(), BoxLibLayout< T, Dim >::Where(), DiscParticle::write(), DiscParticle::write(), _Fieldmap::write3DField(), and BoundaryGeometry::writeGeomToVtk().

◆ PAssert_CMP

#define PAssert_CMP ( cmp,
a,
b )
Value:
if (!(cmp)) toss_cookies(#cmp, #a, #b, a, b, __FILE__, __LINE__);
std::complex< double > a

Definition at line 103 of file PAssert.h.

◆ PAssert_EQ

◆ PAssert_GE

◆ PAssert_GT

◆ PAssert_LE

◆ PAssert_LT

◆ PAssert_NE

#define PAssert_NE ( a,
b )
Value:
PAssert_CMP(a != b, a, b)

Definition at line 105 of file PAssert.h.

Referenced by Index::Index(), and LField< T, Dim >::ReallyUncompress().

◆ PInsist

#define PInsist ( c,
m )
Value:
if (!(c)) insist( #c, m, __FILE__, __LINE__ );
void insist(const char *cond, const char *msg, const char *file, int line)
Definition PAssert.cpp:92

Definition at line 120 of file PAssert.h.

Referenced by AntiSymTenzor< T, Dim >::AntiSymTenzor(), assign(), assign(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), Cartesian< Dim, MFLOAT >::Cartesian(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), CenteredFieldLayout< Dim, Mesh, Centering >::CenteredFieldLayout(), Communicate::clear_ok_messages(), cofactors(), cofactors(), cofactors(), SubFieldTraits< T, Dim, S1, S2 >::combine(), SubFieldTraits< T, Dim, S1, S2 >::construct(), det(), det(), IpplInfo::find_smp_nodes(), UniformCartesian< Dim, T >::get_volume(), BrickIterator< T, Dim >::getMessage(), UniformCartesian< Dim, T >::getVertexPositionField(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), Cartesian< Dim, MFLOAT >::initialize(), CenteredFieldLayout< 3, Mesh_t, Center_t >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), FieldLayout< Dim >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), UniformCartesian< Dim, MFLOAT >::initialize(), NDIndex< Dim >::NDIndex(), NDIndex< Dim >::NDIndex(), NDIndex< Dim >::NDIndex(), NDIndex< Dim >::NDIndex(), NDIndex< Dim >::NDIndex(), NDIndex< Dim >::NDIndex(), NDRegion< T, Dim >::NDRegion(), NDRegion< T, Dim >::NDRegion(), NDRegion< T, Dim >::NDRegion(), NDRegion< T, Dim >::NDRegion(), NDRegion< T, Dim >::NDRegion(), NDRegion< T, Dim >::NDRegion(), AssertEquals::operator()(), AssertEquals::operator()(), ParticleAttrib< T >::operator()(), ParticleAttrib< T >::operator()(), ParticleAttrib< T >::operator()(), AntiSymTenzor< T, 1 >::operator=(), Communicate::perform_resend(), SubFieldIter< T, Dim, NDIndex< Dim > >::plugBase(), Communicate::receive_block(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), RegionLayout< T, Dim, MeshType >::RegionLayout(), CommMPI::resend(), UniformCartesian< Dim, T >::set_Dvc(), FFT< RCTransform, 1U, T >::setup(), FFT< RCTransform, Dim, T >::setup(), FFT< SineTransform, Dim, T >::setup(), FieldLayout< Dim >::setup(), FieldLayout< Dim >::setup(), SymTenzor< T, Dim >::SymTenzor(), SymTenzor< T, Dim >::SymTenzor(), Tenzor< T, Dim >::Tenzor(), Tenzor< T, Dim >::Tenzor(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), UniformCartesian< Dim, MFLOAT >::UniformCartesian(), Communicate::unpack_message(), Communicate::unpack_retransmission_request(), Vektor< double, 3 >::Vektor(), Vektor< double, 3 >::Vektor(), Vektor< double, 3 >::Vektor(), IndexedBareField< T, Dim, Brackets >::write(), and SubParticleAttrib< PA, T, Dim >::write().

Function Documentation

◆ insist()

void insist ( const char * cond,
const char * msg,
const char * file,
int line )

Definition at line 92 of file PAssert.cpp.

◆ toss_cookies() [1/2]

template<class S, class T>
void toss_cookies ( const char * cond,
const char * astr,
const char * bstr,
S a,
T b,
const char * file,
int line )

Definition at line 71 of file PAssert.h.

References a.

◆ toss_cookies() [2/2]

void toss_cookies ( const char * cond,
const char * file,
int line )

Definition at line 79 of file PAssert.cpp.