QMCPACK
MCCoords< CoordsType::POS_SPIN > Struct Template Reference
+ Collaboration diagram for MCCoords< CoordsType::POS_SPIN >:

Public Member Functions

 MCCoords (const std::size_t size)
 
MCCoordsoperator+= (const MCCoords &rhs)
 
void getSubset (const std::size_t offset, const std::size_t size, MCCoords< CoordsType::POS_SPIN > &out) const
 get subset of MCCoords [param,out] out More...
 

Public Attributes

std::vector< QMCTraits::PosTypepositions
 
std::vector< QMCTraits::FullPrecRealTypespins
 

Detailed Description

template<>
struct qmcplusplus::MCCoords< CoordsType::POS_SPIN >

Definition at line 49 of file MCCoords.hpp.

Constructor & Destructor Documentation

◆ MCCoords()

MCCoords ( const std::size_t  size)
inline

Definition at line 51 of file MCCoords.hpp.

51 : positions(size), spins(size) {}
std::vector< QMCTraits::PosType > positions
Definition: MCCoords.hpp:60
std::vector< QMCTraits::FullPrecRealType > spins
Definition: MCCoords.hpp:61

Member Function Documentation

◆ getSubset()

void getSubset ( const std::size_t  offset,
const std::size_t  size,
MCCoords< CoordsType::POS_SPIN > &  out 
) const

get subset of MCCoords [param,out] out

Definition at line 31 of file MCCoords.cpp.

References qmcplusplus::syclBLAS::copy_n(), MCCoords< CoordsType::POS_SPIN >::positions, and MCCoords< CoordsType::POS_SPIN >::spins.

34 {
35  std::copy_n(positions.begin() + offset, size, out.positions.begin());
36  std::copy_n(spins.begin() + offset, size, out.spins.begin());
37 }
std::vector< QMCTraits::PosType > positions
Definition: MCCoords.hpp:60
std::vector< QMCTraits::FullPrecRealType > spins
Definition: MCCoords.hpp:61
sycl::event copy_n(sycl::queue &aq, const T1 *restrict VA, size_t array_size, T2 *restrict VC, const std::vector< sycl::event > &events)
Definition: syclBLAS.cpp:548

◆ operator+=()

MCCoords< CoordsType::POS_SPIN > & operator+= ( const MCCoords< CoordsType::POS_SPIN > &  rhs)

Definition at line 39 of file MCCoords.cpp.

References MCCoords< CoordsType::POS_SPIN >::positions, and MCCoords< CoordsType::POS_SPIN >::spins.

40 {
41  assert(positions.size() == rhs.positions.size());
42  std::transform(positions.begin(), positions.end(), rhs.positions.begin(), positions.begin(),
43  [](const QMCTraits::PosType& x, const QMCTraits::PosType& y) { return x + y; });
44  std::transform(spins.begin(), spins.end(), rhs.spins.begin(), spins.begin(),
45  [](const QMCTraits::FullPrecRealType& x, const QMCTraits::FullPrecRealType& y) { return x + y; });
46  return *this;
47 }
std::vector< QMCTraits::PosType > positions
Definition: MCCoords.hpp:60
std::vector< QMCTraits::FullPrecRealType > spins
Definition: MCCoords.hpp:61
QTBase::PosType PosType
Definition: Configuration.h:61
QTFull::RealType FullPrecRealType
Definition: Configuration.h:66

Member Data Documentation

◆ positions

◆ spins


The documentation for this struct was generated from the following files: