All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.casperix.math.random.RandomAngle.kt Maven / Gradle / Ivy

package casperix.math.random

import casperix.math.angle.float32.DegreeFloat
import casperix.math.angle.float32.RadianFloat
import casperix.math.angle.float64.DegreeDouble
import casperix.math.angle.float64.RadianDouble
import casperix.math.geometry.MAX_DEGREE
import casperix.math.geometry.PI2
import casperix.math.geometry.fMAX_DEGREE
import casperix.math.geometry.fPI2
import kotlin.random.Random


fun Random.nextRadianFloat(minAngle: Float = 0f, maxAngle: Float = fPI2): RadianFloat {
    return RadianFloat(nextFloat(minAngle, maxAngle))
}

fun Random.nextRadianDouble(minAngle: Double = 0.0, maxAngle: Double = PI2): RadianDouble {
    return RadianDouble(nextDouble(minAngle, maxAngle))
}

fun Random.nextDegreeFloat(minAngle: Float = 0f, maxAngle: Float = fMAX_DEGREE): DegreeFloat {
    return DegreeFloat(nextFloat(minAngle, maxAngle))
}

fun Random.nextDegreeDouble(minAngle: Double = 0.0, maxAngle: Double = MAX_DEGREE): DegreeDouble {
    return DegreeDouble(nextDouble(minAngle, maxAngle))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy