AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
|
A simple class to handle arithmetic on modular integers. More...
Classes | |
class | axom::slam::ModularInt< SizePolicy > |
This class is a wrapper around an int and encapsulates modular arithmetic with a given modulus. More... | |
Namespaces | |
axom | |
axom::slam | |
Functions | |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator+ (const ModularInt< SizePolicy > &zn, const int n) |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator+ (const int n, const ModularInt< SizePolicy > &zn) |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator- (const ModularInt< SizePolicy > &zn, const int n) |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator- (const int n, const ModularInt< SizePolicy > &zn) |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator* (const ModularInt< SizePolicy > &zn, const int n) |
template<typename SizePolicy > | |
ModularInt< SizePolicy > | axom::slam::operator* (const int n, const ModularInt< SizePolicy > &zn) |
A simple class to handle arithmetic on modular integers.
Modular integers simplify cyclic indexing over a range. We allow the max number to be set during compile time or at runtime