/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/math.hpp File Reference

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/math.hpp File Reference#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/math.hpp File Reference
math.hpp File Reference
#include "ck/ck.hpp"
#include "integral_constant.hpp"
#include "number.hpp"
#include "type.hpp"
#include "enable_if.hpp"

Go to the source code of this file.

Classes

struct  ck::math::scales< T, s >
 
struct  ck::math::plus< T >
 
struct  ck::math::minus< T >
 
struct  ck::math::multiplies
 
struct  ck::math::maximize< T >
 
struct  ck::math::minimize< T >
 
struct  ck::math::integer_divide_ceiler< T >
 
struct  ck::math::less< T >
 

Namespaces

 ck
 
 ck::math
 

Functions

template<typename X , typename Y >
__host__ constexpr __device__ auto ck::math::integer_divide_floor (X x, Y y)
 
template<typename X , typename Y >
__host__ constexpr __device__ auto ck::math::integer_divide_ceil (X x, Y y)
 
template<typename X , typename Y >
__host__ constexpr __device__ auto ck::math::integer_least_multiple (X x, Y y)
 
template<typename T >
__host__ constexpr __device__ T ck::math::max (T x)
 
template<typename T >
__host__ constexpr __device__ T ck::math::max (T x, T y)
 
template<index_t X>
__host__ constexpr __device__ index_t ck::math::max (Number< X >, index_t y)
 
template<index_t Y>
__host__ constexpr __device__ index_t ck::math::max (index_t x, Number< Y >)
 
template<typename X , typename... Ys>
__host__ constexpr __device__ auto ck::math::max (X x, Ys... ys)
 
template<typename T >
__host__ constexpr __device__ T ck::math::min (T x)
 
template<typename T >
__host__ constexpr __device__ T ck::math::min (T x, T y)
 
template<index_t X>
__host__ constexpr __device__ index_t ck::math::min (Number< X >, index_t y)
 
template<index_t Y>
__host__ constexpr __device__ index_t ck::math::min (index_t x, Number< Y >)
 
template<typename X , typename... Ys>
__host__ constexpr __device__ auto ck::math::min (X x, Ys... ys)
 
template<typename T >
__host__ constexpr __device__ T ck::math::clamp (const T &x, const T &lowerbound, const T &upperbound)
 
__host__ constexpr __device__ index_t ck::math::gcd (index_t x, index_t y)
 
template<index_t X, index_t Y>
__host__ constexpr __device__ auto ck::math::gcd (Number< X >, Number< Y >)
 
Y __host__ constexpr __device__ auto ck::math::lcm (X x, Y y)
 
template<index_t X>
__host__ constexpr __device__ auto ck::math::next_power_of_two ()
 
template<index_t X>
__host__ constexpr __device__ auto ck::math::next_power_of_two (Number< X > x)