/**
 * Given an epsilon value, a start value, and an end value, this function returns a list of all the floating-point numbers
 * within the specified range that are not affected by floating-point errors.
 *
 * @param epsilon The minimum difference between two floating-point numbers to be considered unaffected by errors.
 * @param start The start value of the range.
 * @param end The end value of the range.
 * @return A list of floating-point numbers within the range unaffected by floating-point errors.
 */
fun findEpsilonRange(epsilon: Float, start: Float, end: Float): List<Float> {

    val result = mutableListOf<Float>()
    var current = start

    while (current <= end) {
        val rounded = Math.round(current / epsilon) * epsilon

        if (start <= rounded && rounded <= end) {
            result.add(rounded)
        }

        current += epsilon
    }

    return result
}
/**
 * Given an epsilon value, a start value, and an end value, this function returns a list of all the floating-point numbers
 * within the specified range that are not affected by floating-point errors.
 *
 * @param epsilon The minimum difference between two floating-point numbers to be considered unaffected by errors.
 * @param start The start value of the range.
 * @param end The end value of the range.
 * @return A list of floating-point numbers within the range unaffected by floating-point errors.
 */
fun findEpsilonRange(epsilon: Float, start: Float, end: Float): List<Float> {
/**
 * Given an epsilon value, a start value, and an end value, this function returns a list of all the floating-point numbers
 * within the specified range that are not affected by floating-point errors.
 *
 * @param epsilon The minimum difference between two floating-point numbers to be considered unaffected by errors.
 * @param start The start value of the range.
 * @param end The end value of the range.
 * @return A list of floating-point numbers within the range unaffected by floating-point errors.
 */
fun findEpsilonRange(epsilon: Float, start: Float, end: Float): List<Float> {

    val result = mutableListOf<Float>()
    var current = start

    while (current <= end) {
        val rounded = Math.round(current / epsilon) * epsilon

        if (start <= rounded && rounded <= end) {
            result.add(rounded)
        }

        current += epsilon
    }

    return result
}