#ifndef CK_NUMBER_HPP #define CK_NUMBER_HPP #include "integral_constant.hpp" namespace ck { template using Number = integral_constant; template __host__ __device__ constexpr auto operator+(Number, Number) { return Number{}; } template __host__ __device__ constexpr auto operator-(Number, Number) { static_assert(Y <= X, "wrong!"); return Number{}; } template __host__ __device__ constexpr auto operator*(Number, Number) { return Number{}; } template __host__ __device__ constexpr auto operator/(Number, Number) { static_assert(Y > 0, "wrong!"); return Number{}; } template __host__ __device__ constexpr auto operator%(Number, Number) { static_assert(Y > 0, "wrong!"); return Number{}; } } // namespace ck #endif