ChampSim
fwcounter.h File Reference
#include <algorithm>
#include <cstdlib>
Include dependency graph for fwcounter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  champsim::msl::base_fwcounter< val_type, MAXVAL, MINVAL >
 

Namespaces

 champsim
 
 champsim::msl
 

Typedefs

template<std::size_t WIDTH>
using champsim::msl::fwcounter = base_fwcounter< signed long long int,(1<< WIDTH) - 1, 0 >
 
template<std::size_t WIDTH>
using champsim::msl::sfwcounter = base_fwcounter< signed long long int,(1<<(WIDTH - 1)) - 1, -(1<<(WIDTH - 1))>
 

Functions

template<typename vt , vt mxvl, vt mnvl, typename Numeric >
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator+ (base_fwcounter< vt, mxvl, mnvl > lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator- (base_fwcounter< vt, mxvl, mnvl > lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator* (base_fwcounter< vt, mxvl, mnvl > lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator/ (base_fwcounter< vt, mxvl, mnvl > lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator< (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator== (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator> (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator>= (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator<= (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl, typename Numeric >
bool champsim::msl::operator!= (const base_fwcounter< vt, mxvl, mnvl > &lhs, Numeric rhs)
 
template<typename vt , vt mxvl, vt mnvl>
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator+ (base_fwcounter< vt, mxvl, mnvl > lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
base_fwcounter< vt, mxvl, mnvl > champsim::msl::operator- (base_fwcounter< vt, mxvl, mnvl > lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator< (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator> (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator<= (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator>= (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator== (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)
 
template<typename vt , vt mxvl, vt mnvl>
bool champsim::msl::operator!= (const base_fwcounter< vt, mxvl, mnvl > &lhs, const base_fwcounter< vt, mxvl, mnvl > &rhs)