Haxeで64ビットなXorShiftを実装してみた
Haxeでゲーム向けのXorShiftを実装してみた(概定版)
------[Rand.hx]------
package;
import haxe.Int64;
class Rand {
static var seed: Int64;
// Api.
public static function init () {
var time: Int64 = 0;
while (time == 0) {
time = Int64.fromFloat(Date.now().getTime());
}
seed = time;
}
public static function next () : Int {
seed = seed ^ (seed << 13);
seed = seed ^ (seed >> 7);
seed = seed ^ (seed << 17);
// 型変換のための丸めとプラス処理
return Int64.toInt(seed & 0x7FFFFFFF);
}
}
0コメント