183 using DHVecPtr = std::shared_ptr<DistributedHaloVector>;
CepsScalar CepsMathScalar
Real numbers.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
float CepsReal
Need single precision floating point.
int32_t CepsInt
Need 32 bit integer.
CepsInt CepsIndex
Index rowid etc.
std::shared_ptr< DistributedHaloVector > DHVecPtr
Typedef for pointer on Distributed Halo CepsVector.
Extended distributed vectors.
std::map< CepsIndex, CepsIndex > m_globalToLocalMapping
Index mapping.
~DistributedHaloVector() override
Destructor.
void getLocalData() override
Mandatory call before accessing data.
DistributedHaloVector(DistributedHaloVector &v)
Copy constructor.
CepsInt getNbHalo()
number of halo values
DistributedHaloVector(CepsIndex M, CepsIndex m, CepsIndex nbHaloRows, CepsIndex *haloRows)
Constructor.
CepsReal operator[](CepsIndex globalIndex) const override
Array subscription override. Const version.
void scale(CepsMathScalar alpha) override
Multiplies self by alpha.
void getStripeFromNonHalo(DistributedVector &src, CepsInt component, CepsUInt pbDim)
Get data from regular dist vector.
void abs() override
Sets all coeffs to their absolute value.
void getStripe(DistributedHaloVector &u, CepsInt component, CepsUInt pbDim)
Override of DistributedVector::getStripe(...)
DistributedHaloVector & operator=(DistributedVector &v)
Assignment operator.
CepsReal & operator[](CepsIndex globalIndex) override
Array subscription override.
DistributedHaloVector()
Default constructor.
PetscVector m_localV
Local representation of the halo vector.
void releaseLocalData() override
Mandatory call after accessing data.
CepsIndex m_nbHaloRows
Number of halo values that will be received.
DistributedHaloVector & operator=(DistributedHaloVector &v)
Assignment operator.
void getValues(CepsReal *values, CepsIndex n, const CepsIndex *indices) override
Override of parent DistributedVector::getValues(...)
Structure to hold spatially dependant data and distribute it between process.