Skip to content

File statistics.h

FileList > include > simtix > statistics.h

Go to the source code of this file

  • #include <fmt/format.h>
  • #include <fmt/ranges.h>
  • #include <toml++/toml.h>
  • #include <cstdint>
  • #include <deque>
  • #include <memory>
  • #include <numeric>
  • #include <stack>
  • #include <string>
  • #include <tuple>
  • #include <utility>
  • #include <variant>
  • #include <vector>

Namespaces

Type Name
namespace fmt
namespace simtix
namespace stat

Classes

Type Name
struct formatter< simtix::stat::Operation > <>
class Formula <class T>
class Group
class PostfixExpr
class Scalar <typename T>
class ScalarBase
class StatBase
All visible stat objects will inherit this base class.
class Vector <typename T>

Macros

Type Name
define STAT (name, desc, unit, ...) name(this, #name, desc, unit, ##\_\_VA\_ARGS\_\_)
Macro to simplify stat constructors.

Macro Definition Documentation

define STAT

Macro to simplify stat constructors.

#define STAT (
    name,
    desc,
    unit,
    ...
) `name(this, #name, desc, unit, ##__VA_ARGS__)`

Parameters:

  • name The name of the stat object.
  • desc The description of the statistic.
  • unit The unit of measurement (e.g., "N/A", "cycles", etc.).
  • ... (Optional) Additional arguments passed to the constructor.

This macro reduces repetitive code when constructing stat-related objects (e.g., counters, trackers) that share a common constructor pattern. Instead of writing the full constructor like:

fetch_due_to_starving(this, "fetch_due_to_starving",
                      "Number of fetch request due to warp starving",
                      "N/A");
You can simply use:
STAT(fetch_due_to_starving,
     "Number of fetch request due to warp starving",
     "N/A");



The documentation for this class was generated from the following file projects/simtix/include/simtix/statistics.h