OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
Classes | Functions
ReductionLoc.h File Reference
#include "PETE/IpplExpressions.h"
#include "Field/ReductionLoc.hpp"
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,
 
)
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,
 
)
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 PETE_Expr< WrappedExpr >::PETE_unwrap(), and Reduction().

Referenced by Util::angleBetweenAngles(), ParticleBConds< T, Dim >::apply(), PatchBC< T, D, M, C >::apply(), 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(), LinearExtrapolateFaceBCApply(), Individual::new_gene(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), MGPoissonSolver::printLoadBalanceStats(), OutputPlane::setMaxIterations(), IrregularDomain::setRangeMax(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), OpalBeamline::switchElements(), 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 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(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), PeriodicFaceBCApply(), MGPoissonSolver::printLoadBalanceStats(), IrregularDomain::setRangeMin(), Cartesian< Dim, MFLOAT >::storeSpacingFields(), UniformCartesian< Dim, MFLOAT >::storeSpacingFields(), Cartesian< 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: