Difference between revisions of "Math"
(→PI) |
(→randLong) |
||
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | <yambe:breadcrumb self="Math">General|General Programming</yambe:breadcrumb> | |
− | + | <br /> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | -- | + | 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.''' |
+ | <br /> | ||
+ | {{tl|1|1}} | ||
+ | <br /> | ||
== abs == | == abs == | ||
{| 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">float </span><span class="bigKeywordB">abs</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the absolute value of a number. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the absolute value of a number. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the absolute value of (can be: int, long, short, float). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 39: | Line 37: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== acos == | == acos == | ||
{| 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">float </span><span class="bigKeywordB">acos</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">Cosine</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the arc-cosine of a number in radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the arc-cosine of a number in radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''Cosine'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the arc-cosine of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 70: | Line 70: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== asin == | == asin == | ||
{| 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">float </span><span class="bigKeywordB">asin</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">Sine</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the arc-sine of a number in radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the arc-sine of a number in radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''Sine'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the arc-sine of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 101: | Line 103: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== atan == | == atan == | ||
{| 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">float </span><span class="bigKeywordB">atan</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">Tangent</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the arc-tangent of a number in radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the arc-tangent of a number in radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''Tangent'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the arc-tangent of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 132: | Line 136: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
− | + | == atof == | |
− | == | + | |
{| 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">float </span> | ||
+ | <span class="bigKeywordB">atof</span> | ||
+ | <span class="bigCodePunc">(</span> | ||
+ | <span class="bigKeywordBI">string </span> | ||
+ | <span class="bigCodeBasic">str</span> | ||
+ | <span class="bigCodePunc">)</span> | ||
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the ''' | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns a float representation of the string, <span class="codeBasic">str</span>. |
− | + | |- | |
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
+ | |- | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''str'' | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The string to convert to a float. | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_string|string]] | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |- | ||
+ | |<syntaxhighlight lang="ROBOTC"> | ||
+ | task main() | ||
+ | { | ||
+ | string strPI = "3.14"; // string 'strPI' is set equal to "3.14" | ||
+ | float test = atof(strPI); // convert the string value of 'strPI' to a float and set 'test' to that number (3.14) | ||
+ | while(true); // keep the ROBOTC debugger alive so we can see the result | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
− | {| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:# | + | == atoi == |
− | + | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | |
− | + | |- | |
+ | | class="functionType"| | ||
+ | <span class="bigKeywordBI">long </span> | ||
+ | <span class="bigKeywordB">atoi</span> | ||
+ | <span class="bigCodePunc">(</span> | ||
+ | <span class="bigKeywordBI">string </span> | ||
+ | <span class="bigCodeBasic">str</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 long representation of the string, <span class="codeBasic">str</span>. | ||
+ | |- | ||
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''str'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The string to convert to a long. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_string|string]] | ||
|- | |- | ||
|} | |} | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |- | ||
+ | |<syntaxhighlight lang="ROBOTC"> | ||
+ | task main() | ||
+ | { | ||
+ | string strPI = "3.14"; // string 'strPI' is set equal to "3.14" | ||
+ | long test = atoi(strPI); // convert the string value of 'strPI' to a long and set 'test' to that number (3) | ||
+ | while(true); // keep the ROBOTC debugger alive so we can see the result | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
− | + | == ceil == | |
+ | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | |- | ||
+ | | class="functionType"| <span class="bigKeywordBI">float </span><span class="bigKeywordB">ceil</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</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_float|float]]) Returns the '''smallest integer''' value that is greater than or equal to <span class="codeBasic">input</span>. | ||
+ | |- | ||
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
+ | |- | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point number to take the ceiling value of. | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | | | ||
{| | {| | ||
|- | |- | ||
Line 161: | Line 251: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== cos == | == cos == | ||
{| 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">float </span><span class="bigKeywordB">cos</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fRadians</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the cosine of a number of radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the cosine of a number of radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fRadians'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the cosine of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 191: | Line 283: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
== cosDegrees == | == cosDegrees == | ||
{| 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">float </span><span class="bigKeywordB">cosDegrees</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fDegrees</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the cosine of a number of degrees. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the cosine of a number of degrees. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fDegrees'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the cosine of (in degrees). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 220: | Line 315: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
== degreesToRadians == | == degreesToRadians == | ||
{| 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">float </span><span class="bigKeywordB">degreesToRadians</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fDegrees</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the radian equivalent of | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the radian equivalent of <span class="codeBasic">fDegrees</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fDegrees'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number of degrees to convert into radians. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
Line 249: | Line 347: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== exp == | == exp == | ||
{| 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">float </span><span class="bigKeywordB">exp</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the number 'e' rasied to the power of | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the number 'e' rasied to the power of <span class="codeBasic">input</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point number to raise the constant 'e' to. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 279: | Line 379: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
== floor == | == floor == | ||
{| 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">float </span><span class="bigKeywordB">floor</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the '''largest integer''' value that is less than or equal to | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the '''largest integer''' value that is less than or equal to <span class="codeBasic">input</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point number to take the floor value of. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 307: | Line 410: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== log == | == log == | ||
{| 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">float </span><span class="bigKeywordB">log</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the natural logarithm ''(ln)'' of | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the natural logarithm ''(ln)'' of <span class="codeBasic">input</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point number to take the natural logarithm of. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 336: | Line 441: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== log10 == | == log10 == | ||
{| 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">float </span><span class="bigKeywordB">log10</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the base-10 logarithm of | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the base-10 logarithm of <span class="codeBasic">input</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point number to take the base-10 logarithm of. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 365: | Line 472: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== PI == | == PI == | ||
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
|- | |- | ||
− | | | + | | class="variableType"| <span class="bigKeywordBI">const float </span><span class="bigKeywordB">PI </span><span class="bigCodePunc">= </span><span class="bigCodeStringsNums">3.14159265358979323846264338327950288419716939937510</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|The constant | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) The constant <span style="font-family: Trebuchet MS, sans-serif">π</span>. |
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 394: | Line 501: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
== pow == | == pow == | ||
{| 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">float </span><span class="bigKeywordB">pow</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">base</span><span class="bigCodePunc">, </span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">exponent</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns <span class="codeBasic">base</span> to the power of <span class="codeBasic">exponent</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''base'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The floating point base to raise to the power of 'power'. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
| style="border-style: solid; border-width: 0px 0px 0px 0px"|''exponent'' | | style="border-style: solid; border-width: 0px 0px 0px 0px"|''exponent'' | ||
| style="border-style: solid; border-width: 0px 0px 0px 0px"|The floating point exponent to raise 'base' to. | | style="border-style: solid; border-width: 0px 0px 0px 0px"|The floating point exponent to raise 'base' to. | ||
+ | | style="border-style: solid; border-width: 0px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 426: | Line 537: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== radiansToDegrees == | == radiansToDegrees == | ||
{| 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">short </span><span class="bigKeywordB">radiansToDegrees</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fRadians</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the degree equivalent of | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_short|short]]) Returns the degree equivalent of <span class="codeBasic">fRadians</span>. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fRadians'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number of radians to convert into degrees. |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 456: | Line 569: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
− | + | == rand == | |
− | == | + | |
{| 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">word </span><span class="bigKeywordB">rand</span><span class="bigCodePunc">()</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns a | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_word|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. | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
|- | |- | ||
− | | | + | |<syntaxhighlight lang="ROBOTC"> |
− | + | task main() | |
+ | { | ||
+ | int min = -100; // create int variable 'min' and set it to -100 | ||
+ | int max = 100; // create int variable 'max' and set it to 100 | ||
+ | |||
+ | srand(nSysTime); // generate seed for rand() from current system time | ||
+ | |||
+ | while(true) // infinite loop: | ||
+ | { | ||
+ | motor[rightMotor] = (rand() % (max-min)) + min; // set 'rightMotor' to a random number in the range: [min, max] | ||
+ | motor[leftMotor] = (rand() % (max-min)) + min; // set 'leftMotor' to a random number in the range: [min, max] | ||
+ | wait1Msec(500); // wait 500 milliseconds | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
|- | |- | ||
|} | |} | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
+ | == randLong == | ||
+ | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | |- | ||
+ | | 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). | ||
+ | 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. | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |- | ||
+ | |<syntaxhighlight lang="ROBOTC"> | ||
+ | task main() | ||
+ | { | ||
+ | long min = -100; // create long variable 'min' and set it to -100 | ||
+ | long max = 100; // create long variable 'max' and set it to 100 | ||
+ | |||
+ | srand(nSysTime); // generate seed for rand() from current system time | ||
+ | |||
+ | while(true) // infinite loop: | ||
+ | { | ||
+ | motor[rightMotor] = (randLong() % (max-min)) + min; // set 'rightMotor' to a random number in the range: [min, max] | ||
+ | motor[leftMotor] = (randLong() % (max-min)) + min; // set 'leftMotor' to a random number in the range: [min, max] | ||
+ | wait1Msec(500); // wait 500 milliseconds | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
+ | |||
+ | == sgn == | ||
+ | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | |- | ||
+ | | class="functionType"| <span class="bigKeywordBI">short </span><span class="bigKeywordB">sgn</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</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_short|short]]) Returns a value less than 0 if <span class="codeBasic">input</span> is negative, and a value greater than 0 if <span class="codeBasic">input</span> is positive. | ||
+ | |- | ||
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
+ | |- | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to test the sign of | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | | | ||
{| | {| | ||
|- | |- | ||
Line 487: | Line 682: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== sin == | == sin == | ||
{| 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">float </span><span class="bigKeywordB">sin</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fRadians</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the sine of a number of radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the sine of a number of radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fRadians'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the sine of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 517: | Line 714: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
== sinDegrees == | == sinDegrees == | ||
{| 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">float </span><span class="bigKeywordB">sinDegrees</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fDegrees</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the sine of a number of degrees. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the sine of a number of degrees. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fDegrees'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the sine of (in degrees). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 546: | Line 746: | ||
|- | |- | ||
|} | |} | ||
+ | <br /> | ||
− | == | + | == srand == |
{| 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">void </span><span class="bigKeywordB">srand</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const long </span><span class="bigCodeBasic">nSeedValue</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"| | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_void|void]]) The pseudo-random number generator is initialized using the argument passed as <span class="codeBasic">nSeedValue</span>. |
− | + | ||
− | + | 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. | |
− | + | |- | |
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''nSeedValue'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The seed for the pseudo-random number generator, <span class="codeBasic">rand</span><span class="codePunc">()</span> |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_long|long]] | ||
|- | |- | ||
|} | |} | ||
+ | |- | ||
+ | | | ||
+ | {| | ||
+ | |- | ||
+ | |<syntaxhighlight lang="ROBOTC"> | ||
+ | task main() | ||
+ | { | ||
+ | int min = -100; // create int variable 'min' and set it to -100 | ||
+ | int max = 100; // create int variable 'max' and set it to 100 | ||
+ | |||
+ | srand(nSysTime); // generate seed for rand() from current system time | ||
+ | |||
+ | while(true) // infinite loop: | ||
+ | { | ||
+ | motor[rightMotor] = (rand() % (max-min)) + min; // set 'rightMotor' to a random number in the range: [min, max] | ||
+ | motor[leftMotor] = (rand() % (max-min)) + min; // set 'leftMotor' to a random number in the range: [min, max] | ||
+ | wait1Msec(500); // wait 500 milliseconds | ||
+ | } | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
− | + | == sqrt == | |
+ | {| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0" | ||
+ | |- | ||
+ | | class="functionType"| <span class="bigKeywordBI">float </span><span class="bigKeywordB">sqrt</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">input</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_float|float]]) Returns the square-root of <span class="codeBasic">input</span>. | ||
+ | |- | ||
+ | | | ||
+ | {| class="parameterTable" cellpadding="5%" width="100%" | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | ||
+ | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | ||
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
+ | |- | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''input'' | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the square-root of. | ||
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
+ | |- | ||
+ | |} | ||
+ | |- | ||
+ | | | ||
{| | {| | ||
|- | |- | ||
Line 575: | Line 825: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
<!-- == tan == | <!-- == tan == | ||
{| 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">float </span><span class="bigKeywordB">tan</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fRadians</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the tangent of a number of radians. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the tangent of a number of radians. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fRadians'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the tangent of (in radians). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 604: | Line 856: | ||
|- | |- | ||
|} | |} | ||
− | + | <br /> | |
== tanDegrees == | == tanDegrees == | ||
{| 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">float </span><span class="bigKeywordB">tanDegrees</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const float </span><span class="bigCodeBasic">fDegrees</span><span class="bigCodePunc">)</span> |
|- | |- | ||
− | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|Returns the tangent of a number of degrees. | + | | style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_float|float]]) Returns the tangent of a number of degrees. |
− | + | |- | |
− | + | | | |
− | {| | + | {| class="parameterTable" cellpadding="5%" width="100%" |
− | + | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter | |
− | + | ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation | |
+ | ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type | ||
|- | |- | ||
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|''fDegrees'' |
− | | style="border-style: solid; border-width: | + | | style="border-style: solid; border-width: 1px 0px 0px 0px"|The number to take the tangent of (in degrees). |
+ | | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_float|float]] | ||
|- | |- | ||
|} | |} | ||
− | + | |- | |
− | + | | | |
{| | {| | ||
|- | |- | ||
Line 632: | Line 886: | ||
|} | |} | ||
|- | |- | ||
− | |} --> | + | |} |
+ | <br /> --> |
Latest revision as of 15: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. | ||||||
| ||||||
|