Assert.hpp File Reference

#include <config.h>
#include <ErrorHandler.hpp>
#include <Stringify.hpp>
#include <signal.h>
#include <cstdlib>
#include <iostream>
#include <RunningOptions.hpp>

Include dependency graph for Assert.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ASSERT(expression)


Define Documentation

#define ASSERT ( expression   ) 

Value:

if (not (expression)) {                                                 \
  std::cerr << "##############################################\n";      \
  std::cerr << __FILE__ << ':' << __LINE__  << ":\n";                   \
  std::cerr << "assertion failed: '"+stringify(#expression)+"'\n";      \
  std::cerr << "in function '" << __PRETTY_FUNCTION__ << "'\n"; \
  if (RunningOptions::instance().pauseOnError()) {                      \
    std::cerr << "----------------------------------------------\n";    \
    std::cerr << "to attach gdb to this process do\n";                  \
    std::cerr << "\tgdb -pid " << getpid() << '\n';                     \
    std::cerr << "else press control-c\n";                              \
    std::cerr << "##############################################\n";    \
    sigset_t s;                                                         \
    sigaddset(&s,SIGSTOP);                                              \
    sigsuspend(&s);                                                     \
  } else {                                                              \
    std::cerr << "##############################################\n";    \
  }                                                                     \
  std::exit(1);                                                         \
 }

Definition at line 37 of file Assert.hpp.

Referenced by DegreeOfFreedomSetBuilder::__buildFEMCorrespondance(), SurfaceMeshGenerator::Internals::__calculatePointsIntersection(), Triangulation::__checkAll(), Triangulation::__checkLine(), DiscretizationType::__componentFamily(), SurfaceMeshGenerator::Internals::__createGeneral(), Triangulation::__deleteTriangle(), MeshSimplifier::Internals< CellType >::__deleteTriangle(), WriterVTK::__fillCrossedComponent(), WriterMedit::__fillCrossedComponent(), Triangulation::__find_P_in_elt(), MeshSimplifier::Internals< CellType >::__findReplaceEdge(), Triangulation::__findVertex(), ScalarFunctionBuilder::Simplifier::__getOperatorF1F2SimplifiedFunction(), Difference::__inShape(), VariationalProblemExpression::__internalSetLinearBC(), Triangulation::__permutation(), MeshSimplifier::__proceed(), SurfaceMeshGenerator::Internals::__splitEdge(), MeshSimplifier::Internals< CellType >::__triangleExist(), SpectralLegendreDiscretizationNonConform::_getQuadratureDegree(), XMLTag::add(), BoundaryConditionSurfaceMeshAssociation::bc(), DoubleHashedMatrix::beginOfColumn(), DoubleHashedMatrix::beginOfLine(), Cell::Cell(), checkInter(), checkInterbis(), DivMuGrad::coefficient(), CommandLineParser::CommandLineParser(), Vector3ExpressionTimesScalar::component(), Vector3ExpressionValue::component(), Vector3ExpressionVariable::component(), MultiGrid::computeResidu(), MultiGrid::computes(), IncompleteCholeskiFactorization::computes(), DiagPrecond::computes(), MultiGrid::copyDirichlet(), MultiGrid::correct(), DGFunction< MeshType, FiniteElementTraits >::DGFunction(), SolverInformationCenter::discretizationType(), ElementaryMatrixSet< FiniteElement::ElementaryMatrix >::divMuGrad(), DomainExpression::domain(), Triangle::edge(), Mesh::edgeNumber(), EdgesBuilder< MeshType >::EdgesBuilder(), VariableRepository::endBlock(), VariableLexerRepository::endBlock(), DoubleHashedMatrix::endOfColumn(), DoubleHashedMatrix::endOfLine(), SolverExpression::execute(), BoundaryExpressionSurfaceMesh::execute(), MeshOfTetrahedra::face(), MeshOfTetrahedra::faceNumber(), FacesBuilder< MeshType >::FacesBuilder(), FEMFunction< MeshType, FiniteElementTraits >::FEMFunction(), FieldExpressionList::field(), XMLTree::findTag(), XMLTree::findTagRange(), VariableRepository::findVariable(), ElementaryMatrixSet< FiniteElement::ElementaryMatrix >::firstOrderOperatorDxUV(), ElementaryMatrixSet< FiniteElement::ElementaryMatrix >::firstOrderOperatorUdxV(), FunctionExpression::function(), FieldOfScalarFunction::function(), Reference::get(), MultiLinearExpression::getFunctionExpression(), Information::getMesh(), XMLTree::hasTag(), Reference::isSet(), KrylovSolverDim(), SparseMatrix::line(), ConnectedTriangle::localizeNeigh(), ConnectedTriangle::localizeVertex(), ElementaryMatrixSet< FiniteElement::ElementaryMatrix >::massOperator(), SolverInformationCenter::mesh(), MeshExpression::mesh(), SurfElem::mother(), SurfElem::motherCellFaceNumber(), ConnectedTriangle::neigh(), PDEScalarOperatorExpressionOrderOne::nu(), Vector< Tetrahedron >::number(), Mesh::numberOfEdges(), MeshOfTetrahedra::numberOfFaces(), Scene::object(), Vector< Tetrahedron >::operator()(), TinyMatrix< 1, 1, T >::operator()(), TinyMatrix< N, N, T >::operator()(), TinyMatrix< 3, 3, bool >::operator()(), Structured3DVector< bool >::operator()(), ObjectTransformer::operator()(), MultiGrid::DirichletPositions::operator()(), Edge::operator()(), DoubleHashedMatrix::operator()(), DegreeOfFreedomSet::operator()(), Cell::operator()(), Vector< Tetrahedron >::operator*(), TinyVector< 3, T >::operator*(), TinyVector< StaticPow< 2, Dimension >::value, Octree::__Node * >::operator*(), ReferenceCounting< Undefined >::operator*(), ConstReferenceCounting< SpectralConformTransformation >::operator*(), Vector< Tetrahedron >::operator+(), VectorialPDEOperator::operator+=(), Vector< Tetrahedron >::operator+=(), Vector< Tetrahedron >::operator-(), Array3DShape::operator-(), VectorialPDEOperator::operator-=(), Vector< Tetrahedron >::operator-=(), ReferenceCounting< Undefined >::operator->(), ConstReferenceCounting< SpectralConformTransformation >::operator->(), TinyMatrix< N, N, T >::operator/(), TinyMatrix< 3, 3, bool >::operator/(), OStreamExpression::operator<<(), operator<<(), Vector< Tetrahedron >::operator=(), Structured3DVector< bool >::operator=(), FEMFunctionBase::operator=(), DGFunctionBase::operator=(), IStreamExpression::operator>>(), VectorialPDEOperator::operator[](), Vector< Tetrahedron >::operator[](), TinyVector< 1, T >::operator[](), TinyVector< 3, T >::operator[](), TinyVector< StaticPow< 2, Dimension >::value, Octree::__Node * >::operator[](), SurfaceMeshGenerator::Internals::IntersectionPoints::operator[](), SparseLine::operator[](), PDESystem::operator[](), PDEOperatorSum::operator[](), PDE::operator[](), DiscretizationType::operator[](), DegreeOfFreedomPositionsSet::operator[](), ComponentBoundaryConditions::operator[](), BoundaryConditionSet::operator[](), Array3DShape::operator[](), BoundaryPOVRay::povReference(), FieldExpressionList::put(), Object::reference(), MultiGrid::residuDirichlet(), Vector< Tetrahedron >::resize(), SceneExpression::scene(), ElementaryMatrixSet< FiniteElement::ElementaryMatrix >::secondOrderOperator(), Reference::set(), ScalarFunctionBuilder::setBinaryOperation(), Triangulation::setBox(), ScalarFunctionBuilder::setCFunction(), Discretization::setDirichletList(), ScalarFunctionBuilder::setFunction(), ScalarFunctionBuilder::setNot(), BoundaryMeshAssociation::setPOVMeshes(), Object::setReference(), ScalarFunctionBuilder::setUnaryMinus(), ConnectedTriangle::setVertices(), Object::shape(), SurfaceMeshGenerator::Internals::MeshedObject::shapeReference(), SpectralFunction::SpectralFunction(), Timer::start(), Timer::stop(), SparseMatrix::transposedTimesX(), Triangulation::triangulize(), NormalManager::unsubscribe(), NormalManager::update(), Vector3ExpressionTimesScalar::value(), Vector3ExpressionValue::value(), Vector3ExpressionVariable::value(), FunctionExpression::value(), and NormalManager::~NormalManager().


Generated on Wed Nov 19 00:00:22 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6