Accumulating histogram of values. Specified bin resolution automatic generation of bins. More...
#include <distribution.H>


Public Member Functions | |
| TypeName ("distribution") | |
| Runtime type information. | |
| distribution () | |
| Construct null. | |
| distribution (const scalar binWidth) | |
| Construct from binWidth. | |
| distribution (const distribution &) | |
| Construct as copy. | |
| virtual | ~distribution () |
| Destructor. | |
| label | totalEntries () const |
| scalar | approxTotalEntries () const |
| scalar | mean () const |
| scalar | median () |
| void | add (const scalar valueToAdd) |
| Add a value to the appropriate bin of the distribution. | |
| void | add (const label valueToAdd) |
| void | insertMissingKeys () |
| List< Pair< scalar > > | normalised () |
| List< Pair< scalar > > | normalisedMinusMean () |
| List< Pair< scalar > > | normalisedShifted (scalar shiftValue) |
| List< Pair< scalar > > | raw () |
| scalar | binWidth () const |
| void | operator= (const distribution &) |
| Public Member Functions inherited from Map< label > | |
| void | operator= (const this_type &rhs) |
| Copy assign. | |
| void | operator= (std::initializer_list< std::pair< label, label > > rhs) |
| Copy assign from an initializer list. | |
| void | operator= (this_type &&rhs) |
| Move assign. | |
| constexpr | Map () noexcept=default |
| Default construct: empty without allocation (capacity=0). | |
| Public Member Functions inherited from HashTable< label, label, Hash< label > > | |
| Foam::List< label > | sortedToc (const Compare &comp) const |
| Foam::List< label > | tocKeys (const UnaryPredicate &pred, const bool invert) const |
| Foam::List< label > | tocValues (const UnaryPredicate &pred, const bool invert) const |
| Foam::List< label > | tocEntries (const BinaryPredicate &pred, const bool invert) const |
| Foam::label | countKeys (const UnaryPredicate &pred, const bool invert) const |
| Foam::label | countValues (const UnaryPredicate &pred, const bool invert) const |
| Foam::label | countEntries (const BinaryPredicate &pred, const bool invert) const |
| Foam::label | erase (InputIter first, InputIter last) |
| Foam::label | erase (const FixedList< label, N > &keys) |
| Foam::label | erase (const HashTable< AnyType, label, AnyHash > &other) |
| Foam::label | retain (const HashTable< AnyType, label, AnyHash > &other) |
| Foam::label | filterKeys (const UnaryPredicate &pred, const bool pruning) |
| Foam::label | filterValues (const UnaryPredicate &pred, const bool pruning) |
| Foam::label | filterEntries (const BinaryPredicate &pred, const bool pruning) |
| constexpr | HashTable () noexcept |
| Default construct: empty without allocation (capacity=0). | |
| ~HashTable () | |
| Destructor. | |
| bool | empty () const noexcept |
| True if the hash table is empty. | |
| label | size () const noexcept |
| The number of elements in table. | |
| label | capacity () const noexcept |
| The size of the underlying table (the number of buckets). | |
| label & | at (const label &key) |
| Find and return a hashed entry. FatalError if it does not exist. | |
| bool | contains (const label &key) const |
| True if hashed key is contained (found) in table. | |
| iterator | find (const label &key) |
| Find and return an iterator set at the hashed entry. | |
| const_iterator | cfind (const label &key) const |
| Find and return an const_iterator set at the hashed entry. | |
| const label & | lookup (const label &key, const label &deflt) const |
| Return hashed entry if it exists, or return the given default. | |
| List< label > | toc () const |
| The table of contents (the keys) in unsorted order. | |
| UPtrList< const node_type > | csorted () const |
| Const access to the hash-table contents in sorted order (sorted by keys). | |
| UPtrList< node_type > | sorted () |
| Non-const access to the hash-table contents in sorted order (sorted by keys). | |
| bool | emplace (const label &key, Args &&... args) |
| Emplace insert a new entry, not overwriting existing entries. | |
| bool | emplace_set (const label &key, Args &&... args) |
| Emplace set an entry, overwriting any existing entries. | |
| bool | insert (const label &key, const label &obj) |
| Copy insert a new entry, not overwriting existing entries. | |
| bool | set (const label &key, const label &obj) |
| Copy assign a new entry, overwriting existing entries. | |
| void | clear () |
| Remove all entries from table. | |
| void | clearStorage () |
| Remove all entries from table and the table itself. | |
| void | setCapacity (label newCapacity) |
| Change the hash table capacity (number of buckets). | |
| void | resize (label newCapacity) |
| Rehash the hash table with new number of buckets. Currently identical to setCapacity(). | |
| void | reserve (label numEntries) |
| Reserve space for at least the specified number of elements (not the number of buckets) and regenerates the hash table. | |
| void | swap (HashTable< label, label, Hash > &rhs) noexcept |
| Swap contents into this table. | |
| void | transfer (HashTable< label, label, Hash > &rhs) |
| Transfer contents into this table. | |
| void | merge (HashTable< label, label, Hash > &source) |
Attempts to extract entries from source parameter and insert them into this, does not overwrite existing entries. The source will contains any items that could not be merged. | |
| label & | operator[] (const label &key) |
| Find and return a hashed entry. FatalError if it does not exist. | |
| label & | operator() (const label &key) |
| Return existing entry or create a new entry. | |
| void | operator= (const this_type &rhs) |
| Copy assign. | |
| bool | operator== (const this_type &rhs) const |
| Equality. Tables are equal if all keys and values are equal, independent of order or underlying storage size. | |
| bool | operator!= (const this_type &rhs) const |
| The opposite of the equality operation. | |
| this_type & | operator+= (const this_type &rhs) |
| Add entries into this HashTable. | |
| const_iterator_pair< const_key_iterator, this_type > | keys () const |
| A const iterator begin/end pair for iterating over keys. | |
| iterator | begin () |
| iterator set to the beginning of the HashTable | |
| const_iterator | cbegin () const |
| const_iterator set to the beginning of the HashTable | |
| iterator | end () noexcept |
| iterator to signal the end (for any HashTable) | |
| constexpr const_iterator | cend () const noexcept |
| const_iterator to signal the end (for any HashTable) | |
| Ostream & | printInfo (Ostream &os) const |
| Print information. | |
| Ostream & | writeKeys (Ostream &os, const label shortLen=0) const |
| Write unordered keys (list), with line-breaks when length exceeds shortLen. | |
| bool | found (const label &key) const |
| Same as contains(). | |
| Public Member Functions inherited from HashTableCore | |
| ClassName ("HashTable") | |
| Declare type-name (with debug switch). | |
| constexpr | HashTableCore () noexcept=default |
| Default construct. | |
Static Public Member Functions | |
| static void | write (const fileName &file, const List< Pair< scalar > > &pairs) |
| Write to file. | |
| Static Public Member Functions inherited from HashTableCore | |
| static label | canonicalSize (const label size) noexcept |
| Return a canonical (power-of-two) of the requested size. | |
Friends | |
| Ostream & | operator<< (Ostream &, const distribution &) |
Additional Inherited Members | |
| Public Types inherited from Map< label > | |
| typedef Map< label > | this_type |
| The template instance used for this Map. | |
| typedef HashTable< label, label, Hash< label > > | parent_type |
| The template instance used for the parent HashTable. | |
| using | iterator |
| using | const_iterator |
| Public Types inherited from HashTable< label, label, Hash< label > > | |
| typedef HashTable< label, label, Hash > | this_type |
| The template instance used for this HashTable. | |
| using | node_type |
| A table entry (node) that encapsulates the key/val tuple with an additional linked-list entry for hash collisions. | |
| typedef label | key_type |
| The second template parameter, type of keys used. | |
| typedef label | mapped_type |
| The first template parameter, type of objects contained. | |
| typedef label | value_type |
| Same as mapped_type for OpenFOAM HashTables. | |
| typedef Hash | hasher |
| The third template parameter, the hash index method. | |
| typedef label * | pointer |
| Pointer type for storing into value_type objects. | |
| typedef label & | reference |
| Reference to the stored value_type. | |
| typedef const label * | const_pointer |
| Const pointer type for the stored value_type. | |
| typedef const label & | const_reference |
| Const reference to the stored value_type. | |
| typedef label | difference_type |
| The type to represent the difference between two iterators. | |
| typedef label | size_type |
| The type that can represent the size of a HashTable. | |
| using | key_iterator |
| Forward iterator returning the key. | |
| using | const_key_iterator |
| Forward const iterator returning the key. | |
| Static Public Attributes inherited from HashTableCore | |
| static constexpr int32_t | maxTableSize = (1 << (32-3)) |
| Maximum allowable internal table size (must be a power of two!). | |
Accumulating histogram of values. Specified bin resolution automatic generation of bins.
Definition at line 57 of file distribution.H.
| distribution | ( | ) |
Construct null.
Definition at line 51 of file distribution.C.
References Map< label >::Map().
Referenced by distribution(), operator<<, operator=(), and TypeName().


