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≤''r''<1)<BR>''seed'' is the start value (0≤''seed''<<1) | |<code>setlran(''seed'')</code> | ||
|linear distributed pseudo random number ''r'' (0≤''r''<1)<BR>''seed'' is the start value (0≤''seed''<<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''<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≤''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"), | _T("ISERROR"), _T("ISWARNING"),_T("ISWARN"), _T("NPOW2"), | ||
Revision as of 10: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<<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 1hz2bark(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.
- The
- 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?