OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
ReductionLoc.h File Reference
Include dependency graph for ReductionLoc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FindLocation< D >

Functions

template<class T, class CompOp, class AccOp, unsigned D>
T::PETE_Return_t Reduction (const PETE_Expr< T > &const_expr, CompOp comp_op, AccOp acc_op, NDIndex< D > &loc)
template<class T, class C, unsigned int D>
int for_each (const IndexedBareFieldIterator< T, D > &expr, FindLocation< D > &find_loc, C)
template<class T, class C, unsigned int D>
int for_each (const BareFieldIterator< T, D > &expr, FindLocation< D > &find_loc, C)
template<class T, unsigned D>
T::PETE_Expr_t::PETE_Return_t min (const PETE_Expr< T > &expr, NDIndex< D > &loc)
template<class T, unsigned D>
T::PETE_Expr_t::PETE_Return_t max (const PETE_Expr< T > &expr, NDIndex< D > &loc)

Function Documentation

◆ for_each() [1/2]

template<class T, class C, unsigned int D>
int for_each ( const BareFieldIterator< T, D > & expr,
FindLocation< D > & find_loc,
C  )
inline

Definition at line 58 of file ReductionLoc.h.

References BareFieldIterator< T, Dim >::GetCurrentLocation(), and FindLocation< D >::Loc.

Here is the call graph for this function:

◆ for_each() [2/2]

template<class T, class C, unsigned int D>
int for_each ( const IndexedBareFieldIterator< T, D > & expr,
FindLocation< D > & find_loc,
C  )
inline

Definition at line 47 of file ReductionLoc.h.

References BareFieldIterator< T, Dim >::GetCurrentLocation(), and FindLocation< D >::Loc.

Here is the call graph for this function:

◆ max()

template<class T, unsigned D>
T::PETE_Expr_t::PETE_Return_t max ( const PETE_Expr< T > & expr,
NDIndex< D > & loc )
inline

Definition at line 84 of file ReductionLoc.h.

References Expressionize< T >::apply(), PETE_Expr< WrappedExpr >::PETE_unwrap(), and Reduction().

Referenced by Util::angleBetweenAngles(), ParticleBConds< T, Dim >::apply(), PatchBC< T, D, M, C >::apply(), BoundingBox::BoundingBox(), calcEurekaDomain(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), centeredInitialize(), centeredInitialize(), Individual::checkBounds(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), EllipticDomain::EllipticDomain(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), PartBunchBase< T, Dim >::get_PBounds(), AmrBoxLib::getEExtrema(), PartBunch::getEExtrema(), AmrParticleBase< PLayout >::getLocalBounds_m(), BoundaryGeometry::initialize(), InterpolationFaceBCApply(), IpplTimerInfo::IpplTimerInfo(), LinearExtrapolateFaceBCApply(), Individual::new_gene(), TpsData::operator=(), ParallelTTracker::ParallelTTracker(), ParallelTTracker::ParallelTTracker(), PeakFinder::PeakFinder(), PeakFinder::PeakFinder(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), MGPoissonSolver::printLoadBalanceStats(), SectorField::SectorField(), OutputPlane::setMaxIterations(), IrregularDomain::setRangeMax(), SigmaGenerator::SigmaGenerator(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), OpalBeamline::switchElements(), ValueRange< T >::ValueRange(), Voxel::Voxel(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

Here is the call graph for this function:

◆ min()

template<class T, unsigned D>
T::PETE_Expr_t::PETE_Return_t min ( const PETE_Expr< T > & expr,
NDIndex< D > & loc )
inline

Definition at line 76 of file ReductionLoc.h.

References Expressionize< T >::apply(), PETE_Expr< WrappedExpr >::PETE_unwrap(), and Reduction().

Referenced by AddGuardCells(), Util::angleBetweenAngles(), ParticleBConds< T, Dim >::apply(), PatchBC< T, D, M, C >::apply(), calcEurekaDomain(), CalcParallelInterpolationDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), CalcParallelPeriodicDomain(), Individual::checkBounds(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentFunctionFaceBCApply(), ComponentLinearExtrapolateFaceBCApply(), EllipticDomain::EllipticDomain(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateAndZeroFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), ExtrapolateFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), FunctionFaceBCApply(), PartBunchBase< T, Dim >::get_bounds(), PartBunchBase< T, Dim >::get_PBounds(), AmrBoxLib::getEExtrema(), PartBunch::getEExtrema(), AmrParticleBase< PLayout >::getGlobalBounds_m(), PyOpal::PyNDGrid::initialiseFixedSpacing(), InterpolationFaceBCApply(), LinearExtrapolateFaceBCApply(), Individual::new_gene(), PeakFinder::PeakFinder(), PeakFinder::PeakFinder(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), MGPoissonSolver::printLoadBalanceStats(), IrregularDomain::setRangeMin(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), OpalBeamline::switchElements(), Voxel::Voxel(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

Here is the call graph for this function:

◆ Reduction()

template<class T, class CompOp, class AccOp, unsigned D>
T::PETE_Return_t Reduction ( const PETE_Expr< T > & const_expr,
CompOp comp_op,
AccOp acc_op,
NDIndex< D > & loc )

Definition at line 94 of file ReductionLoc.hpp.

References for_each(), ReduceLoc< T, LOC >::Loc, PETE_apply(), PETE_Expr< WrappedExpr >::PETE_unwrap(), reduce_masked(), and ReduceLoc< T, LOC >::Val.

Referenced by any(), any(), bounds(), max(), min(), minmax(), and PETE_DefineAssign().

Here is the call graph for this function: