XGCa
|
#include <vertex_list.hpp>
Classes | |
struct | IntegerRange |
Public Member Functions | |
VertexList () | |
VertexList (int start, int end) | |
template<typename F > | |
VertexList (int n, F condition) | |
VertexList (const View< int *, CLayout, HostType > &unordered_full_list, bool one_indexed) | |
KOKKOS_INLINE_FUNCTION bool | is_in_list (int i) const |
KOKKOS_INLINE_FUNCTION int | size () const |
template<typename DeviceExSpace , typename F > | |
void | for_all (const std::string label, F lambda_func) const |
template<class Device > | |
void | pack_contiguous (const View< double *, CLayout, Device > &input, const View< double *, CLayout, Device > &contiguous) const |
template<class Device > | |
void | unpack_contiguous (const View< double *, CLayout, Device > &contiguous, const View< double *, CLayout, Device > &output) const |
VertexList | operator& (const VertexList &list2) const |
VertexList & | operator|= (const VertexList &rhs) |
void | batch (int first_val, int nvals, const View< int *, CLayout, HostType > &view) const |
int | min () const |
bool | is_contiguous () const |
void | print (const std::string &msg) const |
bool | is_subset (const VertexList &list2) const |
bool | intersects (const VertexList &list2) const |
bool | intersects (int start, int end) const |
template<typename T > | |
void | set_to_value (const T &view, double value) const |
template<typename T , typename F > | |
void | set_to_value (const T &view, F func) const |
template<class Device > | |
View< int *, CLayout, Device > | get_view_int_not_in_list (int nnode_in) const |
Public Attributes | |
View< IntegerRange *, CLayout, HostType > | ranges |
|
inline |
VertexList::VertexList | ( | int | start, |
int | end | ||
) |
|
inline |
VertexList::VertexList | ( | const View< int *, CLayout, HostType > & | unordered_full_list, |
bool | one_indexed | ||
) |
void VertexList::batch | ( | int | first_val, |
int | nvals, | ||
const View< int *, CLayout, HostType > & | view | ||
) | const |
|
inline |
Loops over vertices with a parallel_for, with no particle movement
[in] | label | is the label of the parallel_for used for debugging |
[in] | lambda_func | is the lambda function. Must be copy [=] not by reference |
|
inline |
bool VertexList::intersects | ( | const VertexList & | list2 | ) | const |
bool VertexList::intersects | ( | int | start, |
int | end | ||
) | const |
bool VertexList::is_contiguous | ( | ) | const |
|
inline |
Checks if a vertex is inside the list
[in] | i | is the vertex index |
bool VertexList::is_subset | ( | const VertexList & | list2 | ) | const |
int VertexList::min | ( | ) | const |
VertexList VertexList::operator& | ( | const VertexList & | list2 | ) | const |
VertexList & VertexList::operator|= | ( | const VertexList & | rhs | ) |
template void VertexList::pack_contiguous | ( | const View< double *, CLayout, Device > & | input, |
const View< double *, CLayout, Device > & | contiguous | ||
) | const |
< Use execution space where views are allocated
void VertexList::print | ( | const std::string & | msg | ) | const |
|
inline |
|
inline |
|
inline |
template void VertexList::unpack_contiguous | ( | const View< double *, CLayout, Device > & | contiguous, |
const View< double *, CLayout, Device > & | output | ||
) | const |
< Use execution space where views are allocated
View<IntegerRange*,CLayout,HostType> VertexList::ranges |