BlitzMax/Modules/Math/Math

=Functions=

IsNan
''Function IsNan( x:Double )

Description: Check if a value is NAN

Returns: True if x is 'not a number' (e.g.: Sqr(-1))

Example: Local a:Float = Sqr(-1)

Local b:Int = IsNan(a)	'b will equal True in this example, because the square root of -1 is 'not a number'

IsInf
''Function IsInf( x:Double )

Description: Check if a value is infinite (e.g.: 1.0/0.0)

Returns: True if x is infinite

Example: Local a:Float = 1.0 / 0.0

Local b:Int = IsInf(a)	'b will equal True in this example, because 1.0 divided by 0.0 is infinite

Sqr
''Function Sqr:Double( x:Double )

Description: Square root of x

Example: Local a:Int = 4 Local b:Int = Sqr(a)

Sin
''Function Sin:Double( x:Double )

Description: Sine of x degrees

Cos
''Function Cos:Double( x:Double )

Description: Cosine of x degrees

Tan
''Function Tan:Double( x:Double )

Description: Tangent of x degrees

ASin
''Function ASin:Double( x:Double )

Description: Inverse Sine of x

Comments: The inverse sine can determine the remaining angles of a right triangle when the lengths of the sides are known. For instance, an angle may be calculated using the length of the opposite side and the hypotenuse.

Example: Local alpha:Double = ASin(length_opposite / length_hypotenuse)

ACos
''Function ACos:Double( x:Double )

Description: Inverse Cosine of x

Comments: The inverse cosine can determine the remaining angles of a right triangle when the lengths of the sides are known. For instance, an angle may be calculated using the length of the adjacent side and the hypotenuse.

Example: Local alpha:Double = ACos(length_adjacent / length_hypotenuse)

ATan
''Function ATan:Double( x:Double )

Description: Inverse Tangent of x

Comments: The inverse tangent can determine the remaining angles of a right triangle when the lengths of the sides are known. For instance, an angle may be calculated using the length of the opposite side and the adjacent side.

Example: Local alpha:Double = ATan(length_opposite / length_adjacent)

ATan2
''Function ATan2:Double( y:Double,x:Double )

Description: Inverse Tangent of two variables x, y

Comments: ATan2 is similar to ATan. However, it makes use of the two arguments signs to determine the angle of a imaginary vector (x,y) relatively to the x-axis (counterclockwise). This is very useful, for example in determining the direction from one point to another.

Example: Local ax:Float = -1, ay:Float =- 2	'Point A Local bx:Float = 3, by:Float = 2	'Point B

'Notice how the variables we are using are Float's, BlitzMax will automatically 'convert them into Double's when we call ATan2 Local angle:Float = ATan2(by - ay, bx - ax)	'Angle from A to B

Sinh
''Function Sinh:Double( x:Double )

Description: Hyperbolic sine of x

Cosh
''Function Cosh:Double( x:Double )

Description: Hyperbolic cosine of x

Tanh
''Function Tanh:Double( x:Double )

Description: Hyperbolic tangent of x

Exp
''Function Exp:Double( x:Double )

Description: Exponential function

Log
''Function Log:Double( x:Double )

Description: Natural logarithm

Log10
''Function Log10:Double( x:Double )

Description: Base 10 logarithm

Ceil
''Function Ceil:Double( x:Double )

Description: Smallest integral value not less than x

Floor
''Function Floor:Double( x:Double )

Description: Largest integral value not greater than x

Comments: Ceil will round a variable up, whereas Floor will round it down.

Example: Local a:Float = 3.5

Local round_up:Float = Ceil(a)		'Becomes 4.0 Local round_down:Float = Floor(a)	'Becomes 3.0