Transcendental: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(Detail about available functions, source code lionk)
 
Line 3: Line 3:
Possible function names can be found in the cmath library.
Possible function names can be found in the cmath library.


output[i] = trans_fcn(input[i])
 
 
  output[i] = trans_fcn(input[i])


== Parameters ==
== Parameters ==
Line 9: Line 11:
; Function name
; Function name
: The function to use
: The function to use
Available functions for real and complex input:
* cos
* sin
* tan
* cosh
* sinh
* tanh
* exp
* log
* log10
* sqrt
Available functions for real input only:
* acos
* asin
* atan
== Use cases ==
Few. Usually, better alternatives (in the sense of: accelerated functions with their own block) are available and should be preferred.


== Example Flowgraph ==
== Example Flowgraph ==
Line 17: Line 42:


; C++ files
; C++ files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/transcendental_impl.cc]


; Header files
; Header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/lib/transcendental_impl.h]


; Public header files
; Public header files
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/include/gnuradio/blocks/transcendental.h]


; Block definition
; Block definition
: [https://github.com/gnuradio/gnuradio TODO]
: [https://github.com/gnuradio/gnuradio/blob/master/gr-blocks/grc/blocks_transcendental.block.yml]
 
== Trivia ==
 
A transcendental function is one that cannot be constructed from a finite-order polynomial or the value of a zero of such a polynomial, i.e. a function that cannot be written as finite sum, product, difference, power or root of its variable, or a (finite) chaining of these operations.
 
As such, <code>sqrt</code>, a very stereotypical analytic function (being the solution of x²-const=0), ''is'' and ''feels'' very much out of place in the list above. But we don't mind. You do you, <code>sqrt</code>, you do you.

Latest revision as of 19:32, 31 December 2021

A block that performs various transcendental math operations. Possible function names can be found in the cmath library.


 output[i] = trans_fcn(input[i])

Parameters

Function name
The function to use

Available functions for real and complex input:

  • cos
  • sin
  • tan
  • cosh
  • sinh
  • tanh
  • exp
  • log
  • log10
  • sqrt

Available functions for real input only:

  • acos
  • asin
  • atan

Use cases

Few. Usually, better alternatives (in the sense of: accelerated functions with their own block) are available and should be preferred.

Example Flowgraph

Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.

Source Files

C++ files
[1]
Header files
[2]
Public header files
[3]
Block definition
[4]

Trivia

A transcendental function is one that cannot be constructed from a finite-order polynomial or the value of a zero of such a polynomial, i.e. a function that cannot be written as finite sum, product, difference, power or root of its variable, or a (finite) chaining of these operations.

As such, sqrt, a very stereotypical analytic function (being the solution of x²-const=0), is and feels very much out of place in the list above. But we don't mind. You do you, sqrt, you do you.