Math
(→rand) |
(→randLong) |
||
| Line 614: | Line 614: | ||
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
|- | |- | ||
| − | | class="functionType"| <span class="bigKeywordBI">long </span><span class="bigKeywordB"> | + | | class="functionType"| <span class="bigKeywordBI">long </span><span class="bigKeywordB">randLong</span><span class="bigCodePunc">()</span> |
|- | |- | ||
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) Returns a pseudo-random integral number in the range 0 to at least 2,147,483,647 (depending on platform). | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) Returns a pseudo-random integral number in the range 0 to at least 2,147,483,647 (depending on platform). | ||
Latest revision as of 08:23, 18 May 2012
ROBOTC has a powerful collection of useful math functions for the NXT, TETRIX, VEX CORTEX, and Arduino MEGA-based platforms. The RCX, VEX PIC and Arduino 328P-based platforms do not have enough memory to store these more advanced math functions or support floating point numbers.
|
| |||||||
abs
| float abs(const float input) | ||||||
| (float) Returns the absolute value of a number. | ||||||
| ||||||
|
acos
| float acos(const float Cosine) | ||||||
| (float) Returns the arc-cosine of a number in radians. | ||||||
| ||||||
|
asin
| float asin(const float Sine) | ||||||
| (float) Returns the arc-sine of a number in radians. | ||||||
| ||||||
|
atan
| float atan(const float Tangent) | ||||||
| (float) Returns the arc-tangent of a number in radians. | ||||||
| ||||||
|
atof
|
float atof ( string str ) | ||||||
| (float) Returns a float representation of the string, str. | ||||||
| ||||||
|
atoi
|
long atoi ( string str ) | ||||||
| (long) Returns a long representation of the string, str. | ||||||
| ||||||
|
ceil
| float ceil(const float input) | ||||||
| (float) Returns the smallest integer value that is greater than or equal to input. | ||||||
| ||||||
|
cos
| float cos(const float fRadians) | ||||||
| (float) Returns the cosine of a number of radians. | ||||||
| ||||||
|
cosDegrees
| float cosDegrees(const float fDegrees) | ||||||
| (float) Returns the cosine of a number of degrees. | ||||||
| ||||||
|
degreesToRadians
| float degreesToRadians(const float fDegrees) | |||||||
| (float) Returns the radian equivalent of fDegrees. | |||||||
|
exp
| float exp(const float input) | ||||||
| (float) Returns the number 'e' rasied to the power of input. | ||||||
| ||||||
|
floor
| float floor(const float input) | ||||||
| (float) Returns the largest integer value that is less than or equal to input. | ||||||
| ||||||
|
log
| float log(const float input) | ||||||
| (float) Returns the natural logarithm (ln) of input. | ||||||
| ||||||
|
log10
| float log10(const float input) | ||||||
| (float) Returns the base-10 logarithm of input. | ||||||
| ||||||
|
PI
| const float PI = 3.14159265358979323846264338327950288419716939937510 | |
| (float) The constant π. | |
|
pow
| float pow(const float base, const float exponent) | |||||||||
| (float) Returns base to the power of exponent. | |||||||||
| |||||||||
|
radiansToDegrees
| short radiansToDegrees(const float fRadians) | ||||||
| (short) Returns the degree equivalent of fRadians. | ||||||
| ||||||
|
rand
| word rand() | |
| (word) Returns a pseudo-random integral number in the range 0 to at least 32,767 (depending on platform).
A typical way to generate pseudo-random numbers in a determined range using rand is to use the modulo of the returned value by the range span and add the initial value of the range: ( value % 100 ) is in the range 0 to 99 ( value % 100 + 1 ) is in the range 1 to 100 ( value % 30 + 1985 ) is in the range 1985 to 2014 Notice though that this modulo operation does not generate a truly uniformly distributed random number in the span (since in most cases lower numbers are slightly more likely), but it is generally a good approximation for short spans. | |
|
randLong
| long randLong() | |
| (long) Returns a pseudo-random integral number in the range 0 to at least 2,147,483,647 (depending on platform).
A typical way to generate pseudo-random numbers in a determined range using rand is to use the modulo of the returned value by the range span and add the initial value of the range: ( value % 100 ) is in the range 0 to 99 ( value % 100 + 1 ) is in the range 1 to 100 ( value % 30 + 1985 ) is in the range 1985 to 2014 Notice though that this modulo operation does not generate a truly uniformly distributed random number in the span (since in most cases lower numbers are slightly more likely), but it is generally a good approximation for short spans. | |
|
sgn
| short sgn(const float input) | ||||||
| (short) Returns a value less than 0 if input is negative, and a value greater than 0 if input is positive. | ||||||
| ||||||
|
sin
| float sin(const float fRadians) | ||||||
| (float) Returns the sine of a number of radians. | ||||||
| ||||||
|
sinDegrees
| float sinDegrees(const float fDegrees) | ||||||
| (float) Returns the sine of a number of degrees. | ||||||
| ||||||
|
srand
| void srand(const long nSeedValue) | ||||||
| (void) The pseudo-random number generator is initialized using the argument passed as nSeedValue.
For every different seed value used in a call to srand, the pseudo-random number generator can be expected to generate a different succession of results in the subsequent calls to rand. Two different initializations with the same seed, instructs the pseudo-random generator to generate the same succession of results for the subsequent calls to rand in both cases. | ||||||
| ||||||
|
sqrt
| float sqrt(const float input) | ||||||
| (float) Returns the square-root of input. | ||||||
| ||||||
|