usiagent 0.7.0

USIAgent is a framework for Shogi AI development that supports the usi protocol.
Documentation
//! 乱数生成などの実装を定義するモジュール
/// 高速な乱数生成器の実装
pub struct Prng {
    s:u64
}
impl Prng {
    /// 乱数生成器を初期化して返す
    ///
    /// # Arguments
    /// * `seed` - 乱数シード
    pub fn new(seed:u64) -> Prng {
        Prng {
            s:seed
        }
    }

    /// u64型の乱数を生成して返す
    pub fn rnd64(&mut self) -> u64 {
        self.s ^= self.s >> 12;
        self.s ^= self.s << 25;
        self.s ^= self.s >> 27;
        return (self.s as u128 * 2685821657736338717u128) as u64;
    }

    /// 0~n-1の範囲の乱数を生成して返す
    ///
    /// # Argumants
    /// * `n` - 乱数の値の上限(n自身は含まない)
    pub fn rnd(&mut self,n:u64) -> u64 {
        self.rnd64() % n
    }
}