This article describes the ranges of parameters or return values for Small Basic Math functions.  This article is work in progress.  So "N/A" means that the range is not investigated yet.  Please edit this article if you know any range information about Math functions in Small Basic.

In this article floating point expression is used such as 7.9E28 that means 7.9 x 1028.

Basically, Microsoft Small Basic is one of .NET framework language.  So, internally Decimal number  might be used.  Most of limit may come from Decimal number.


Literal Numbers

This limitation is only for literal numbers but not for literal texts.  Following code shows this fact.

n = 1000000000000001
TextWindow.WriteLine(n) ' 1000000000000000
n = "1000000000000001"
TextWindow.WriteLine(n) ' 1000000000000001

Range

-1E15 = -1000000000000000 ≦ literal ≦ 1000000000000000 = 1E15

Sample Program

CSZ796


Arithmetic Operators

Small Basic has 4 arithmetic operators - "+" (add), "-" (subtract), "*" (multiple) and "/" (divide).


+

number1 + number2

Range

number1 + number2 ≦ 79228162514264337593543950335 = 7.9E28

Sample Program

JFW812


-


number1 - number2

Range

N/A


*


number1 * number2

Range

N/A


/


number1 / number2

Range

number1 ≧ 0.0000000000000000000000000001 (= 1E-28) while number2 = 10

Sample Program

GRS792


Math Functions

In Small Basic, Math object has 20 operations (functions).


Abs


Math.Abs(number)

Range

N/A


ArcCos


Math.ArcCos(cosValue)

Range

-1 ≦ cosValue ≦ 1
0 ≦ Math.ArcCos(cosValue) ≦ Math.Pi


ArcSin


Math.ArcSin(sinValue)

Range

-1 ≦ sinValue ≦ 1
-Math.Pi / 2 ≦ Math.ArcSin(sinValue) ≦ Math.Pi / 2


ArcTan


Math.ArcTan(tanValue)

Range

-Math.Pi / 2 < Math.ArcTan(tanValue) < Math.Pi / 2
N/A ≦ tanValue ≦ N/A


Ceilinig


Math.Ceiling(number)

Range

N/A


Cos


Math.Cos(angle)

Range

-1 ≦ Math.Cos(angle) ≦ 1

Floor


Math.Floor(number)

Range

N/A


GetDegrees


Math.GetDegrees(angle)

Range

-360 < Math.GetDegrees(angle) < 360


GetRadians


Math.GetRadians(angle)

Range

-2 * Math.Pi < Math.GetRadians(angle) < 2 * Math.Pi


GetRandomNumber


Math.GetRandomNumber(maxNumber)

Range

N/A


Log


Math.Log(number)

Range

0 < number ≦ N/A


Max


Math.Max(number1, number2)

Range

Number of significant digits is limited to the return value of Math.Max ​​function.

Sample Program

DVN723

Min


Math.Min(number1, number2)

Range

N/A


NaturalLog


Math.NaturalLog(number)

Range

0 < number ≦ N/A


Power


Math.Power(baseNumber, exponent)

Range

baseNumber ≦ 31622776 while exponent = 2

exponent ≦ 49 while baseNumber = 2

Sample Program

FFW588 for Math.Power(31622776, 2)

Remainder

Math.Remainder(dividend, divisor)

Range

Math.Remainder(9007199254740992, 2)
dividend ≦ 9007199254740992 = 9E15 while divisor = 2
-divisor < Math.Remainder(dividend, divisor) < divisor


Round


Math.Round(number)

Range

N/A


Sin


Math.Sin(angle)

Range

-1 ≦ Math.Sin(angle) ≦ 1


SquareRoot


Math.SquareRoot(number)

Range

0 ≦ number ≦ 19807040628566084398385987584 = 1.9E28


Tan


Math.Tan(angle)

Range

N/A

Sample Program

SFH478


Other Resources

See Also


Other Languages