|
Peano
|
Typedefs | |
| using | dim_range_type = tbb::blocked_range< Value > |
| Helper type to construct range with N tbb::blocked_range<value_type> objects. | |
| template<typename Value , unsigned int N> | |
| using | blocked_nd_range = blocked_nd_range_impl< Value, N > |
Functions | |
| template<typename Value , unsigned int N, typename = detail::make_index_sequence<N>> | |
| __TBB_requires (blocked_range_value< Value >) class blocked_nd_range_impl | |
| blocked_nd_range_impl ()=delete | |
| blocked_nd_range_impl (Value end[N], typename tbb::blocked_range< value_type >::size_type grainsize) | |
| Newer TBB versions provide a constructor. | |
| static constexpr unsigned int | ndims () |
| Dimensionality of a range. | |
| const tbb::blocked_range< value_type > & | dim (unsigned int dimension) const |
| Range in certain dimension. | |
| bool | empty () const |
| True if at least one dimension is empty. | |
| bool | is_divisible () const |
| True if at least one dimension is divisible. | |
| blocked_nd_range_impl (blocked_nd_range_impl &r, proportional_split proportion) | |
| blocked_nd_range_impl (blocked_nd_range_impl &r, split proportion) | |
| template<typename split_type > | |
| void | do_split (blocked_nd_range_impl &r, split_type proportion) |
Variables | |
| N | |
| std::vector< tbb::blocked_range< value_type > > | my_dims |
|
private |
Definition at line 323 of file blocked_rangeNd.h.
|
private |
Helper type to construct range with N tbb::blocked_range<value_type> objects.
The "original" TBB version uses
but some of our compilers struggle to have this using over a template employing yet another type that had been declared via a using statement (see above). When we use the declaration as below - which is equivalent
Definition at line 216 of file blocked_rangeNd.h.
| tbb::detail::d1::__TBB_requires | ( | blocked_range_value< Value > | ) |
|
delete |
| tbb::detail::d1::blocked_nd_range_impl | ( | blocked_nd_range_impl & | r, |
| proportional_split | proportion | ||
| ) |
Definition at line 282 of file blocked_rangeNd.h.
References do_split(), my_dims, and N.

| tbb::detail::d1::blocked_nd_range_impl | ( | blocked_nd_range_impl & | r, |
| split | proportion | ||
| ) |
Definition at line 287 of file blocked_rangeNd.h.
References do_split(), my_dims, and N.

| tbb::detail::d1::blocked_nd_range_impl | ( | Value | end[N], |
| typename tbb::blocked_range< value_type >::size_type | grainsize | ||
| ) |
Newer TBB versions provide a constructor.
We don't use this particular constructor in Peano, but some compilers struggle with it. Therefore, I just comment it out.
I originally had a begin array as well, but Intel colleagues pointed out that we'd better have no begin array but only a size array.
Definition at line 241 of file blocked_rangeNd.h.
| const tbb::blocked_range< value_type > & tbb::detail::d1::dim | ( | unsigned int | dimension | ) | const |
Range in certain dimension.
Definition at line 258 of file blocked_rangeNd.h.
|
private |
Definition at line 303 of file blocked_rangeNd.h.
References my_dims.
Referenced by blocked_nd_range_impl(), and blocked_nd_range_impl().

| bool tbb::detail::d1::empty | ( | ) | const |
True if at least one dimension is empty.
Definition at line 269 of file blocked_rangeNd.h.
References my_dims.
| bool tbb::detail::d1::is_divisible | ( | ) | const |
True if at least one dimension is divisible.
Definition at line 276 of file blocked_rangeNd.h.
References my_dims.
|
staticconstexpr |
|
private |
Ranges in each dimension.
This has to be a vector, as there are situations where we can't initialise the entries all in one go.
Definition at line 300 of file blocked_rangeNd.h.
Referenced by blocked_nd_range_impl(), blocked_nd_range_impl(), blocked_nd_range_impl(), dim(), do_split(), empty(), and is_divisible().
| tbb::detail::d1::N |
Definition at line 195 of file blocked_rangeNd.h.
Referenced by blocked_nd_range_impl(), blocked_nd_range_impl(), blocked_nd_range_impl(), dim(), and ndims().