GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
transcendental.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2011,2013 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 #ifndef INCLUDED_GR_TRANSCENDENTAL_H
12 #define INCLUDED_GR_TRANSCENDENTAL_H
13 
14 #include <gnuradio/blocks/api.h>
15 #include <gnuradio/sync_block.h>
16 #include <string>
17 
18 namespace gr {
19 namespace blocks {
20 
21 /*!
22  * \brief A block that performs various transcendental math operations.
23  * \ingroup math_operators_blk
24  *
25  * \details
26  * Possible function names can be found in the cmath library. IO
27  * may be either complex or real, double or single precision.
28  *
29  * Possible type strings: float, double, complex_float, complex_double
30  *
31  * Available functions for real and complex input:
32  *
33  * - cos
34  * - sin
35  * - tan
36  * - cosh
37  * - sinh
38  * - tanh
39  * - exp
40  * - log
41  * - log10
42  * - sqrt
43  *
44  * Available functions for real input only:
45  *
46  * - acos
47  * - asin
48  * - atan
49  *
50  * output[i] = trans_fcn(input[i])
51  */
52 class BLOCKS_API transcendental : virtual public sync_block
53 {
54 public:
55  // gr::blocks::transcendental::sptr
56  typedef std::shared_ptr<transcendental> sptr;
57 
58  static sptr make(const std::string& name, const std::string& type = "float");
59 };
60 
61 } /* namespace blocks */
62 } /* namespace gr */
63 
64 #endif /* INCLUDED_GR_TRANSCENDENTAL_H */
A block that performs various transcendental math operations.
Definition: transcendental.h:53
static sptr make(const std::string &name, const std::string &type="float")
std::shared_ptr< transcendental > sptr
Definition: transcendental.h:56
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
GNU Radio logging wrapper.
Definition: basic_block.h:29