16#ifndef SST_CORE_CORETEST_DISTRIBCOMPONENT_H
17#define SST_CORE_CORETEST_DISTRIBCOMPONENT_H
19#include "sst/core/component.h"
20#include "sst/core/rng/distrib.h"
23using namespace SST::RNG;
26namespace CoreTestDistribComponent {
32 SST_ELI_REGISTER_COMPONENT(
35 "coreTestDistribComponent",
36 SST_ELI_ELEMENT_VERSION(1,0,0),
37 "Random Number Distribution Component",
38 COMPONENT_CATEGORY_UNCATEGORIZED
41 SST_ELI_DOCUMENT_PARAMS(
42 {
"count",
"Number of random values to generate from the distribution",
"1000"},
43 {
"distrib",
"Random distribution to use - \"gaussian\" (or \"normal\"), or \"exponential\"",
"gaussian"},
44 {
"mean",
"Mean value to use if we are sampling from the Gaussian/Normal distribution",
"1.0"},
45 {
"stddev",
"Standard deviation to use for the distribution",
"0.2"},
46 {
"lambda",
"Lambda value to use for the exponential distribution",
"1.0"},
47 {
"binresults",
"Print the results, only if value is \"1\"",
"1"},
48 {
"probcount",
"Number of probabilities in discrete distribution",
"1"},
49 {
"prob%(probcount)d",
"Probability values for discrete distribution",
"1"}
53 SST_ELI_DOCUMENT_STATISTICS(
57 SST_ELI_DOCUMENT_PORTS(
61 SST_ELI_DOCUMENT_SUBCOMPONENT_SLOTS(
73 virtual bool tick(SST::Cycle_t);
80 std::string dist_type;
82 std::map<int64_t, uint64_t>* bins;
Main component object for the simulation.
Definition: component.h:31
Definition: coreTest_DistribComponent.h:29
void setup()
Called after all components have been constructed and initialization has completed,...
Definition: coreTest_DistribComponent.h:66
void finish()
Called after complete phase, but before objects are destroyed.
Definition: coreTest_DistribComponent.cc:33
Parameter store.
Definition: params.h:56
Base class of statistical distributions in SST.
Definition: distrib.h:23