GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
add_blk.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2004,2009,2012,2018 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 
12 #ifndef ADD_BLK_H
13 #define ADD_BLK_H
14 
15 #include <gnuradio/blocks/api.h>
16 #include <gnuradio/sync_block.h>
17 #include <cstdint>
18 
19 namespace gr {
20 namespace blocks {
21 
22 /*!
23  * \brief output = sum(input[0], input[1], ..., input[M-1])
24  * \ingroup math_operators_blk
25  *
26  * \details
27  * Add samples across all input streams. For all \f$n\f$ samples
28  * on all \f$M\f$ input streams \f$x_m\f$:
29  *
30  * \f[
31  * y[n] = \sum_{m=0}^{M-1} x_m[n]
32  * \f]
33  */
34 template <class T>
35 class BLOCKS_API add_blk : virtual public sync_block
36 {
37 public:
38  // gr::blocks::add_blk::sptr
39  typedef std::shared_ptr<add_blk<T>> sptr;
40 
41  static sptr make(size_t vlen = 1);
42 };
43 
48 } /* namespace blocks */
49 } /* namespace gr */
50 
51 #endif /* ADD_BLK_H */
output = sum(input[0], input[1], ..., input[M-1])
Definition: add_blk.h:36
static sptr make(size_t vlen=1)
std::shared_ptr< add_blk< T > > sptr
Definition: add_blk.h:39
synchronous 1:1 input to output with history
Definition: sync_block.h:26
#define BLOCKS_API
Definition: gr-blocks/include/gnuradio/blocks/api.h:18
add_blk< std::int16_t > add_ss
Definition: add_blk.h:44
add_blk< float > add_ff
Definition: add_blk.h:47
add_blk< std::int32_t > add_ii
Definition: add_blk.h:45
add_blk< gr_complex > add_cc
Definition: add_blk.h:46
GNU Radio logging wrapper.
Definition: basic_block.h:29