Ameba Ownd

アプリで簡単、無料ホームページ作成

kubohisaの『ゲームプログラミングが判らない』

Haxeで64ビットなXorShiftを実装してみた

2021.01.08 03:53

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);

    }

}