実行環境

開始と終了

void cs_init()

iZ-C が利用するメモリ領域をセットアップします。

void cs_end()

cs_init() が呼ばれてから cs_end() が呼ばれるまでに割り付けられたメモリ領域 (それはCSint型変数の作成や制約の宣言の時などに自動的に割り付けられたものです)は、 cs_end() が呼ばれたときにすべて解放されます。

cs_end() の後にCSint型変数にアクセスすることはできません。

エラーの取得

void cs_initErr()

cs_initErr()を呼び出すとライブラリ内部にある変数 err が初期化されます。(変数errの初期値は CS_ERR_NONE です。). cs_initErr()は cs_init() の中で呼び出されています。

int cs_getErr()

現在の変数 err の値を返します。CS_ERR_NONE が返るということは, 前回の cs_getErr() あるいは cs_init() の呼び出し以降、今回の cs_getErr() の呼び出しまでの間にはエラーは発生していないということを意味します。

統計情報の出力

void cs_printStats()

以下の3種類の情報を出力します。

  • Nb Fails (解探索の過程で発生したフェイルの数)
  • Nb Choice Points (バックトラックすることが可能な変数の即値化の回数)
  • Heap Size (バックトラックができるようにコンテキストを保存しているヒープ領域のサイズ)

Nb Fails および Nb Choice Points はそれぞれ、cs_getNbFails() および cs_getNbChoicePoints()) 関数で 直接取得できます。

void cs_fprintStats(FILE *f)

この関数は引数として出力先のファイルを示すFILE ポインタをとる以外は cs_printStats() と同じです。