複素数ライブラリでは、エラー処理が次のように定義されています。
extern int errno; class c_exception {...}; int complex_error(c_exception&);
外部変数 errno は C ライブラリの大域的なエラー状態です。errno は、標準ヘッダー errno.h (perror(3) のマニュアルページを参照) にリストされている値を持ちます。errno には、多くの関数でゼロ以外の値が設定されます。
ある特定の演算でエラーが起こったかどうか調べるには、次のようにしてください。
演算実行前に errno をゼロに設定する。
演算終了後に値を調べる。
関数 complex_error は c_exception 型の参照引数を持ち、次に示す複素数ライブラリ関数に呼び出されます。
exp
log
log10
sinh
cosh
デフォルトの complex_error はゼロを返します。ゼロが返されたということは、デフォルトのエラー処理が実行されたということです。ユーザーは独自の complex_error 関数を作成して、別のエラー処理を行うことができます。エラー処理については、cplxerr(3CC4) のマニュアルページで説明しています。
デフォルトのエラー処理については、cplxtrig(3CC4) と cplxexp(3CC4) のマニュアルページを参照してください。次の表にも、その概要を掲載しています。
|