My Project
cassio.h File Reference

Go to the source code of this file.

Functions

void * engine_init (void)
 Create a new Othello engine.
 
void engine_free (void *)
 free resources allocated
 
double engine_midgame_search (void *, const char *, const double, const double, const int, const int)
 Midgame search.
 
int engine_endgame_search (void *, const char *, const int, const int, const int)
 Endgame search.
 
void engine_stop (void *)
 Stop searching.
 
void engine_print_results (void *, char *)
 
void engine_empty_hash (void *)
 Empty (ie completely clear) the engine hash table.
 
void engine_loop (void)
 Loop event.
 

Detailed Description

A simple protocol to communicate with Cassio.

Date
1998 - 2017
Author
Richard Delorme
Version
4.4

Function Documentation

◆ engine_empty_hash()

void engine_empty_hash ( void * v)

Empty (ie completely clear) the engine hash table.

Parameters
vEngine.

◆ engine_endgame_search()

int engine_endgame_search ( void * v,
const char * position,
const int alpha,
const int beta,
const int precision )

Endgame search.

Practically, Edax does the same things than in midgame search, with depth set as the number of empty squares. In case (beta - alpha) < 1, Edax will reajust beta so that beta = alpha + 1.

Parameters
vEngine.
positionString description of the position.
alphaAlpha bound.
betaBeta bound.
precisionProbcut percentage.

◆ engine_free()

void engine_free ( void * v)

free resources allocated

Parameters
vEngine.

◆ engine_init()

void * engine_init ( void )

Create a new Othello engine.

Allocate engine resources & launch user-input event thread.

Returns
A pointer to a newly allocated engine structure.

◆ engine_loop()

void engine_loop ( void )

Loop event.

◆ engine_midgame_search()

double engine_midgame_search ( void * v,
const char * position,
const double alpha,
const double beta,
const int depth,
const int precision )

Midgame search.

Edax evaluation resolution is only one disc, so the doubleing point accuracy is not actually used here. In case (beta - alpha) < 1, Edax will reajust beta so that beta = alpha + 1. For some depths, extension-pv heuristics will return endgame score.

Parameters
vEngine.
positionString description of the position.
alphaAlpha bound.
betaBeta bound.
depthSearch depth.
precisionProbcut percentage.

◆ engine_print_results()

void engine_print_results ( void * ,
char *  )

◆ engine_stop()

void engine_stop ( void * v)

Stop searching.

Parameters
vSearch.