GNU Radio Manual and C++ API Reference 3.10.5.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
18namespace gr {
19namespace 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 */
52class BLOCKS_API transcendental : virtual public sync_block
53{
54public:
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