pub struct UciInfo {Show 17 fields
pub depth: Option<String>,
pub seldepth: Option<String>,
pub time: Option<String>,
pub nodes: Option<String>,
pub pv: Vec<String>,
pub multipv: Option<String>,
pub score: Option<UciScore>,
pub currmove: Option<String>,
pub currmovenumber: Option<String>,
pub hashfull: Option<String>,
pub nps: Option<String>,
pub tbhits: Option<String>,
pub sbhits: Option<String>,
pub cpuload: Option<String>,
pub string: Option<String>,
pub refutation: Vec<String>,
pub currline: Vec<String>,
}Expand description
Represents all information that can be sent with the info command.
Fields§
§depth: Option<String>depth <x>Search depth (in plies).
seldepth: Option<String>seldepth <x>Selective search depth (in plies),
If the engine sends seldepth there must also be a depth present in the
same string.
time: Option<String>time <x>The time searched (in ms).
This should be sent together with the pv.
nodes: Option<String>nodes <x><x> nodes searched.
The engine should send this info regularly.
pv: Vec<String>pv <move_1> [<move_2> ... <move_i>]The best line found.
multipv: Option<String>multipv <num>This for the multi pv mode.
For the best move/pv add multipv 1 in the string when you send the pv.
In k-best mode always send all k variants in k strings together.
score: Option<UciScore>score [cp <x> | mate <y> | lowerbound | upperbound]cp <x>- The score from the engine’s point of view in centipawns.mate <y>- Mate inymoves, not plies.
If the engine is getting mated, use negative values for y.
lowerbound- The score is just a lower bound.upperbound- The score is just an upper bound.
currmove: Option<String>currmove <move>Currently searching this move
currmovenumber: Option<String>Currmovenumber <x>Currently searching move number x, for the first move x should be 1 not
0.
hashfull: Option<String>hashfull <x>The hash is x permill full.
The engine should send this info regularly.
nps: Option<String>nps <x>x nodes per second searched.
The engine should send this info regularly.
tbhits: Option<String>tbhits <x>x positions where found in the endgame table bases.
sbhits: Option<String>sbhits <x>x positions where found in the shredder endgame databases.
cpuload: Option<String>cpuload xThe cpu usage of the engine is x permill.
string: Option<String>string <str>Any string str which will be displayed be the engine.
If there is a string command the rest of the line will be interpreted as
str.
refutation: Vec<String>refutation <move_1> <move_2> ... <move_i>Move <move_1> is refuted by the line <move_2> ... <move_1>.
i can be any number >= 1.
Example: after move d1h5 is searched, the engine can send
info refutation d1h5 g6h5 if g6h5 is the best answer after
d1h5 or if g6h5 refutes the move d1h5.
If there is no refutation for d1h5 found, the engine should just send
info refutation d1h5.
The engine should only send this if the option UCI_ShowRefutations is set
to true.
currline: Vec<String>currline <cpnunr> <move_1> [<move_2> ... <move_i>]This is the current line the engine is calculating. cpunr is the number of
the cpu if the engine is running on more than one cpu. cpunr = 1,2,3....
if the engine is just using one cpu, cpunr can be omitted.
If cpunr is greater than 1, always send all k lines in k strings
together.
The engine should only send this if the option UCI_ShowCurrLine is set to
true.
Implementations§
Source§impl UciInfo
impl UciInfo
Sourcepub fn depth(self, depth: impl Display) -> Self
pub fn depth(self, depth: impl Display) -> Self
Consumes self and adds the provided depth value.
Sourcepub fn seldepth(self, seldepth: impl Display) -> Self
pub fn seldepth(self, seldepth: impl Display) -> Self
Consumes self and adds the provided seldepth value.
Sourcepub fn nodes(self, nodes: impl Display) -> Self
pub fn nodes(self, nodes: impl Display) -> Self
Consumes self and adds the provided nodes value.
Sourcepub fn multipv(self, multipv: impl Display) -> Self
pub fn multipv(self, multipv: impl Display) -> Self
Consumes self and adds the provided multipv value.
Sourcepub fn score(self, score: impl Into<UciScore>) -> Self
pub fn score(self, score: impl Into<UciScore>) -> Self
Consumes self and adds the provided score value.
Sourcepub fn currmove(self, currmove: impl Display) -> Self
pub fn currmove(self, currmove: impl Display) -> Self
Consumes self and adds the provided currmove value.
Sourcepub fn currmovenumber(self, currmovenumber: impl Display) -> Self
pub fn currmovenumber(self, currmovenumber: impl Display) -> Self
Consumes self and adds the provided currmovenumber value.
Sourcepub fn hashfull(self, hashfull: impl Display) -> Self
pub fn hashfull(self, hashfull: impl Display) -> Self
Consumes self and adds the provided hashfull value.
Sourcepub fn tbhits(self, tbhits: impl Display) -> Self
pub fn tbhits(self, tbhits: impl Display) -> Self
Consumes self and adds the provided tbhits value.
Sourcepub fn sbhits(self, sbhits: impl Display) -> Self
pub fn sbhits(self, sbhits: impl Display) -> Self
Consumes self and adds the provided sbhits value.
Sourcepub fn cpuload(self, cpuload: impl Display) -> Self
pub fn cpuload(self, cpuload: impl Display) -> Self
Consumes self and adds the provided cpuload value.
Sourcepub fn string(self, string: impl Display) -> Self
pub fn string(self, string: impl Display) -> Self
Consumes self and adds the provided string value.
Sourcepub fn pv<T: Display>(self, pv: impl IntoIterator<Item = T>) -> Self
pub fn pv<T: Display>(self, pv: impl IntoIterator<Item = T>) -> Self
Consumes self and adds the provided pv value.
Sourcepub fn refutation<T: Display>(
self,
refutation: impl IntoIterator<Item = T>,
) -> Self
pub fn refutation<T: Display>( self, refutation: impl IntoIterator<Item = T>, ) -> Self
Consumes self and adds the provided refutation value.
Sourcepub fn currline<T: Display>(self, currline: impl IntoIterator<Item = T>) -> Self
pub fn currline<T: Display>(self, currline: impl IntoIterator<Item = T>) -> Self
Consumes self and adds the provided currline value.