round

fun round(angle: Angle): Angle

Rounds angle to the nearest multiple of the identity quantum 1.0 / SCALE radians.

The Angle form of the module's rounding helper (see SCALE): the quantum applies to the raw Angle.radians value, and the result is for deciding, never for storing — "does this difference round to zero?" is spelled round(a - b) == 0.rad. Signed zero is sanitized like the Double form's: a rounded zero never carries a stray sign, so comparing against 0.rad is safe.

Return

The nearest multiple of 1.0 / SCALE radians, as an Angle.

Parameters

angle

The angle to round.


fun round(value: Double): Double

Rounds value to the nearest multiple of the identity quantum 1.0 / SCALE.

Identity in this module rounds — equality, hashing, and the boolean gates compare components rounded to the nearest 1.0 / SCALE (see SCALE); call this function to make the same identity decision over any raw value — "does this shift round to zero?", "do these values round equal?". The result is for deciding, never for storing: components stay raw at full Double precision — store exact, round only for identity. Signed zero is sanitized: -0.0 rounds to +0.0, so a rounded zero carries no stray sign.

Return

The nearest multiple of 1.0 / SCALE; never -0.0.

Parameters

value

The raw value to round.