31 SST_ELI_REGISTER_COMPONENT(
32 coreTestDistribComponent,
34 "coreTestDistribComponent",
35 SST_ELI_ELEMENT_VERSION(1,0,0),
36 "Random Number Distribution Component",
37 COMPONENT_CATEGORY_UNCATEGORIZED
40 SST_ELI_DOCUMENT_PARAMS(
41 {
"count",
"Number of random values to generate from the distribution",
"1000"},
42 {
"distrib",
"Random distribution to use - \"gaussian\" (or \"normal\"), or \"exponential\"",
"gaussian"},
43 {
"mean",
"Mean value to use if we are sampling from the Gaussian/Normal distribution",
"1.0"},
44 {
"stddev",
"Standard deviation to use for the distribution",
"0.2"},
45 {
"lambda",
"Lambda value to use for the exponential distribution",
"1.0"},
46 {
"binresults",
"Print the results, only if value is \"1\"",
"1"},
47 {
"probcount",
"Number of probabilities in discrete distribution",
"1"},
48 {
"prob%(probcount)d",
"Probability values for discrete distribution",
"1"}
52 SST_ELI_DOCUMENT_STATISTICS(
56 SST_ELI_DOCUMENT_PORTS(
60 SST_ELI_DOCUMENT_SUBCOMPONENT_SLOTS(
63 coreTestDistribComponent(SST::ComponentId_t
id,
SST::Params& params);
72 virtual bool tick(SST::Cycle_t);
74 SSTRandomDistribution* comp_distrib;
79 std::string dist_type;
81 std::map<int64_t, uint64_t>* bins;