"include/ck/utility/sequence.hpp" did not exist on "05e046654c9a226444091806a418a77fe0e4a4c2"
integral_constant.hip.hpp 416 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
#pragma once

template <class T, T N>
struct integral_constant
{
    static const T value = N;

    __host__ __device__ constexpr T Get() const { return value; }
};

Chao Liu's avatar
Chao Liu committed
11
12
13
14
15
16
template <class T, index_t X, index_t Y>
__host__ __device__ constexpr auto operator+(integral_constant<T, X>, integral_constant<T, Y>)
{
    return integral_constant<T, X + Y>{};
}

Chao Liu's avatar
Chao Liu committed
17
18
template <index_t N>
using Number = integral_constant<index_t, N>;