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