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 |
Type of values the UList contains. More... | |
typedef T & | reference |
Type that can be used for storing into. More... | |
typedef const T & | const_reference |
Type that can be used for storing into. More... | |
typedef label | difference_type |
The type that can represent the difference between any two. More... | |
typedef label | size_type |
The type that can represent the size of a UList. More... | |
typedef T * | iterator |
Random access iterator for traversing UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing UList. More... | |
typedef T * | reverse_iterator |
Reverse iterator for reverse traversal of UList. More... | |
typedef const T * | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. More... | |
Public Member Functions | |
Distribution () | |
Construct null. More... | |
Distribution (const Type &binWidth) | |
Construct from separate binWidth for each component. More... | |
Distribution (const Distribution &d) | |
Copy constructor. More... | |
Distribution (Distribution &&d) | |
Move constructor. 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 > &) |
void | operator= (Distribution< Type > &&) |
Public Member Functions inherited from List< List< scalar > > | |
List () | |
Null constructor. More... | |
List (const label) | |
Construct with given size. More... | |
List (const label, const List< scalar > &) | |
Construct with given size and value for all elements. More... | |
List (const label, const zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const List< List< scalar > > &) | |
Copy constructor. More... | |
List (const List< T2 > &) | |
Copy constructor from list containing another type. More... | |
List (List< List< scalar > > &&) | |
Move constructor. More... | |
List (List< List< scalar > > &, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< List< scalar > > &, const labelUList &mapAddressing) | |
Construct as subset. More... | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. More... | |
List (const FixedList< List< scalar >, Size > &) | |
Construct as copy of FixedList<T, Size> More... | |
List (const PtrList< List< scalar > > &) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< List< scalar > > &) | |
Construct as copy of SLList<T> More... | |
List (const UIndirectList< List< scalar > > &) | |
Construct as copy of UIndirectList<T> More... | |
List (const BiIndirectList< List< scalar > > &) | |
Construct as copy of BiIndirectList<T> More... | |
List (std::initializer_list< List< scalar > >) | |
Construct from an initializer list. More... | |
List (Istream &) | |
Construct from Istream. More... | |
label | size () const |
Return the number of elements in the UList. More... | |
autoPtr< List< List< scalar > > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | resize (const label) |
Alias for setSize(const label) More... | |
void | resize (const label, const List< scalar > &) |
Alias for setSize(const label, const T&) More... | |
void | setSize (const label) |
Reset size of List. More... | |
void | setSize (const label, const List< scalar > &) |
Reset size of List and value for new elements. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const List< scalar > &) |
Append an element at the end of the list. More... | |
void | append (const UList< List< scalar > > &) |
Append a List at the end of this list. More... | |
void | append (const UIndirectList< List< scalar > > &) |
Append a UIndirectList at the end of this list. More... | |
void | transfer (List< List< scalar > > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (DynamicList< List< scalar >, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (SortableList< List< scalar > > &) |
Transfer the contents of the argument List into this list. More... | |
List< scalar > & | newElmt (const label) |
Return subscript-checked element of UList. More... | |
void | shallowCopy (const UList< List< scalar > > &)=delete |
Disallow implicit shallowCopy. More... | |
void | operator= (const UList< List< scalar > > &) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< List< scalar > > &) |
Assignment operator. Takes linear time. More... | |
void | operator= (List< List< scalar > > &&) |
Move assignment operator. More... | |
void | operator= (const SLList< List< scalar > > &) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const UIndirectList< List< scalar > > &) |
Assignment to UIndirectList operator. Takes linear time. More... | |
void | operator= (const BiIndirectList< List< scalar > > &) |
Assignment to BiIndirectList operator. Takes linear time. More... | |
void | operator= (std::initializer_list< List< scalar > >) |
Assignment to an initializer list. More... | |
void | operator= (const List< scalar > &) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
Public Member Functions inherited from UList< T > | |
UList () | |
Null constructor. More... | |
UList (T *__restrict__ v, label size) | |
Construct from components. More... | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. More... | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. More... | |
std::streamsize | byteSize () const |
Return the binary size in number of characters of the UList. More... | |
const T * | cdata () const |
Return a const pointer to the first data element,. More... | |
T * | data () |
Return a pointer to the first data element,. 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... | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1) More... | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size) More... | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1) More... | |
void | shallowCopy (const UList< T > &) |
Copy the pointer held by the given UList. More... | |
void | deepCopy (const UList< T > &) |
Copy elements of the given UList. More... | |
T & | operator[] (const label) |
Return element of UList. More... | |
const T & | operator[] (const label) 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 &) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
iterator | begin () |
Return an iterator to begin traversing the UList. More... | |
iterator | end () |
Return an iterator to end traversing the UList. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const |
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 |
Return the number of elements in the UList. More... | |
label | max_size () const |
Return size of the largest possible UList. More... | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero) More... | |
void | swap (UList< T > &) |
Swap two ULists of the same type in constant time. More... | |
bool | operator== (const UList< T > &) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &) const |
Return true if !(a < b). Takes linear time. More... | |
template<> | |
const bool & | operator[] (const label i) const |
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 null UList. More... | |
Protected Member Functions inherited from List< List< scalar > > | |
void | size (const label) |
Override size to be inconsistent with allocated storage. More... | |
Accumulating histogram of component values. Specified bin resolution, automatic generation of bins.
Definition at line 49 of file Distribution.H.
Component type.
Definition at line 78 of file Distribution.H.
Distribution | ( | ) |
Construct null.
Definition at line 33 of file Distribution.C.
Referenced by Distribution< Type >::Distribution().
Distribution | ( | const Type & | binWidth | ) |
Construct from separate binWidth for each component.
Definition at line 42 of file Distribution.C.
References Distribution< Type >::binWidth(), Distribution< Type >::Distribution(), and Distribution< Type >::listStarts().
Distribution | ( | const Distribution< Type > & | d | ) |
Copy constructor.
Distribution | ( | Distribution< Type > && | d | ) |
Move constructor.
~Distribution | ( | ) |
Destructor.
Definition at line 71 of file Distribution.C.
Foam::scalar totalWeight | ( | direction | cmpt | ) | const |
Sum the total weight added to the component in the.
argument
Definition at line 78 of file Distribution.C.
References forAll.
Referenced by Distribution< Type >::mean(), and Distribution< Type >::normalised().
Foam::List< Foam::label > keys | ( | direction | cmpt | ) | const |
Definition at line 94 of file Distribution.C.
References forAll, Foam::identity(), Distribution< Type >::index(), k, and List< List< scalar > >::size().
Referenced by Distribution< Type >::mean(), Distribution< Type >::normalised(), and Distribution< Type >::raw().
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 109 of file Distribution.C.
References UList< T >::empty(), forAll, n, List< T >::setSize(), List< T >::size(), and Distribution< Type >::validLimits().
Referenced by Distribution< Type >::add(), Distribution< Type >::keys(), and Distribution< Type >::operator=().
Foam::Pair< Foam::label > validLimits | ( | direction | cmpt | ) | const |
Returns the indices of the first and last non-zero entries.
Definition at line 175 of file Distribution.C.
References Pair< Type >::first(), forAll, and Pair< Type >::second().
Referenced by Distribution< Type >::index(), Distribution< Type >::normalised(), and Distribution< Type >::raw().
Type mean | ( | ) | const |
Definition at line 206 of file Distribution.C.
References Foam::component(), forAll, k, Distribution< Type >::keys(), Foam::setComponent(), Distribution< Type >::totalWeight(), and Foam::Zero.
Type median | ( | ) | const |
Definition at line 235 of file Distribution.C.
References Distribution< Type >::add(), Foam::component(), UList< T >::first(), forAll, Foam::mag(), Distribution< Type >::normalised(), Foam::setComponent(), List< T >::size(), and Foam::Zero.
Add a value to the distribution, optionally specifying a weight.
Definition at line 322 of file Distribution.C.
References Foam::component(), Distribution< Type >::index(), Foam::neg(), and Distribution< Type >::normalised().
Referenced by Distribution< Type >::median().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > normalised | ( | ) | const |
Return the normalised distribution (probability density)
and bins
Definition at line 344 of file Distribution.C.
References Foam::component(), UList< T >::empty(), Pair< Type >::first(), UList< T >::first(), k, Distribution< Type >::keys(), Distribution< Type >::raw(), Pair< Type >::second(), List< T >::setSize(), Distribution< Type >::totalWeight(), and Distribution< Type >::validLimits().
Referenced by Distribution< Type >::add(), Distribution< Type >::cumulativeNormalised(), Distribution< Type >::median(), and Distribution< Type >::write().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > raw | ( | ) | const |
Return the distribution of the total bin weights.
Definition at line 392 of file Distribution.C.
References Foam::component(), Distribution< Type >::cumulativeNormalised(), UList< T >::empty(), Pair< Type >::first(), UList< T >::first(), k, Distribution< Type >::keys(), Pair< Type >::second(), List< T >::setSize(), and Distribution< Type >::validLimits().
Referenced by Distribution< Type >::cumulativeRaw(), Distribution< Type >::normalised(), Distribution< Type >::operator=(), and Distribution< Type >::write().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > cumulativeNormalised | ( | ) | const |
Return the cumulative normalised distribution and.
integration locations (at end of bins)
Definition at line 434 of file Distribution.C.
References Foam::component(), Distribution< Type >::cumulativeRaw(), UList< T >::first(), forAll, Distribution< Type >::normalised(), and Foam::sum().
Referenced by Distribution< Type >::raw(), and Distribution< Type >::write().
Foam::List< Foam::List< Foam::Pair< Foam::scalar > > > cumulativeRaw | ( | ) | const |
Return the cumulative total bin weights and integration.
locations (at end of bins)
Definition at line 470 of file Distribution.C.
References Foam::component(), UList< T >::first(), forAll, Distribution< Type >::raw(), and Foam::sum().
Referenced by Distribution< Type >::cumulativeNormalised(), and Distribution< Type >::write().
void clear | ( | ) |
Resets the Distribution by clearing the stored lists.
Leaves the same number of them and the same binWidth.
Definition at line 501 of file Distribution.C.
|
inline |
Return the bin width.
Definition at line 30 of file DistributionI.H.
Referenced by Distribution< Type >::Distribution(), and Distribution< Type >::operator=().
|
inline |
Return the List start bin indices.
Definition at line 38 of file DistributionI.H.
Referenced by Distribution< Type >::Distribution().
void write | ( | const fileName & | filePrefix | ) | const |
Write the distribution to file: key normalised raw.
Produces a separate file for each component.
Definition at line 513 of file Distribution.C.
References Distribution< Type >::cumulativeNormalised(), Distribution< Type >::cumulativeRaw(), Foam::endl(), UList< T >::first(), forAll, Foam::nl, Distribution< Type >::normalised(), and Distribution< Type >::raw().
void operator= | ( | const Distribution< Type > & | rhs | ) |
Definition at line 571 of file Distribution.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and Distribution< Type >::operator.
void operator= | ( | Distribution< Type > && | rhs | ) |
Definition at line 593 of file Distribution.C.
References Foam::abort(), Distribution< Type >::binWidth(), Foam::component(), Foam::FatalError, FatalErrorInFunction, UList< T >::first(), forAll, Distribution< Type >::index(), Foam::max(), Foam::neg(), Distribution< Type >::operator, Distribution< Type >::raw(), and token::SPACE.
|
friend |
|
friend |
Referenced by Distribution< Type >::operator=().