Difference between revisions of "Mathematical Functions"

From Flowcode Help
Jump to navigationJump to search
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The following mathematical functions can be used in calculations. Some are limited to different chip types.
+
<sidebar>Sidebar: Flowcode Help Overview:Functions</sidebar>
 +
:''See [[Calculation Icon Properties]]''
  
Functions (Flowcode PIC only)
+
The following mathematical functions can be used in calculations. All of these functions are now usable on each chip type.
Flowcode includes an additional set of mathematical functions:
 
 
 
float = fadd(float, float)  - Add two floating point numbers together
 
float = fsub(float, float)  - Subtract two floating point numbers
 
float = fmul(float, float)  - Multiply two floating point numbers
 
float = fdiv(float, float)  - Divide two floating point numbers
 
float = fmod(float, float)  - MOD function for floating point numbers
 
byte = isinf(float)  - Checks to see if the floating point number is infinite
 
byte = isnan(float)  - Checks to see if the floating point is not a number
 
byte = float_eq(float, float) - Compares two floating point numbers to see if they are equal
 
byte = float_ge(float, float) - Compares two floating point numbers to see if they are greater then or equal
 
byte = float_gt(float, float) - Compares two floating point numbers to see if they are greater then
 
byte = float_le(float, float) - Compares two floating point numbers to see if they are less then or equal
 
byte = float_lt(float, float)  - Compares two floating point numbers to see if they are less then
 
int = random()  - Generates a random number -32768 <=> 32767
 
 
 
 
 
Functions (Flowcode AVR only)
 
Flowcode includes an additional set of mathematical functions:
 
  
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
 
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
 
sqrt( x ), cbrt( x )                  - square and cube roots
 
log( x ), log10( x )                  - logarithms (base e and base 10)
 
exp( x ), pow( x , y )                - exponential and power functions (x to the power of y)
 
sin( x ), cos( x ), tan( x )        - trigonometric functions
 
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions           
 
atan2( y , x )                        - four-quadrant inverse tangent
 
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
 
isnan( x ), isinf( x )                - tests for not-a-number and infinity
 
  
 +
'''Functions'''
  
Functions (Flowcode ARM only)
 
 
Flowcode includes an additional set of mathematical functions:
 
