Transcendental: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...")
 
(Detail about available functions, source code lionk)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
[[Category:Stub Docs]]
A block that performs various transcendental math operations.
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.
Possible function names can be found in the cmath library.


As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
 
 
  output[i] = trans_fcn(input[i])


== Parameters ==
== Parameters ==
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>


; Param 1 (''R'')
; Function name
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).
: The function to use


; Param 2
Available functions for real and complex input:
: blah blah blah
 
* 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 21: 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.