Implementation of PSRS parallel sorting routine. More...
Public Member Functions | |
ParSortableList (const UList< Type > &) | |
ParSortableList (const label size) | |
void | sort () |
const labelList & | indices () const |
const labelList & | procs () const |
![]() | |
constexpr | List () noexcept |
List (const label len) | |
List (const label len, const T &val) | |
List (const label len, const Foam::zero) | |
List (const Foam::one, const T &val) | |
List (const Foam::one, T &&val) | |
List (const Foam::one, const Foam::zero) | |
List (const List< T > &a) | |
List (const UList< T > &a) | |
List (List< T > &a, bool reuse) | |
List (const UList< T > &list, const labelUList &indices) | |
List (const UList< T > &list, const FixedList< label, N > &indices) | |
List (const FixedList< T, N > &list) | |
List (const PtrList< T > &list) | |
List (const SLList< T > &list) | |
List (const IndirectListBase< T, Addr > &list) | |
List (std::initializer_list< T > list) | |
List (List< T > &&list) | |
List (DynamicList< T, SizeMin > &&list) | |
List (SortableList< T > &&list) | |
List (SLList< T > &&list) | |
List (Istream &is) | |
List (const label len) | |
List (const label len, const T &val) | |
List (const label len, const Foam::zero) | |
List (const Foam::one, const T &val) | |
List (const Foam::one, T &&val) | |
List (const Foam::one, const Foam::zero) | |
List (const UList< T > &a) | |
List (const List< T > &a) | |
List (List< T > &a, bool reuse) | |
List (const UList< T > &list, const labelUList &indices) | |
List (const PtrList< T > &list) | |
List (const SLList< T > &list) | |
List (std::initializer_list< T > list) | |
List (List< T > &&list) | |
List (SortableList< T > &&list) | |
List (SLList< T > &&list) | |
constexpr | List () noexcept |
List (Istream &is) | |
autoPtr< List< T > > | clone () const |
~List () | |
void | clear () |
void | resize (const label len) |
void | resize (const label len, const T &val) |
void | resize (const label newLen) |
void | resize_nocopy (const label len) |
void | setSize (const label n) |
void | setSize (const label n, const T &val) |
void | append (const T &val) |
void | append (T &&val) |
void | append (const UList< T > &list) |
void | append (const IndirectListBase< T, Addr > &list) |
void | append (const T &val) |
void | append (T &&val) |
void | append (const UList< T > &list) |
label | appendUniq (const T &val) |
void | transfer (List< T > &list) |
void | transfer (DynamicList< T, SizeMin > &list) |
void | transfer (SortableList< T > &list) |
void | transfer (List< T > &list) |
void | transfer (SortableList< T > &list) |
T & | newElmt (const label i) |
void | operator= (const UList< T > &a) |
void | operator= (const List< T > &list) |
void | operator= (const SLList< T > &list) |
void | operator= (const IndirectListBase< T, Addr > &list) |
void | operator= (const FixedList< T, N > &list) |
void | operator= (std::initializer_list< T > list) |
void | operator= (const T &val) |
void | operator= (const Foam::zero) |
void | operator= (List< T > &&list) |
void | operator= (DynamicList< T, SizeMin > &&list) |
void | operator= (SortableList< T > &&list) |
void | operator= (SLList< T > &&list) |
void | operator= (const UList< T > &a) |
void | operator= (const List< T > &list) |
void | operator= (const SLList< T > &list) |
void | operator= (std::initializer_list< T > list) |
void | operator= (List< T > &&list) |
void | operator= (SortableList< T > &&list) |
void | operator= (SLList< T > &&list) |
void | operator= (const T &val) |
void | operator= (const Foam::zero) |
Istream & | readList (Istream &is) |
Istream & | readList (Istream &is) |
Istream & | readList (Istream &is) |
void | shallowCopy (const UList< T > &)=delete |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
Additional Inherited Members | |
![]() | |
typedef SubList< T > | subList |
![]() | |
static const List< T > & | null () |
Implementation of PSRS parallel sorting routine.
From "On the Versatility of Parallel Sorting by Regular Sampling" Xiaobo Li et. all.
Construct from list of things to sort (uses SortableList, 'thing' should implement >, ==).
Will contain sorted data and in
Can also be constructed from size, filled at ease and then sort()'ed.
Definition at line 67 of file ParSortableList.H.
ParSortableList | ( | const UList< Type > & | values | ) |
Definition at line 121 of file ParSortableList.C.
References ParSortableList< Type >::sort().
ParSortableList | ( | const label | size | ) |
Definition at line 132 of file ParSortableList.C.
void sort |
Definition at line 143 of file ParSortableList.C.
References UPstream::allProcs(), UPstream::blocking, Foam::expressions::patchExpr::debug, Foam::endl(), forAll, Pstream::gatherList(), SortableList::indices(), UPstream::master(), UPstream::myProcNo(), n, UPstream::nProcs(), Foam::Pout, Foam::reduce(), Pstream::scatter(), List::setSize(), setSize(), Foam::sort(), and Foam::vtk::write().
Referenced by ParSortableList< Type >::ParSortableList().
|
inline |
Definition at line 184 of file ParSortableList.H.
|
inline |
Definition at line 190 of file ParSortableList.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.