GNU Radio Manual and C++ API Reference  3.8.1.0
The Free & Open Software Radio Ecosystem
random_uniform_source.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2015,2018 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  *
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING. If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22 
23 
24 #ifndef RANDOM_UNIFORM_SOURCE_H
25 #define RANDOM_UNIFORM_SOURCE_H
26 
27 #include <gnuradio/analog/api.h>
28 #include <gnuradio/sync_block.h>
29 
30 namespace gr {
31 namespace analog {
32 
33 /*!
34  * \brief Uniform Random Number Generator
35  * \ingroup waveform_generators_blk
36  */
37 template <class T>
39 {
40 public:
41  // gr::analog::random_uniform_source::sptr
42  typedef boost::shared_ptr<random_uniform_source<T>> sptr;
43 
44  /*!
45  * \brief Return a shared_ptr to a new instance of analog::random_uniform_source_X.
46  *
47  * To avoid accidental use of raw pointers, analog::random_uniform_source_b's
48  * constructor is in a private implementation
49  * class. analog::random_uniform_source_b::make is the public interface for
50  * creating new instances.
51  * \param minimum defines minimal integer value output.
52  * \param maximum output values are below this value
53  * \param seed for Pseudo Random Number Generator. Defaults to 0. In this case current
54  * time is used.
55  */
56  static sptr make(int minimum, int maximum, int seed);
57 };
58 
62 } /* namespace analog */
63 } /* namespace gr */
64 
65 #endif /* RANDOM_UNIFORM_SOURCE_H */
Uniform Random Number Generator.
Definition: random_uniform_source.h:38
boost::shared_ptr< random_uniform_source< T > > sptr
Definition: random_uniform_source.h:42
random_uniform_source< std::uint8_t > random_uniform_source_b
Definition: random_uniform_source.h:59
GNU Radio logging wrapper for log4cpp library (C++ port of log4j)
Definition: basic_block.h:43
synchronous 1:1 input to output with historyOverride work to provide the signal processing implementa...
Definition: sync_block.h:37
random_uniform_source< std::int16_t > random_uniform_source_s
Definition: random_uniform_source.h:60
random_uniform_source< std::int32_t > random_uniform_source_i
Definition: random_uniform_source.h:61
#define ANALOG_API
Definition: gr-analog/include/gnuradio/analog/api.h:30