Difference between revisions of "Mathematical Functions"

From Flowcode Help
Jump to navigationJump to search
Line 1: Line 1:
 
The following mathematical functions can be used in calculations. Some are limited to different chip types.
 
The following mathematical functions can be used in calculations. Some are limited to different chip types.
 +
  
 
Functions (Flowcode PIC only)
 
Functions (Flowcode PIC only)
 +
 
Flowcode includes an additional set of mathematical functions:
 
Flowcode includes an additional set of mathematical functions:
 +
  
 
float = fadd(float, float)  - Add two floating point numbers together
 
float = fadd(float, float)  - Add two floating point numbers together
 +
 
float = fsub(float, float)  - Subtract two floating point numbers
 
float = fsub(float, float)  - Subtract two floating point numbers
 +
 
float = fmul(float, float)  - Multiply two floating point numbers
 
float = fmul(float, float)  - Multiply two floating point numbers
 +
 
float = fdiv(float, float)  - Divide two floating point numbers
 
float = fdiv(float, float)  - Divide two floating point numbers
 +
 
float = fmod(float, float)  - MOD function for 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 = 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 = 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_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_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_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_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
 
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
 
int = random()  - Generates a random number -32768 <=> 32767
 +
  
  
 
Functions (Flowcode AVR only)
 
Functions (Flowcode AVR 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
 
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
 +
 
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
 
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
 +
 
sqrt( x ), cbrt( x )                  - square and cube roots
 
sqrt( x ), cbrt( x )                  - square and cube roots
 +
 
log( x ), log10( x )                  - logarithms (base e and base 10)
 
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)
 
exp( x ), pow( x , y )                - exponential and power functions (x to the power of y)
 +
 
sin( x ), cos( x ), tan( x )        - trigonometric functions
 
sin( x ), cos( x ), tan( x )        - trigonometric functions
 +
 
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
 
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
 +
 
atan2( y , x )                        - four-quadrant inverse tangent
 
atan2( y , x )                        - four-quadrant inverse tangent
 +
 
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
 
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
 +
 
isnan( x ), isinf( x )                - tests for not-a-number and infinity
 
isnan( x ), isinf( x )                - tests for not-a-number and infinity
 +
  
  
 
Functions (Flowcode ARM only)
 
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
 
fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions
 +
 
round( x )                        - decimal rounding (x rounded to the nearest integer)
 
round( x )                        - decimal rounding (x rounded to the nearest integer)
 +
 
fround( x , y )                      - floating point rounding (x rounded to y decimal places)
 
fround( x , y )                      - floating point rounding (x rounded to y decimal places)
 +
 
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
 
fmod( x , y )                        - floating point modulus (remainder of x divided by y)
 +
 
sqrt( x ), cbrt( x )                  - square and cube roots
 
sqrt( x ), cbrt( x )                  - square and cube roots
 +
 
log( x ), log10( x )                  - logarithms (base e and base 10)
 
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)
 
exp( x ), pow( x , y )                - exponential and power functions (x to the power of y)
 +
 
sin( x ), cos( x ), tan( x )        - trigonometric functions
 
sin( x ), cos( x ), tan( x )        - trigonometric functions
 +
 
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
 
asin( x ), acos( x ), atan( x ),      - inverse trigonometric functions             
 +
 
atan2( y , x )                        - four-quadrant inverse tangent
 
atan2( y , x )                        - four-quadrant inverse tangent
 +
 
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
 
sinh( x ), cosh( x ), tanh( x )        - hyperbolic functions
 +
 
asinh( x ), acosh( x ), atanh( x )  - inverse hyperbolic functions
 
asinh( x ), acosh( x ), atanh( x )  - inverse hyperbolic functions
 +
 
fact( x )                            - factorial
 
fact( x )                            - factorial
 +
 
random( )                            - random number between 0 and 32767
 
random( )                            - random number between 0 and 32767
 +
 
isnan( x ), isinf( x )                - tests for not-a-number and infinity
 
isnan( x ), isinf( x )                - tests for not-a-number and infinity

Revision as of 10:50, 16 May 2013

The following mathematical functions can be used in calculations. Some are limited to different chip types.


Functions (Flowcode PIC only)

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 (Flowcode ARM only)

Flowcode includes an additional set of mathematical functions:


fabs( x ), floor( x ), ceil( x ) - absolute value, floor and ceiling functions

round( x ) - decimal rounding (x rounded to the nearest integer)

fround( x , y ) - floating point rounding (x rounded to y decimal places)

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

asinh( x ), acosh( x ), atanh( x ) - inverse hyperbolic functions

fact( x ) - factorial

random( ) - random number between 0 and 32767

isnan( x ), isinf( x ) - tests for not-a-number and infinity