| distribution | ( | const scalar | binWidth | ) |
Construct from binWidth.
Definition at line 58 of file distribution.C.
References binWidth(), and Map< label >::Map().

| distribution | ( | const distribution & | d | ) |
Construct as copy.
Definition at line 65 of file distribution.C.
References binWidth(), distribution(), and Map< label >::Map().

|
virtual |
Destructor.
Definition at line 74 of file distribution.C.
| TypeName | ( | "distribution" | ) |
Runtime type information.
References binWidth(), and distribution().

Write to file.
Definition at line 34 of file distribution.C.
References forAll, Foam::nl, and os().

| Foam::label totalEntries | ( | ) | const |
Definition at line 80 of file distribution.C.
References Foam::endl(), forAllConstIters, and WarningInFunction.

| Foam::scalar approxTotalEntries | ( | ) | const |
Definition at line 108 of file distribution.C.
References forAllConstIters.
Referenced by mean(), and normalised().

| Foam::scalar mean | ( | ) | const |
Definition at line 121 of file distribution.C.
References approxTotalEntries(), forAll, k, HashTable< label, label, Hash< label > >::keys(), and HashTable< label, label, Hash< label > >::toc().
Referenced by normalisedMinusMean().


| Foam::scalar median | ( | ) |
Definition at line 144 of file distribution.C.
References UList< T >::first(), forAll, median(), Foam::normalised(), and UList< T >::size().
Referenced by median().


