#include <stdlib.h> #include <time.h> #include "cca.h" #include "RandRandomGenerator_CCA.h" #include "macros_CCA.h" namespace randomgen { namespace ccaimpl { RandRandomGenerator::RandRandomGenerator () { frameworkServices = 0; } /** * Use rand() to return a double pseudo-random number between 0 and 1. */ double RandRandomGenerator::getRandomNumber () { double random_value = static_cast < double >(rand ()); return random_value / LONG_MAX; } void RandRandomGenerator::setServices (gov::cca::Services * services) { if (services != 0) { frameworkServices = services; // Provide a RandomGenerator port gov::cca::PortInfo * portInfo = frameworkServices->createPortInfo ("RandomGeneratorPort", "randomgen.ccaports.RandomGenerator", 0); if (portInfo != 0) frameworkServices->addProvidesPort (this, portInfo); } else { // Close down if not closed already if (frameworkServices) frameworkServices->removeProvidesPort ("RandomGeneratorPort"); frameworkServices = 0; } } } }