Partition in which domains created form a standard normal distribution. More...
Public Member Functions | |
| normal_partition (normal_partition const &other) | |
| normal_partition (value_type const &dom, const size_t parts, const size_t mean, const double sigma=1.0) | |
| domain_type | domain () const |
| Get the partition's domain [0, .., p-1]. | |
| void | set_domain (value_type const &dom) |
| Set the global domain to partition. More... | |
| value_type | operator[] (index_type idx) const |
| Return the subdomain at a given index. This is the inverse of find. More... | |
| size_type | size () const |
| Return the number of partitions generated. | |
| value_type const & | global_domain () const |
| Return the original domain that was used to create subdomains. | |
| index_type | find (index_type g) const |
Returns the index of the partition that contains the gid g. More... | |
Public Types | |
| typedef indexed_domain< size_t > | domain_type |
| The domain of the partitioner itself (i.e., the domain [0, ..., p-1]) | |
| typedef domain_type::index_type | index_type |
| Type used to describe the i'th subdomain. | |
| typedef Dom | value_type |
| Type of the subdomains produced by the partition. | |
| typedef value_type::index_type | gid_type |
| Type of the GIDs in the subdomains. | |
| typedef value_type::size_type | size_type |
| Type of the size of the subdomains. | |
Protected Attributes | |
| value_type | m_domain |
| The global domain. | |
| size_t | m_mean |
| The index that where the normal distribution will be centered. | |
| double | m_sigma |
| Standard deviation value to dictate the shape of the normal curve. | |
| size_t | m_parts |
| The number of partitions to generate. | |
| std::vector< size_t > | m_sizes |
| The sizes of each partition. | |
| std::map< gid_type, index_type > | m_offsets |
| Lower bounds (inclusive) of the subdomains. | |
| std::map< gid_type, index_type > | m_upper_bound |
| Upper bounds (exclusive) of the subdomains. | |
Partition in which domains created form a standard normal distribution.
Subdomains that are near the mean index have more elements than others, which have sizes that taper off based on a given standard deviation value.
| Dom | Type of the domain to be partitioned |
| stapl::normal_partition< Dom >::normal_partition | ( | value_type const & | dom, |
| const size_t | parts, | ||
| const size_t | mean, | ||
| const double | sigma = 1.0 |
||
| ) |
Create a partition with a domain, the number of partitions and values describing the shape of the normal distribution.
| dom | The domain to partition |
| parts | The number of partitions to generate |
| mean | The index of the partition that will be the mean of the distribution. |
| sigma | The standard deviation of the distribution |
| void stapl::normal_partition< Dom >::set_domain | ( | value_type const & | dom | ) |
Set the global domain to partition.
| dom | The domain to partition |
| value_type stapl::normal_partition< Dom >::operator[] | ( | index_type | idx | ) | const |
| index_type stapl::normal_partition< Dom >::find | ( | index_type | g | ) | const |
Returns the index of the partition that contains the gid g.
| g | gid to find |
g
1.8.13