gem5  v22.1.0.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gem5::statistics::SparseHistBase< Derived, Stor > Class Template Reference

Implementation of a sparse histogram stat. More...

#include <statistics.hh>

Inheritance diagram for gem5::statistics::SparseHistBase< Derived, Stor >:
gem5::statistics::DataWrap< Derived, SparseHistInfoProxy > gem5::statistics::InfoAccess

Public Types

typedef SparseHistInfoProxy< Derived > Info
 
typedef Stor Storage
 
typedef Stor::Params Params
 
- Public Types inherited from gem5::statistics::DataWrap< Derived, SparseHistInfoProxy >
typedef SparseHistInfoProxy< Derived > Info
 

Public Member Functions

 SparseHistBase (Group *parent, const char *name, const units::Base *unit, const char *desc)
 
template<typename U >
void sample (const U &v, int n=1)
 Add a value to the distribtion n times. More...
 
size_type size () const
 Return the number of entries in this stat. More...
 
bool zero () const
 Return true if no samples have been added. More...
 
void prepare ()
 
void reset ()
 Reset stat value to default. More...
 
- Public Member Functions inherited from gem5::statistics::DataWrap< Derived, SparseHistInfoProxy >
const Infoinfo () const
 
 DataWrap ()=delete
 
 DataWrap (const DataWrap &)=delete
 
 DataWrap (Group *parent, const char *name, const units::Base *unit, const char *desc)
 
DataWrapoperator= (const DataWrap &)=delete
 
Derived & name (const std::string &name)
 Set the name and marks this stat to print at the end of simulation. More...
 
const std::string & name () const
 
Derived & setSeparator (const std::string &_sep)
 Set the character(s) used between the name and vector number on vectors, dist, etc. More...
 
const std::string & setSeparator () const
 
Derived & unit (const units::Base *_unit)
 Set the unit of the stat. More...
 
Derived & desc (const std::string &_desc)
 Set the description and marks this stat to print at the end of simulation. More...
 
Derived & precision (int _precision)
 Set the precision and marks this stat to print at the end of simulation. More...
 
Derived & flags (Flags _flags)
 Set the flags and marks this stat to print at the end of simulation. More...
 
Derived & prereq (const Stat &prereq)
 Set the prerequisite stat and marks this stat to print at the end of simulation. More...
 
- Public Member Functions inherited from gem5::statistics::InfoAccess
 InfoAccess ()
 
void reset ()
 Reset the stat to the default state. More...
 
bool zero () const
 
bool check () const
 Check that this stat has been set up properly and is ready for use. More...
 

Protected Member Functions

Storagedata ()
 Retrieve the storage. More...
 
const Storagedata () const
 Retrieve a const pointer to the storage. More...
 
void doInit ()
 
- Protected Member Functions inherited from gem5::statistics::DataWrap< Derived, SparseHistInfoProxy >
Derived & self ()
 
Infoinfo ()
 
- Protected Member Functions inherited from gem5::statistics::InfoAccess
void setInfo (Group *parent, Info *info)
 Set up an info class for this statistic. More...
 
void setParams (const StorageParams *params)
 Save Storage class parameters if any. More...
 
void setInit ()
 Save Storage class parameters if any. More...
 
Infoinfo ()
 Grab the information class for this statistic. More...
 
const Infoinfo () const
 Grab the information class for this statistic. More...
 
bool newStyleStats () const
 Check if the info is new style stats. More...
 

Protected Attributes

char storage [sizeof(Storage)]
 The storage for this stat. More...
 

Detailed Description

template<class Derived, class Stor>
class gem5::statistics::SparseHistBase< Derived, Stor >

Implementation of a sparse histogram stat.

The storage class is determined by the Storage template.

Definition at line 2411 of file statistics.hh.

Member Typedef Documentation

◆ Info

template<class Derived , class Stor >
typedef SparseHistInfoProxy<Derived> gem5::statistics::SparseHistBase< Derived, Stor >::Info

Definition at line 2414 of file statistics.hh.

◆ Params

template<class Derived , class Stor >
typedef Stor::Params gem5::statistics::SparseHistBase< Derived, Stor >::Params

Definition at line 2416 of file statistics.hh.

◆ Storage

template<class Derived , class Stor >
typedef Stor gem5::statistics::SparseHistBase< Derived, Stor >::Storage

Definition at line 2415 of file statistics.hh.

Constructor & Destructor Documentation

◆ SparseHistBase()

template<class Derived , class Stor >
gem5::statistics::SparseHistBase< Derived, Stor >::SparseHistBase ( Group parent,
const char *  name,
const units::Base unit,
const char *  desc 
)
inline

Definition at line 2451 of file statistics.hh.

Member Function Documentation

◆ data() [1/2]

template<class Derived , class Stor >
Storage* gem5::statistics::SparseHistBase< Derived, Stor >::data ( )
inlineprotected

◆ data() [2/2]

template<class Derived , class Stor >
const Storage* gem5::statistics::SparseHistBase< Derived, Stor >::data ( ) const
inlineprotected

Retrieve a const pointer to the storage.

Returns
A const pointer to the storage object for this stat.

Definition at line 2438 of file statistics.hh.

References gem5::statistics::SparseHistBase< Derived, Stor >::storage.

◆ doInit()

template<class Derived , class Stor >
void gem5::statistics::SparseHistBase< Derived, Stor >::doInit ( )
inlineprotected

◆ prepare()

template<class Derived , class Stor >
void gem5::statistics::SparseHistBase< Derived, Stor >::prepare ( )
inline

◆ reset()

template<class Derived , class Stor >
void gem5::statistics::SparseHistBase< Derived, Stor >::reset ( )
inline

◆ sample()

template<class Derived , class Stor >
template<typename U >
void gem5::statistics::SparseHistBase< Derived, Stor >::sample ( const U &  v,
int  n = 1 
)
inline

Add a value to the distribtion n times.

Calls sample on the storage class.

Parameters
vThe value to add.
nThe number of times to add it, defaults to 1.

Definition at line 2465 of file statistics.hh.

References gem5::statistics::SparseHistBase< Derived, Stor >::data(), gem5::ArmISA::n, and gem5::VegaISA::v.

Referenced by gem5::CommMonitor::MonitorStats::updateReqStats().

◆ size()

template<class Derived , class Stor >
size_type gem5::statistics::SparseHistBase< Derived, Stor >::size ( ) const
inline

Return the number of entries in this stat.

Returns
The number of entries.

Definition at line 2471 of file statistics.hh.

References gem5::statistics::SparseHistBase< Derived, Stor >::data().

◆ zero()

template<class Derived , class Stor >
bool gem5::statistics::SparseHistBase< Derived, Stor >::zero ( ) const
inline

Return true if no samples have been added.

Returns
True if there haven't been any samples.

Definition at line 2476 of file statistics.hh.

References gem5::statistics::SparseHistBase< Derived, Stor >::data().

Member Data Documentation

◆ storage

template<class Derived , class Stor >
char gem5::statistics::SparseHistBase< Derived, Stor >::storage[sizeof(Storage)]
protected

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

Generated on Wed Dec 21 2022 10:24:27 for gem5 by doxygen 1.9.1