Difference between revisions of "Mathematical Functions"
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