game_solver::game

Trait NormalImpartial

Source
pub trait NormalImpartial: Normal {
    // Provided method
    fn split(&self) -> Option<Vec<Self>> { ... }
}
Expand description

Normal impartial games have the special property of being splittable: i.e., the disjunctive sum of two games is equal to another normal-play game.

Provided Methods§

Source

fn split(&self) -> Option<Vec<Self>>

Splits a game into multiple separate games.

This function doesn’t have to be necessarily optimal, but it makes normal impartial game analysis much quicker, using the technique described in Nimbers Are Inevitable.

Returns `Option::None`` if the game currently can not be split.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§