Flowcode includes an additional set of mathematical functions:
  
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
+
{| class="wikitable" style="margin:auto; width:700px;"
round( x )                         - decimal rounding (x rounded to the nearest integer)
+
|-
fround( x , y )                       - floating point rounding (x rounded to y decimal places)
+
! scope="col" width="30%" | Function Prototype
fmod( x , y )                         - floating point modulus (remainder of x divided by y)
+
! scope="col" width="70%" | Description
sqrt( x ), cbrt( x )                 - square and cube roots
+
|-
log( x ), log10( x )                 - logarithms (base e and base 10)
+
| align="center" | float = fadd(float, float)
exp( x ), pow( x , y )               - exponential and power functions (x to the power of y)
+
| Add two floating point numbers together
sin( x ), cos( x ), tan( x )       - trigonometric functions
+
|-
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
+
| align="center" | float = fsub(float, float)
atan2( y , x )                       - four-quadrant inverse tangent
+
| Subtract two floating point numbers
sinh( x ), cosh( x ), tanh( x )       - hyperbolic functions
+
|-
asinh( x ), acosh( x ), atanh( x )   - inverse hyperbolic functions
+
| align="center" | float = fmul(float, float)
fact( x )                             - factorial
+
| Multiply two floating point numbers
random( )                             - random number between 0 and 32767
+
|-
isnan( x ), isinf( x )               - tests for not-a-number and infinity
+
| align="center" | float = fdiv(float, float)
 +
| Divide two floating point numbers
 +
|-
 +
| align="center" | float = fmod(float, float)
 +
| MOD function for floating point numbers
 +
|-
 +
| align="center" | byte = isinf(float)
 +
| Checks to see if the floating point number is infinite
 +
|-
 +
| align="center" | byte = isnan(float)
 +
| Checks to see if the floating point is not a number
 +
|-
 +
| align="center" | byte = float_eq(float, float)
 +
| Compares two floating point numbers to see if they are equal
 +
|-
 +
| align="center" | byte = float_ge(float, float)
 +
| Compares two floating point numbers to see if they are greater then or equal&nbsp;&nbsp;&nbsp;
 +
|-
 +
| align="center" | byte = float_gt(float, float)
 +
| Compares two floating point numbers to see if they are greater then
 +
|-
 +
| align="center" | byte = float_le(float, float)
 +
| Compares two floating point numbers to see if they are less then or equal
 +
|-
 +
| align="center" | byte = float_lt(float, float)
 +
| Compares two floating point numbers to see if they are less then
 +
|-
 +
| align="center" | int = random()
 +
| Generates a random number 0x0000 <=> 0xFFFF
 +
|-
 +
| align="center" | fabs( x ), floor( x ), ceil( x )
 +
| Absolute value, floor and ceiling functions
 +
|-
 +
| align="center" | fmod( x , y )
 +
| Floating point modulus (remainder of x divided by y)
 +
|-
 +
| align="center" | sqrt( x ), cbrt( x )
 +
| Square and cube roots
 +
|-
 +
| align="center" | log( x ), log10( x )
 +
| Logarithms (base e and base 10)
 +
|-
 +
| align="center" | exp( x ), pow( x , y )
 +
| Exponential and power functions (x to the power of y)
 +
|-
 +
| align="center" | sin( x ), cos( x ), tan( x )
 +
| Trigonometric functions
 +
|-
 +
| align="center" | asin( x ), acos( x ), atan( x )
 +
| Inverse trigonometric functions             
 +
|-
 +
| align="center" | atan2( y , x )
 +
| Four-quadrant inverse tangent
 +
|-
 +
| align="center" | sinh( x ), cosh( x ), tanh( x )
 +
| Hyperbolic functions
 +
|-
 +
| align="center" | isnan( x ), isinf( x )
 +
| Tests for not-a-number and infinity
 +
|-
 +
| align="center" | round( x )
 +
| Decimal rounding (x rounded to the nearest integer)
 +
|-
 +
| align="center" | fround( x , y )
 +
| Floating point rounding (x rounded to y decimal places)
 +
|-
 +
| align="center" | asinh( x ), acosh( x ), atanh( x )
 +
| Inverse hyperbolic functions
 +
|-
 +
| align="center" | fact( x )
 +
| Factorial
 +
|}

Latest revision as of 08:44, 28 July 2015

<sidebar>Sidebar: Flowcode Help Overview:Functions</sidebar>

See Calculation Icon Properties

The following mathematical functions can be used in calculations. All of these functions are now usable on each chip type.


Functions

Flowcode includes an additional set of mathematical functions:

Function Prototype Description
float = fadd(float, float) Add two floating point numbers together
float = fsub(float, float) Subtract two floating point numbers
float = fmul(float, float) Multiply two floating point numbers
float = fdiv(float, float) Divide two floating point numbers
float = fmod(float, float) MOD function for floating point numbers
byte = isinf(float) Checks to see if the floating point number is infinite
byte = isnan(float) Checks to see if the floating point is not a number
byte = float_eq(float, float) Compares two floating point numbers to see if they are equal
byte = float_ge(float, float) Compares two floating point numbers to see if they are greater then or equal   
byte = float_gt(float, float) Compares two floating point numbers to see if they are greater then
byte = float_le(float, float) Compares two floating point numbers to see if they are less then or equal
byte = float_lt(float, float) Compares two floating point numbers to see if they are less then
int = random() Generates a random number 0x0000 <=> 0xFFFF
fabs( x ), floor( x ), ceil( x ) Absolute value, floor and ceiling functions
fmod( x , y ) Floating point modulus (remainder of x divided by y)
sqrt( x ), cbrt( x ) Square and cube roots
log( x ), log10( x ) Logarithms (base e and base 10)
exp( x ), pow( x , y ) Exponential and power functions (x to the power of y)
sin( x ), cos( x ), tan( x ) Trigonometric functions
asin( x ), acos( x ), atan( x ) Inverse trigonometric functions
atan2( y , x ) Four-quadrant inverse tangent
sinh( x ), cosh( x ), tanh( x ) Hyperbolic functions
isnan( x ), isinf( x ) Tests for not-a-number and infinity
round( x ) Decimal rounding (x rounded to the nearest integer)
fround( x , y ) Floating point rounding (x rounded to y decimal places)
asinh( x ), acosh( x ), atanh( x ) Inverse hyperbolic functions
fact( x ) Factorial