Accumulating histogram of component values. Specified bin resolution, automatic generation of bins. More...
Public Types | |
typedef pTraits< Type >::cmptType | cmptType |
Component type. More... | |
Public Types inherited from List< List< scalar > > | |
typedef SubList< List< scalar > > | subList |
Declare type of subList. More... | |
Public Types inherited from UList< T > | |
typedef T | value_type |
The value type the list contains. More... | |
typedef T * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef const T * | const_pointer |
The pointer type for const access to value_type items. More... | |
typedef T & | reference |
The type used for storing into value_type objects. More... | |
typedef const T & | const_reference |
The type used for reading from constant value_type objects. More... | |
typedef T * | iterator |
Random access iterator for traversing a UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing a UList. More... | |
typedef label | size_type |
The type to represent the size of a UList. More... | |
typedef label | difference_type |
The difference between iterator objects. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator (const access) More... | |
Public Member Functions | |
Distribution () | |
Construct null. More... | |
Distribution (const Type &binWidth) | |
Construct from separate binWidth for each component. More... | |
Distribution (const Distribution &d) | |
Construct as copy. More... | |
~Distribution () | |
Destructor. More... | |
scalar | totalWeight (direction cmpt) const |
Sum the total weight added to the component in the. More... | |
List< label > | keys (direction cmpt) const |
label | index (direction cmpt, label n) |
Return the appropriate List index for the given bin index. More... | |
Pair< label > | validLimits (direction cmpt) const |
Returns the indices of the first and last non-zero entries. More... | |
Type | mean () const |
Type | median () const |
void | add (const Type &valueToAdd, const Type &weight=pTraits< Type >::one) |
Add a value to the distribution, optionally specifying a weight. More... | |
List< List< Pair< scalar > > > | normalised () const |
Return the normalised distribution (probability density) More... | |
List< List< Pair< scalar > > > | raw () const |
Return the distribution of the total bin weights. More... | |
List< List< Pair< scalar > > > | cumulativeNormalised () const |
Return the cumulative normalised distribution and. More... | |
List< List< Pair< scalar > > > | cumulativeRaw () const |
Return the cumulative total bin weights and integration. More... | |
void | clear () |
Resets the Distribution by clearing the stored lists. More... | |
const Type & | binWidth () const |
Return the bin width. More... | |
const List< label > & | listStarts () const |
Return the List start bin indices. More... | |
void | write (const fileName &filePrefix) const |
Write the distribution to file: key normalised raw. More... | |
void | operator= (const Distribution< Type > &) |
Public Member Functions inherited from List< List< scalar > > | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const List< scalar > &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const List< scalar > &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, List< scalar > &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< List< scalar > > &a) | |
Copy construct from list. More... | |
List (const UList< List< scalar > > &a) | |
Copy construct contents from list. More... | |
List (List< List< scalar > > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< List< scalar > > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
List (const UList< List< scalar > > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
List (const FixedList< List< scalar >, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< List< scalar > > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< List< scalar > > &list) | |
Construct as copy of SLList<T> More... | |
List (const IndirectListBase< List< scalar >, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< List< scalar > > list) | |
Construct from an initializer list. More... | |
List (List< List< scalar > > &&list) | |
Move construct from List. More... | |
List (DynamicList< List< scalar >, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SLList< List< scalar > > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< List< scalar > > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const List< scalar > &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize (const label newLen) |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const List< scalar > &val) |
Alias for resize() More... | |
void | append (const List< scalar > &val) |
Append an element at the end of the list. More... | |
void | append (List< scalar > &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< List< scalar > > &list) |
Append a List to the end of this list. More... | |
void | append (const IndirectListBase< List< scalar >, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const List< scalar > &val) |
Append an element if not already in the list. More... | |
void | transfer (List< List< scalar > > &list) |
void | transfer (DynamicList< List< scalar >, SizeMin > &list) |
List< scalar > & | newElmt (const label i) |
void | operator= (const UList< List< scalar > > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< List< scalar > > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< List< scalar > > &list) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const IndirectListBase< List< scalar >, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
void | operator= (const FixedList< List< scalar >, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< List< scalar > > list) |
Assignment to an initializer list. More... | |
void | operator= (const List< scalar > &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< List< scalar > > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (DynamicList< List< scalar >, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< List< scalar > > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
Istream & | readList (Istream &is) |
Istream & | readList (Istream &is) |
void | shallowCopy (const UList< List< scalar > > &)=delete |
No shallowCopy permitted. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
Public Member Functions inherited from UList< T > | |
UList (const UList< T > &)=default | |
Copy construct. More... | |
constexpr | UList () noexcept |
Default construct, zero-sized and nullptr. More... | |
UList (T *__restrict__ v, const label len) noexcept | |
Construct from components. More... | |
label | fcIndex (const label i) const noexcept |
label | rcIndex (const label i) const noexcept |
const T & | fcValue (const label i) const |
Return forward circular value (ie, next value in the list) More... | |
T & | fcValue (const label i) |
Return forward circular value (ie, next value in the list) More... | |
const T & | rcValue (const label i) const |
Return reverse circular value (ie, previous value in the list) More... | |
T & | rcValue (const label i) |
Return reverse circular value (ie, previous value in the list) More... | |
const T * | cdata () const noexcept |
Return pointer to the underlying array serving as data storage. More... | |
T * | data () noexcept |
Return pointer to the underlying array serving as data storage. More... | |
const char * | cdata_bytes () const noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
char * | data_bytes () noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
T & | first () |
Return the first element of the list. More... | |
const T & | first () const |
Return first element of the list. More... | |
T & | last () |
Return the last element of the list. More... | |
const T & | last () const |
Return the last element of the list. More... | |
std::streamsize | size_bytes () const noexcept |
Number of contiguous bytes for the List data. More... | |
std::streamsize | byteSize () const |
void | checkStart (const label start) const |
Check start is within valid range [0,size) More... | |
void | checkSize (const label size) const |
Check size is within valid range [0,size]. More... | |
void | checkRange (const label start, const label len) const |
Check that start and length define a valid range. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
label | find (const T &val, label pos=0) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const T &val, label pos=-1) const |
Find index of the last occurrence of the value. More... | |
bool | found (const T &val, label pos=0) const |
True if the value if found in the list. More... | |
void | moveFirst (const label i) |
Move element to the first position. More... | |
void | moveLast (const label i) |
Move element to the last position. More... | |
void | swapFirst (const label i) |
Swap element with the first element. Fatal on an empty list. More... | |
void | swapLast (const label i) |
Swap element with the last element. Fatal on an empty list. More... | |
void | shallowCopy (const UList< T > &list) |
Copy the pointer and size held by the given UList. More... | |
void | deepCopy (const UList< T > &list) |
Copy elements of the given UList. Sizes must match! More... | |
template<class Addr > | |
void | deepCopy (const IndirectListBase< T, Addr > &list) |
Copy elements of the given indirect list. Sizes must match! More... | |
SubList< T > | slice (const label pos, label len=-1) |
Return SubList slice (non-const access) - no range checking. More... | |
const SubList< T > | slice (const label pos, label len=-1) const |
Return SubList slice (const access) - no range checking. More... | |
SubList< T > | slice (const labelRange &range) |
Return SubList slice (non-const access) - with range checking. More... | |
const SubList< T > | slice (const labelRange &range) const |
Return SubList slice (const access) - with range checking. More... | |
T & | operator[] (const label i) |
Return element of UList. More... | |
const T & | operator[] (const label i) const |
Return element of constant UList. More... | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const T &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
iterator | begin () noexcept |
Return an iterator to begin traversing the UList. More... | |
iterator | end () noexcept |
Return an iterator to end traversing the UList. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. More... | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
label | size () const noexcept |
The number of elements in the UList. More... | |
bool | empty () const noexcept |
True if the UList is empty (ie, size() is zero) More... | |
void | swap (UList< T > &list) |
Swap content with another UList of the same type in constant time. More... | |
bool | operator== (const UList< T > &a) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &a) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &a) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &a) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &a) const |
Return true if !(a < b). Takes linear time. More... | |
Istream & | readList (Istream &is) |
Read List contents from Istream. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write the List as a dictionary entry with keyword. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | test (const label i) const |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | get (const label i) const |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | unset (const label i) |
Istream & | readList (Istream &is) |
Ostream & | writeList (Ostream &os, const label) const |
const bool & | operator[] (const label i) const |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
UPstream::commsStruct & | operator[] (const label procID) |
const UPstream::commsStruct & | operator[] (const label procID) const |
Ostream & | writeList (Ostream &os, const label) const |
Istream & | readList (Istream &is) |
Friends | |
Istream & | operator>> (Istream &, Distribution< Type > &) |
Ostream & | operator (Ostream &, const Distribution< Type > &) |
Additional Inherited Members | |
Static Public Member Functions inherited from List< List< scalar > > | |
static const List< List< scalar > > & | null () |
Return a null List. More... | |
Static Public Member Functions inherited from UList< T > | |
static const UList< T > & | null () |
Return a UList reference to a nullObject. More... | |
static constexpr label | max_size () noexcept |
The size of the largest possible UList. More... | |
Protected Member Functions inherited from UList< T > | |
void | setAddressableSize (const label n) noexcept |
Set addressed size to be inconsistent with allocated storage. More... | |
void | size (const label n) |
Older name for setAddressableSize. More... | |
void | writeEntry (Ostream &os) const |
Write the UList with its compound type. More... | |
labelRange | validateRange (const labelRange &requestedRange) const |
UList< T > & | operator= (const UList< T > &)=delete |
No copy assignment (default: shallow copy) More... | |
void | writeEntry (Ostream &os) const |
void | writeEntry (Ostream &os) const |
Accumulating histogram of component values. Specified bin resolution, automatic generation of bins.
Definition at line 64 of file Distribution.H.
Component type.
Definition at line 80 of file Distribution.H.
Construct null.
Definition at line 36 of file Distribution.C.
Distribution | ( | const Type & | binWidth | ) |
Construct from separate binWidth for each component.
Definition at line 45 of file Distribution.C.
Distribution | ( | const Distribution< Type > & | d | ) |
Construct as copy.
Destructor.
Definition at line 65 of file Distribution.C.
Foam::scalar totalWeight | ( | direction | cmpt | ) | const |
Sum the total weight added to the component in the.
argument
Definition at line 72 of file Distribution.C.
References forAll.
Foam::List< Foam::label > keys | ( | direction | cmpt | ) | const |
Definition at line 88 of file Distribution.C.
References Foam::identity().
Foam::label index | ( | direction | cmpt, |
label | n | ||
) |
Return the appropriate List index for the given bin index.
Resizes the List if required
Definition at line 95 of file Distribution.C.
References UList< T >::empty(), forAll, n, List< T >::setSize(), UList< T >::size(), and Foam::Zero.
Foam::Pair< Foam::label > validLimits | ( | direction | cmpt | ) | const |
Returns the indices of the first and last non-zero entries.
Definition at line 161 of file Distribution.C.
References FixedList< T, N >::first(), forAll, and Pair< T >::second().
Type mean |
Definition at line 193 of file Distribution.C.
References Foam::component(), forAll, k, Foam::setComponent(), and Foam::Zero.
Type median |
Definition at line 222 of file Distribution.C.
References Foam::component(), UList< T >::first(), forAll, Foam::mag(), Foam::normalised(), Foam::setComponent(), UList< T >::size(), and Foam::Zero.
void add | ( | const Type & | valueToAdd, |
const Type & | weight = pTraits<Type>::one |
||
) |
Add a value to the distribution, optionally specifying a weight.
Definition at line 308 of file Distribution.C.
References Foam::component(), n, and Foam::neg().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > normalised |
Return the normalised distribution (probability density)
and bins
Definition at line 331 of file Distribution.C.
References Foam::component(), UList< T >::empty(), UList< T >::first(), FixedList< T, N >::first(), k, Pair< T >::second(), and List< T >::setSize().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > raw |
Return the distribution of the total bin weights.
Definition at line 379 of file Distribution.C.
References Foam::component(), UList< T >::empty(), UList< T >::first(), FixedList< T, N >::first(), k, Pair< T >::second(), and List< T >::setSize().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > cumulativeNormalised |
Return the cumulative normalised distribution and.
integration locations (at end of bins)
Definition at line 421 of file Distribution.C.
References Foam::component(), UList< T >::first(), forAll, Foam::normalised(), and Foam::sum().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > cumulativeRaw |
Return the cumulative total bin weights and integration.
locations (at end of bins)
Definition at line 457 of file Distribution.C.
References Foam::component(), UList< T >::first(), forAll, and Foam::sum().
void clear |
Resets the Distribution by clearing the stored lists.
Leaves the same number of them and the same binWidth.
Definition at line 488 of file Distribution.C.
|
inline |
Return the bin width.
Definition at line 32 of file DistributionI.H.
|
inline |
Return the List start bin indices.
Definition at line 40 of file DistributionI.H.
void write | ( | const fileName & | filePrefix | ) | const |
Write the distribution to file: key normalised raw.
Produces a separate file for each component.
Definition at line 500 of file Distribution.C.
References Foam::endl(), UList< T >::first(), forAll, Foam::nl, Foam::normalised(), and os().
void operator= | ( | const Distribution< Type > & | rhs | ) |
Definition at line 556 of file Distribution.C.
|
friend |
|
friend |