Programmer Guide/Command Reference/NUM: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 21: Line 21:
::;brackets:<code>(''expression'')</code>
::;brackets:<code>(''expression'')</code>
::;functions:
::;functions:
::{class="einrahmen"
::{|class="einrahmen"
|<code>setlran(''seed'')</code>linear distributed pseudo random number ''r'' (0&le;''r''&lt;1)<BR>''seed'' is the start value (0&le;''seed''&lt<1)
|<code>setlran(''seed'')</code>
|linear distributed pseudo random number ''r'' (0&le;''r''&lt;1)<BR>''seed'' is the start value (0&le;''seed''&lt<1)
|-
|<code>sin(''x''), cos(''x''), tan(''x'')</code>
|sine, cosine or tangent of ''x''
|-
|<code>asin(''x''), acos(''x''), atan(''x'')</code>
|inverse sine, cosine or tangent of ''x''
|-
|<code>exp(''x'')</code>
|computes <code>e<sup>''x''</sup></code>
|-
|<code>log(''x'')</code>
|common logarithm of ''x'' (base <code>10</code>)
|-
|<code>ln(''x'')</code>
|natural logarithm of ''x'' (base <code>e</code>)
|-
|<code>sqrt(''x'')</code>
|square root of ''x'' (base 10)
|-
|<code>abs(''x'')</code>
|absolute value of ''x'' (base 10)
|-
|<code>int(''x'')</code>
|integer part of ''x'', the fractional part is truncated
|-
|<code>round(''x'')</code>
|round to the nearest integer of ''x''
|-
|<code>db(''x'')</code>
|convert level to factor (<code>10<sup>''x''/20</sup</code>)
|-
|<code>sinc(''x''), sinx(''x'')</code>
|sinc function: <code>sin(''x'') / ''x''</code>
|-
|<code>sign(''x'')</code>
|sign of ''x''; returns -1 if <code>''x''&lt;0</code>, otherwise 1
|-
|<code>hz2bark(''x'')</code>
|convert ''x'' from Hertz to Bark
|-
|<code>bark2hz(''x'')</code>
|convert ''x'' from Bark to Hertz
|-
|<code>bit(''n'')</code>
|returns the integer with only bit ''n'' (0&le;''n''&lt;32) is set and all other are cleared; can be used to generate bit masks
|-
|
|
|-
|}
|}
 
_T("FLOOR"), _T("ISERR"), // 20-24
_T("RAND"), _T("LRAN"), _T("SETLRAN"), _T("SIN"), _T("COS"), // 00-04
_T("TAN"), _T("ASIN"), _T("ACOS"), _T("ATAN"), _T("EXP"), // 05-09
_T("LOG"), _T("LN"), _T("SQRT"), _T("ABS"), _T("INT"), // 10-14
_T("ROUND"), _T("DB"), _T("SINX"), _T("SINC"), _T("SIGN"), //  15-19
_T("HZ2BARK"), _T("BARK2HZ"), _T("BIT"), _T("FLOOR"), _T("ISERR"), // 20-24
_T("ISERROR"), _T("ISWARNING"),_T("ISWARN"), _T("NPOW2"),
_T("ISERROR"), _T("ISWARNING"),_T("ISWARN"), _T("NPOW2"),



Revision as of 11:23, 26 April 2011

command return value value of RC
NUM expression value of expression or
empty string if the evaluation fails
0
error code
NUMCHECK expression value of expression or
empty string if the evaluation fails
0
warning code
Description
The expression will be evaluated numerically, and the result (textual representation) will be returned. The expression may consist of the following parts:
decimal numbers
123.456, 17.5e3, 100, -312.123, 1e-3
hexa-decimal numbers
0x1234, 0xabc, 0XabC
special constants
pi (=3.1415...), e (=2.71828...),
rand (a linear distributed pseudo random number r; -1≤r<1)
lran (a linear distributed pseudo random number r; 0≤r<1)
numerical operators
-a (negate), a+b (add), a-b (subtract), a*b (multiply), a/b (divide), a%b (modulo), a^b (power)
logical operators (bitwise)
!a (not), a&b (and), a|b (or), a^b (exclusive or)
brackets
(expression)
functions
setlran(seed) linear distributed pseudo random number r (0≤r<1)
seed is the start value (0≤seed&lt<1)
sin(x), cos(x), tan(x) sine, cosine or tangent of x
asin(x), acos(x), atan(x) inverse sine, cosine or tangent of x
exp(x) computes ex
log(x) common logarithm of x (base 10)
ln(x) natural logarithm of x (base e)
sqrt(x) square root of x (base 10)
abs(x) absolute value of x (base 10)
int(x) integer part of x, the fractional part is truncated
round(x) round to the nearest integer of x
db(x) convert level to factor (10x/20</sup)
sinc(x), sinx(x) sinc function: sin(x) / x
sign(x) sign of x; returns -1 if x<0, otherwise 1
hz2bark(x) convert x from Hertz to Bark
bark2hz(x) convert x from Bark to Hertz
bit(n) returns the integer with only bit n (0≤n<32) is set and all other are cleared; can be used to generate bit masks

_T("FLOOR"), _T("ISERR"), // 20-24 _T("ISERROR"), _T("ISWARNING"),_T("ISWARN"), _T("NPOW2"),



Notes
  • The INT command converts the result to an integer by truncating it. There is no rounding involved, no rounding at all.
  • In case of the expression being syntactically ill-formed, an error (INT) or warning (INTCHECK) is reported.
See also
NUM, NUMCHECK, EVAL, EVALCHECK


Examples
#result := int 3.1           // #result is set to 3
#result := int 3.9           // #result is set to 3, too
#result := int 3.9 * 3.9     // #result is set to 15 (note that calculation
                             // is done in floating point, resulting in 15.21,
                             // and truncation occurs only on assigning
// compare the preceding example with the following one:
#result := int 3 * int(3.9)  // here, #result will be assigned 9 - cool, isn't it?

Navigation menu

Personal tools