package net.torvald.terrarum.tests import net.torvald.random.HQRNG import net.torvald.random.XXHash32 import net.torvald.terrarum.gameworld.fmod import net.torvald.terrarum.serialise.toLittle import java.util.* import net.torvald.terrarum.* /** * Created by minjaesong on 2019-07-27. */ fun rng01(rng: Random): Double { return (rng.nextInt().toDouble() / 4294967295L.toDouble()) } fun main(args: Array) { val rng = HQRNG() /*repeat(512) { println(rng.nextDouble()) }*/ println() /*val rng2 = com.sudoplay.joise.generator.HQRNG() repeat(512) { println(rng2.getRange(0, 10)) } // getTarget: 0..(t-1) (exclusive) // getRange: low..high (inclusive) // get01: 0.0 until 1.0 (exclusive) */ val rangeSize = 64 val textLen = (rangeSize - 1).toString().length for (tries in 0 until 16) { repeat(BlockCodex.DYNAMIC_RANDOM_CASES + 12) { repeats -> val x = 349 + repeats val y = 9492 + tries val offset = XXHash32.hash(((x and 0xFFFF).shl(16) or (y and 0xFFFF)).toLittle(), 10000) //print("${offset.toString().padStart(2, '0')} ") print("${offset.fmod(rangeSize).toString().padStart(textLen, '0')} ") } println() println() } }