OsIsNotValidNumber
From OpenSimulator
(Difference between revisions)
(Add exemple) |
|||
(2 intermediate revisions by one user not shown) | |||
Line 5: | Line 5: | ||
|delay=0 | |delay=0 | ||
|description= Returns 0 (false) if d is a valid float, else returns:<br> | |description= Returns 0 (false) if d is a valid float, else returns:<br> | ||
− | + | 1 - if it is a NaN<br> | |
− | + | 2 - if it is a Negative Infinity<br> | |
− | + | 3 - if it is a Positive Infinity<br> | |
+ | |ossl_example=<source lang="lsl"> | ||
+ | // | ||
+ | // osIsNotValidNumber Script Example | ||
+ | // Author: djphil | ||
+ | // | ||
+ | string check_number(float value) | ||
+ | { | ||
+ | integer isValid = osIsNotValidNumber(value); | ||
+ | |||
+ | if (isValid == 1) | ||
+ | { | ||
+ | return (string)value + " is a NaN (" + (string)isValid + ")"; | ||
+ | } | ||
+ | |||
+ | else if (isValid == 2) | ||
+ | { | ||
+ | return (string)value + " is a Negative Infinity (" + (string)isValid + ")"; | ||
+ | } | ||
+ | |||
+ | else if (isValid == 3) | ||
+ | { | ||
+ | return (string)value + " is a Positive Infinity (" + (string)isValid + ")"; | ||
+ | } | ||
+ | |||
+ | else | ||
+ | { | ||
+ | return (string)value + " is a valid float (" + (string)isValid + ")"; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Touch to see osIsNotValidNumber usage."); | ||
+ | } | ||
+ | |||
+ | touch_start(integer number) | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "llSqrt(10.0) : " + check_number(llSqrt(10.0))); | ||
+ | llSay(PUBLIC_CHANNEL, "llSqrt(-10.0) : " + check_number(llSqrt(-10.0))); | ||
+ | llSay(PUBLIC_CHANNEL, "-llPow(10.0, 1000.0) : " + check_number(-llPow(10.0, 1000.0))); | ||
+ | llSay(PUBLIC_CHANNEL, "llPow(10.0, 1000.0) " + check_number(llPow(10.0, 1000.0))); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </source> | ||
|additional_info=Added in 0.9.1.0 Oct, 17Th; OS_APIVERSION = 10 | |additional_info=Added in 0.9.1.0 Oct, 17Th; OS_APIVERSION = 10 | ||
}} | }} |
Latest revision as of 09:56, 26 November 2020
integer osIsNotValidNumber(float d)
| |
Returns 0 (false) if d is a valid float, else returns: 1 - if it is a NaN | |
Threat Level | This function does not do a threat level check |
Permissions | Use of this function is always allowed by default |
Extra Delay | 0 seconds |
Example(s) | |
// // osIsNotValidNumber Script Example // Author: djphil // string check_number(float value) { integer isValid = osIsNotValidNumber(value); if (isValid == 1) { return (string)value + " is a NaN (" + (string)isValid + ")"; } else if (isValid == 2) { return (string)value + " is a Negative Infinity (" + (string)isValid + ")"; } else if (isValid == 3) { return (string)value + " is a Positive Infinity (" + (string)isValid + ")"; } else { return (string)value + " is a valid float (" + (string)isValid + ")"; } } default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osIsNotValidNumber usage."); } touch_start(integer number) { llSay(PUBLIC_CHANNEL, "llSqrt(10.0) : " + check_number(llSqrt(10.0))); llSay(PUBLIC_CHANNEL, "llSqrt(-10.0) : " + check_number(llSqrt(-10.0))); llSay(PUBLIC_CHANNEL, "-llPow(10.0, 1000.0) : " + check_number(-llPow(10.0, 1000.0))); llSay(PUBLIC_CHANNEL, "llPow(10.0, 1000.0) " + check_number(llPow(10.0, 1000.0))); } } | |
Notes | |
Added in 0.9.1.0 Oct, 17Th; OS_APIVERSION = 10 |