#include "block.h" #include "random.h" class RandUniform : public Block { private: OutPort < double > * out; Parameter < long > * seed; Parameter < double > * minpar; Parameter < double > * maxpar; Random generator; public: RandUniform(const Blockopt & blockopt) : Block(blockopt) {} void makeParameters() { seed = new Parameter < long > (this, "seed", 12345); minpar = new Parameter < double > (this, "min", 0.); maxpar = new Parameter < double > (this, "max", 1.); } void makeIOPorts() { out = new OutPort < double > (this, "out", 1); } void initialize() { generator.setSeed(seed->value()); } void go() { out->write(generator.getRand()*(maxpar->value() - minpar->value()) - minpar->value()); } }; PUBLISH(RandUniform);