Skip to content

Commit

Permalink
Merge pull request #2755 from STEllAR-GROUP/remove_make_index_pack_un…
Browse files Browse the repository at this point in the history
…rolled

Removing make_index_pack_unrolled
  • Loading branch information
hkaiser committed Jul 15, 2017
2 parents df7616b + c960e41 commit cd00c78
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 94 deletions.
Expand Up @@ -77,8 +77,7 @@ namespace hpx
list_type hw_sizes = {})
: begin_( begin ), end_( begin ), block_( block )
{
using indices =
typename hpx::util::detail::make_index_pack_unroll<N>::type;
using indices = typename hpx::util::detail::make_index_pack<N>::type;

// Physical sizes is equal to logical sizes if physical sizes are
// not defined
Expand Down
Expand Up @@ -32,8 +32,7 @@ namespace hpx {
private:
using pvector_iterator = hpx::vector_iterator<T,Data>;
using segment_iterator = typename pvector_iterator::segment_iterator;
using indices =
typename hpx::util::detail::make_index_pack_unroll<N>::type;
using indices = typename hpx::util::detail::make_index_pack<N>::type;

template<std::size_t... I>
std::size_t increment_solver( std::size_t dist,
Expand Down
90 changes: 0 additions & 90 deletions hpx/util/detail/pack.hpp
Expand Up @@ -155,96 +155,6 @@ namespace hpx { namespace util { namespace detail
struct at_index
: at_index_impl<I, pack<Ts...> >::type
{};
////////////////////////////////////////////////////////////////////////////
template< std::size_t N,
std::size_t Start = 0,
typename previous_sequence = pack_c<std::size_t>,
bool = (N > 8)>
struct make_index_pack_unroll;

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<0, Start,
pack_c<std::size_t, I...>, false>
{
using type = pack_c<std::size_t, I...>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<1, Start,
pack_c<std::size_t, I...>, false>
{
using type = pack_c<std::size_t, I..., Start>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<2, Start,
pack_c<std::size_t, I...>, false>
{
using type = pack_c<std::size_t, I..., Start, Start+1>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<3, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1, Start+2>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<4, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1, Start+2,
Start+3>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<5, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1, Start+2,
Start+3, Start+4>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<6, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1, Start+2,
Start+3, Start+4, Start+5>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<7, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1, Start+2,
Start+3, Start+4, Start+5, Start+6>;
};

template<std::size_t Start, std::size_t... I>
struct make_index_pack_unroll<8, Start,
pack_c<std::size_t, I...>, false>
{
using type
= pack_c<std::size_t, I..., Start, Start+1,Start+2,
Start+3, Start+4, Start+5, Start+6, Start+7>;
};

template<std::size_t Start, std::size_t N, std::size_t... I>
struct make_index_pack_unroll<N, Start,
pack_c<std::size_t, I...>, true>
{
using type
= typename make_index_pack_unroll<N-8, Start+8,
pack_c<std::size_t, I..., Start, Start+1, Start+2,
Start+3, Start+4, Start+5, Start+6, Start+7>>::type;
};
}}}

#endif

0 comments on commit cd00c78

Please sign in to comment.