| void add | ( | const scalar | valueToAdd | ) |
Add a value to the appropriate bin of the distribution.
Definition at line 208 of file distribution.C.
References Foam::abort(), HashTable< label, label, Hash< label > >::begin(), HashTable< label, label, Hash< label > >::end(), Foam::FatalError, FatalErrorInFunction, HashTable< label, label, Hash< label > >::find(), insert(), n, and Foam::neg().

| void add | ( | const label | valueToAdd | ) |
Definition at line 238 of file distribution.C.
References Foam::add().

| void insertMissingKeys | ( | ) |
Definition at line 244 of file distribution.C.
References insert(), k, HashTable< label, label, Hash< label > >::keys(), and HashTable< label, label, Hash< label > >::sortedToc().
Referenced by normalised(), and raw().


| Foam::List< Foam::Pair< Foam::scalar > > normalised | ( | ) |
Definition at line 259 of file distribution.C.
References approxTotalEntries(), Foam::endl(), UList< T >::first(), forAll, Foam::Info, insertMissingKeys(), k, HashTable< label, label, Hash< label > >::keys(), HashTable< label, label, Hash< label > >::size(), and HashTable< label, label, Hash< label > >::sortedToc().

| Foam::List< Foam::Pair< Foam::scalar > > normalisedMinusMean | ( | ) |
Definition at line 286 of file distribution.C.
References mean(), and normalisedShifted().

| Foam::List< Foam::Pair< Foam::scalar > > normalisedShifted | ( | scalar | shiftValue | ) |
Definition at line 292 of file distribution.C.
References Foam::endl(), UList< T >::first(), forAll, Foam::Info, Foam::nl, Foam::normalised(), Foam::sign(), and UList< T >::size().
Referenced by normalisedMinusMean().


| Foam::List< Foam::Pair< Foam::scalar > > raw | ( | ) |
Definition at line 404 of file distribution.C.
References UList< T >::first(), forAll, insertMissingKeys(), k, HashTable< label, label, Hash< label > >::keys(), HashTable< label, label, Hash< label > >::size(), and HashTable< label, label, Hash< label > >::sortedToc().

|
inline |
Definition at line 23 of file distributionI.H.
Referenced by distribution(), distribution(), and TypeName().

| void operator= | ( | const distribution & | rhs | ) |
Definition at line 426 of file distribution.C.
References distribution(), Map< T >::operator=(), and Foam::rhs().

|
friend |
References distribution().