Difference between revisions of "Floor - Math"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>JustinOther
m (Added note: 'fValue As Int' is faster than 'Math.Floor(fValue)')
imported>FrankFamily
 
(3 intermediate revisions by 2 users not shown)
Line 19: Line 19:
== Examples ==
== Examples ==
<source lang="papyrus">
<source lang="papyrus">
int x = Floor(2.1) ; x == 2
int x = Math.Floor(2.1) ; x == 2
int y = Floor(5.9) ; y == 5
int y = Math.Floor(5.9) ; y == 5
int z = Math.Floor(-0.7) ; z == -1
</source>
</source>


== Notes ==
== Notes ==
*Casting a Float to an Int verifiably produces the same results and is measurably faster.
*Casting a Float to an Int verifiably produces the same results for positive numbers and is measurably faster. Results with negative numbers differs since casting truncates the number going towards 0 while floor gets the closest lower integer, therefore going towards negative infinite.
<source lang="papyrus">
int floored = Math.Floor(-0.7) ; result is -1
int casted = -0.7 as int ; result is 0
</source>
 


== See Also ==
== See Also ==
*[[Math Script]]
*[[Math Script]]
*[[Ceiling - Math]]
*[[Ceiling - Math]]

Latest revision as of 20:40, 3 October 2016

Member of: Math Script

Calculates the largest integer less than or equal to the passed in value.

Syntax[edit | edit source]

int Function Floor(float afValue) native global

Parameters[edit | edit source]

  • afValue: The value to get the floor of.

Return Value[edit | edit source]

The floor of the passed-in value.

Examples[edit | edit source]

int x = Math.Floor(2.1) ; x == 2
int y = Math.Floor(5.9) ; y == 5
int z = Math.Floor(-0.7) ; z == -1

Notes[edit | edit source]

  • Casting a Float to an Int verifiably produces the same results for positive numbers and is measurably faster. Results with negative numbers differs since casting truncates the number going towards 0 while floor gets the closest lower integer, therefore going towards negative infinite.
int floored = Math.Floor(-0.7) ; result is -1
int casted = -0.7 as int ; result is 0


See Also[edit | edit source]