try using more constexpr

[ROCm/composable_kernel commit: 498e71b098]
This commit is contained in:
Chao Liu
2019-06-04 17:02:49 -05:00
parent da9ea59483
commit f11222a3ac
10 changed files with 272 additions and 42 deletions

View File

@@ -18,11 +18,24 @@ struct Array
__host__ __device__ constexpr index_t GetSize() const { return NSize; }
__host__ __device__ const TData& operator[](index_t i) const { return mData[i]; }
__host__ __device__ constexpr TData operator[](index_t i) const { return mData[i]; }
__host__ __device__ TData& operator[](index_t i) { return mData[i]; }
__host__ __device__ auto PushBack(TData x) const
template <index_t I>
__host__ __device__ constexpr TData Get(Number<I>) const
{
return mData[I];
}
template <index_t I>
__host__ __device__ constexpr bool Set(Number<I>, TData x)
{
mData[I] = x;
return true; // for constexpr
}
__host__ __device__ constexpr auto PushBack(TData x) const
{
Array<TData, NSize + 1> new_array;