gem5  v22.1.0.0
Classes | Public Member Functions | Private Attributes | List of all members
gem5::statistics::SparseHistStor Class Reference

Templatized storage and interface for a sparse histogram stat. More...

#include <storage.hh>

Classes

struct  Params
 The parameters for a sparse histogram stat. More...
 

Public Member Functions

 SparseHistStor (const StorageParams *const storage_params)
 
void sample (Counter val, int number)
 Add a value to the distribution for the given number of times. More...
 
size_type size () const
 Return the number of buckets in this distribution. More...
 
bool zero () const
 Returns true if any calls to sample have been made. More...
 
void prepare (const StorageParams *const storage_params, SparseHistData &data)
 
void reset (const StorageParams *const storage_params)
 Reset stat value to default. More...
 

Private Attributes

Counter samples
 Counter for number of samples. More...
 
MCounter cmap
 Counter for each bucket. More...
 

Detailed Description

Templatized storage and interface for a sparse histogram stat.

There is no actual limit on the number of buckets, and each of them has a size of 1, meaning that samples are individually recorded, and there is no need to keep track of the samples that occur in between two distant sampled values.

Definition at line 714 of file storage.hh.

Constructor & Destructor Documentation

◆ SparseHistStor()

gem5::statistics::SparseHistStor::SparseHistStor ( const StorageParams *const  storage_params)
inline

Definition at line 729 of file storage.hh.

References reset().

Member Function Documentation

◆ prepare()

void gem5::statistics::SparseHistStor::prepare ( const StorageParams *const  storage_params,
SparseHistData data 
)
inline

Definition at line 763 of file storage.hh.

References cmap, data, and samples.

Referenced by TEST().

◆ reset()

void gem5::statistics::SparseHistStor::reset ( const StorageParams *const  storage_params)
inline

Reset stat value to default.

Definition at line 778 of file storage.hh.

References cmap, and samples.

Referenced by SparseHistStor(), and TEST().

◆ sample()

void gem5::statistics::SparseHistStor::sample ( Counter  val,
int  number 
)
inline

Add a value to the distribution for the given number of times.

Parameters
valThe value to add.
numberThe number of times to add the value.

Definition at line 740 of file storage.hh.

References cmap, samples, and gem5::X86ISA::val.

Referenced by TEST().

◆ size()

size_type gem5::statistics::SparseHistStor::size ( ) const
inline

Return the number of buckets in this distribution.

Returns
the number of buckets.

Definition at line 750 of file storage.hh.

References cmap.

Referenced by TEST().

◆ zero()

bool gem5::statistics::SparseHistStor::zero ( ) const
inline

Returns true if any calls to sample have been made.

Returns
True if any values have been sampled.

Definition at line 757 of file storage.hh.

References samples.

Referenced by TEST().

Member Data Documentation

◆ cmap

MCounter gem5::statistics::SparseHistStor::cmap
private

Counter for each bucket.

Definition at line 720 of file storage.hh.

Referenced by prepare(), reset(), sample(), and size().

◆ samples

Counter gem5::statistics::SparseHistStor::samples
private

Counter for number of samples.

Definition at line 718 of file storage.hh.

Referenced by prepare(), reset(), sample(), and zero().


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