LCOV - code coverage report
Current view: top level - include/Module/Stateful/Source/Random - Source_random.hpp (source / functions) Hit Total Coverage
Test: streampu_clean.info Lines: 0 1 0.0 %
Date: 2025-01-11 12:25:42 Functions: 0 20 0.0 %

          Line data    Source code
       1             : /*!
       2             :  * \file
       3             :  * \brief Class module::Source_random.
       4             :  */
       5             : #ifndef SOURCE_RANDOM_HPP_
       6             : #define SOURCE_RANDOM_HPP_
       7             : 
       8             : #include <random>
       9             : 
      10             : #include "Module/Stateful/Source/Source.hpp"
      11             : 
      12             : namespace spu
      13             : {
      14             : namespace module
      15             : {
      16             : template<typename B = int>
      17             : class Source_random : public Source<B>
      18             : {
      19             :   private:
      20             :     std::mt19937 rd_engine; // Mersenne Twister 19937
      21             :     // std::minstd_rand rd_engine; // LCG
      22             :     std::uniform_int_distribution<short> uniform_dist;
      23             : 
      24             :   public:
      25             :     Source_random(const int max_data_size, const int seed = 0);
      26             : 
      27           0 :     virtual ~Source_random() = default;
      28             : 
      29             :     virtual Source_random<B>* clone() const;
      30             : 
      31             :     virtual void set_seed(const int seed);
      32             : 
      33             :   protected:
      34             :     void _generate(B* out_data, const size_t frame_id);
      35             : };
      36             : }
      37             : }
      38             : 
      39             : #endif /* SOURCE_RANDOM_HPP_ */

Generated by: LCOV version 1.14