AUtils Class Reference

provides some generic functions for non-standard arithmetic operations

`#include <AUtils.h>`

## Static Public Member Functions

template<class T>
static T | max (T a, T b)
template<class T>
static T | min (T a, T b)
template<class T>
static T | div_roundup (T a, T b)
template<class T>
static T | bminus (T a, T b)
template<class T, T top>
static T | bplus (T a, T b)
template<class T>
static T | bplus (T a, T b, T top)
template<class T, class CTYPE>
static T | modsum (T *s, CTYPE n, T m)
template<class IT, class FT>
static IT | roundup (FT x)
template<class T>
static T | log2_ceil (T n)

## Member Function Documentation

## bminus()

template<class T>

T AUtils::bminus | ( | T | a,
|  | T | b )

static

substraction with the modification to return 0 (T()) for negative difference (needs >, -, T())

## bplus() [1/2]

template<class T, T top>

T AUtils::bplus | ( | T | a,
|  | T | b )

static

addition with the modification to return top for sums that are larger than top

## bplus() [2/2]

template<class T>

T AUtils::bplus | ( | T | a,
|  | T | b,
|  | T | top )

static

## div_roundup()

template<class T>

T AUtils::div_roundup | ( | T | a,
|  | T | b )

static

returns a divided through b rounded up to nearest "integer" (needs =, –, +, /)

## log2_ceil()

template<class T>

T AUtils::log2_ceil | ( | T | n | ) |

static

compute 2-logarithm of n (rounded up to nearest int), i.e. number of bits needed to store values from {0,...,n-1}

## max()

template<class T>

T AUtils::max | ( | T | a,
|  | T | b )

static

return the maximum of a and b (needs >)

## min()

template<class T>

T AUtils::min | ( | T | a,
|  | T | b )

static

return the minimum of a and b (needs <)

## modsum()

template<class T, class CTYPE>

T AUtils::modsum | ( | T * | s,
|  | CTYPE | n,
|  | T | m )

static

calculate the sum s[0]+...s[n-1] modulo m (needs =, +, % for T and =, CTYPE(), <, ++ for CTYPE)

## roundup()

template<class IT, class FT>

IT AUtils::roundup | ( | FT | x | ) |

static

round up x to nearest integer

The documentation for this class was generated from the following file:

- AUtils.h