Difference between revisions of "Mathematical Functions"

From Flowcode Help
Jump to navigationJump to search
 
(20 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]]''
  
 +
The following mathematical functions can be used in calculations. All of these functions are now usable on each chip type.
  
Functions (Flowcode PIC only)
 
  
Flowcode includes an additional set of mathematical functions:
+
'''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:
 
Flowcode includes an additional set of mathematical functions:
  
 
+
{| class="wikitable" style="margin:auto; width:700px;"
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
+
|-
 
+
! 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
+
| align="center" | float = fadd(float, float)
 
+
| Add two floating point numbers together
log( x ), log10( x )                 - logarithms (base e and base 10)
+
|-
 
+
| align="center" | float = fsub(float, float)
exp( x ), pow( x , y )               - exponential and power functions (x to the power of y)
+
| Subtract two floating point numbers
 
+
|-
sin( x ), cos( x ), tan( x )       - trigonometric functions
+
| align="center" | float = fmul(float, float)
 
+
| Multiply two floating point numbers
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions           
+
|-
 
+
| align="center" | float = fdiv(float, float)
atan2( y , x )                       - four-quadrant inverse tangent
+
| Divide two floating point numbers
 
+
|-
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
+
| align="center" | float = fmod(float, float)
 
+
| MOD function for floating point numbers
isnan( x ), isinf( x )               - tests for not-a-number and infinity
+
|-
 
+
| align="center" | byte = isinf(float)
 
+
| Checks to see if the floating point number is infinite
 
+
|-
Functions (Flowcode ARM only)
+
| align="center" | byte = isnan(float)
 
+
| Checks to see if the floating point is not a number
Flowcode includes an additional set of mathematical functions:
+
|-
 
+
| align="center" | byte = float_eq(float, float)
 
+
| Compares two floating point numbers to see if they are equal
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
+
|-
 
+
| align="center" | byte = float_ge(float, float)
round( x )                        - decimal rounding (x rounded to the nearest integer)
+
| Compares two floating point numbers to see if they are greater then or equal&nbsp;&nbsp;&nbsp;
 
+
|-
fround( x , y )                      - floating point rounding (x rounded to y decimal places)
+
| align="center" | byte = float_gt(float, float)
 
+
| Compares two floating point numbers to see if they are greater then
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
+
|-
 
+
| align="center" | byte = float_le(float, float)
sqrt( x ), cbrt( x )                 - square and cube roots
+
| Compares two floating point numbers to see if they are less then or equal
 
+
|-
log( x ), log10( x )                 - logarithms (base e and base 10)
+
| align="center" | byte = float_lt(float, float)
 
+
| Compares two floating point numbers to see if they are less then
exp( x ), pow( x , y )               - exponential and power functions (x to the power of y)
+
|-
 
+
| align="center" | int = random()
sin( x ), cos( x ), tan( x )       - trigonometric functions
+
| Generates a random number 0x0000 <=> 0xFFFF
 
+
|-
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
+
| align="center" | fabs( x ), floor( x ), ceil( x )
 
+
| Absolute value, floor and ceiling functions
atan2( y , x )                       - four-quadrant inverse tangent
+
|-
 
+
| align="center" | fmod( x , y )
sinh( x ), cosh( x ), tanh( x )       - hyperbolic functions
+
| Floating point modulus (remainder of x divided by y)
 
+
|-
asinh( x ), acosh( x ), atanh( x )   - inverse hyperbolic functions
+
| align="center" | sqrt( x ), cbrt( x )
 
+
| Square and cube roots
fact( x )                             - factorial
+
|-
 
+
| align="center" | log( x ), log10( x )
random( )                             - random number between 0 and 32767
+
| Logarithms (base e and base 10)
 
+
|-
isnan( x ), isinf( x )               - tests for not-a-number and infinity
+
| 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