Cuda battery library
Loading...
Searching...
No Matches
utility.hpp File Reference
#include <cstdio>
#include <cassert>
#include <limits>
#include <climits>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <cfenv>
#include <bit>

Go to the source code of this file.

Classes

struct  battery::limits< T >
 

Namespaces

namespace  battery
 

Macros

#define CUDA_GLOBAL
 
#define CUDA
 
#define CUDAE(S)
 
#define CUDAEX(S)
 
#define NI
 
#define INLINE   inline
 
#define CONSTEXPR_NEXTAFTER   constexpr
 

Functions

template<class T >
CUDA constexpr void battery::swap (T &a, T &b)
 
CUDA size_t battery::strlen (const char *str)
 
CUDA int battery::strcmp (const char *s1, const char *s2)
 
template<class T >
CUDA INLINE constexpr T battery::min (T a, T b)
 
template<class T >
CUDA INLINE constexpr T battery::max (T a, T b)
 
template<class T >
CUDA constexpr T battery::isnan (T a)
 
CUDA CONSTEXPR_NEXTAFTER float battery::nextafter (float f, float dir)
 
CUDA CONSTEXPR_NEXTAFTER double battery::nextafter (double f, double dir)
 
template<class To , class From , bool map_limits = true>
CUDA NI constexpr To battery::ru_cast (From x)
 
template<class To , class From , bool map_limits = true>
CUDA NI constexpr To battery::rd_cast (From x)
 
template<class T >
CUDA NI constexpr int battery::popcount (T x)
 
template<class T >
CUDA NI constexpr int battery::countl_zero (T x)
 
template<class T >
CUDA NI constexpr int battery::countl_one (T x)
 
template<class T >
CUDA NI constexpr int battery::countr_zero (T x)
 
template<class T >
CUDA NI constexpr int battery::countr_one (T x)
 
template<class T >
CUDA constexpr int battery::signum (T val)
 
template<class T >
CUDA NI constexpr T battery::ipow (T a, T b)
 
template<class T >
CUDA constexpr T battery::add_up (T x, T y)
 
template<class T >
CUDA constexpr T battery::add_down (T x, T y)
 
template<class T >
CUDA constexpr T battery::sub_up (T x, T y)
 
template<class T >
CUDA constexpr T battery::sub_down (T x, T y)
 
template<class T >
CUDA constexpr T battery::mul_up (T x, T y)
 
template<class T >
CUDA constexpr T battery::mul_down (T x, T y)
 
template<class T >
CUDA constexpr T battery::div_up (T x, T y)
 
template<class T >
CUDA constexpr T battery::div_down (T x, T y)
 
template<class T >
CUDA constexpr T battery::tdiv (T x, T y)
 
template<class T >
CUDA constexpr T battery::tmod (T x, T y)
 
template<class T >
CUDA constexpr T battery::fdiv (T x, T y)
 
template<class T >
CUDA constexpr T battery::fmod (T x, T y)
 
template<class T >
CUDA constexpr T battery::cdiv (T x, T y)
 
template<class T >
CUDA constexpr T battery::cmod (T x, T y)
 
template<class T >
CUDA constexpr T battery::ediv (T x, T y)
 
template<class T >
CUDA constexpr T battery::emod (T x, T y)
 
template<typename T >
CUDA NI void battery::print (const T &t)
 
template<>
CUDA NI void battery::print (const bool &x)
 
template<>
CUDA NI void battery::print (const char &x)
 
template<>
CUDA NI void battery::print (const short &x)
 
template<>
CUDA NI void battery::print (const int &x)
 
template<>
CUDA NI void battery::print (const long long int &x)
 
template<>
CUDA NI void battery::print (const long int &x)
 
template<>
CUDA NI void battery::print (const unsigned char &x)
 
template<>
CUDA NI void battery::print (const unsigned short &x)
 
template<>
CUDA NI void battery::print (const unsigned int &x)
 
template<>
CUDA NI void battery::print (const unsigned long &x)
 
template<>
CUDA NI void battery::print (const unsigned long long &x)
 
template<>
CUDA NI void battery::print (const float &x)
 
template<>
CUDA NI void battery::print (const double &x)
 
template<>
CUDA NI void battery::print (char const *const &x)
 

Macro Definition Documentation

◆ CUDA_GLOBAL

#define CUDA_GLOBAL

◆ CUDA

#define CUDA

◆ CUDAE

#define CUDAE ( S)
Value:
S

◆ CUDAEX

#define CUDAEX ( S)
Value:
S

◆ NI

#define NI

◆ INLINE

#define INLINE   inline

◆ CONSTEXPR_NEXTAFTER

#define CONSTEXPR_NEXTAFTER   constexpr