FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | ライブラリ | 書式 | 解説 | 使用例 | 関連項目 | 規格 | 歴史 | 警告 | バグ
FENV(3)                FreeBSD ライブラリ関数マニュアル                FENV(3)

名称
     feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag,
     fetestexcept, fegetround, fesetround, fegetenv, feholdexcept, fesetenv,
     feupdateenv, feenableexcept, fedisableexcept, fegetexcept -- 浮動小数点環
     境の制御

ライブラリ
     数値計算ライブラリ (libm, -lm)

書式
     #include <fenv.h>
     #pragma STDC FENV_ACCESS ON

     int
     feclearexcept(int excepts);

     int
     fegetexceptflag(fexcept_t *flagp, int excepts);

     int
     feraiseexcept(int excepts);

     int
     fesetexceptflag(const fexcept_t *flagp, int excepts);

     int
     fetestexcept(int excepts);

     int
     fegetround(void);

     int
     fesetround(int round);

     int
     fegetenv(fenv_t *envp);

     int
     feholdexcept(fenv_t *envp);

     int
     fesetenv(const fenv_t *envp);

     int
     feupdateenv(const fenv_t *envp);

     int
     feenableexcept(int excepts);

     int
     fedisableexcept(int excepts);

     int
     fegetexcept(void);

解説
     <fenv.h> ルーチンは、IEEE Std 754-1985 で定義された例外フラグと丸めモード
     を含んで、浮動小数点環境を操作します。

   例外
     例外フラグは、浮動小数点の四則演算と数学ライブラリルーチンの副作用として
     設定され、それらは、明示的にクリアされるまで設定されたままとなります。次
     のマクロは、5 つの標準の浮動小数点の例外を表す int タイプのビットフラグを
     展開します。

     FE_DIVBYZERO  (制限の定義によって) 計算の正確な結果が無限のとき、0 による
                   除算 (divide-by-zero) 例外は、起こります。例えば、0 で有限
                   の 0 でない数を割るか、または log(0) を計算すると、0 による
                   除算 (divide-by-zero) 例外を引き起こします。

     FE_INEXACT    丸めのために精度の損失があるときはいつも、不正確 (inexact)
                   例外が起こります。

     FE_INVALID    プログラムが、合理的な答えが表せない計算を実行することを試
                   みるとき、無効オペレーション例外は、起こります。例えば、符
                   号付きのような無限大の引き算、0 の 0 除算、NaNss を含む位数
                   比較、と負の数の実際の平方根を取ることは、すべて無効の操作
                   です。

     FE_OVERFLOW   0 による除算 (divide-by-zero) と対照的に、正確な結果の大き
                   さが有限であるが、目的のタイプに適合するには大きすぎるの
                   で、無限大が生成されるとき、オーバフロー例外は、起こりま
                   す。例えば、DBL_MAX * 2 を計算することは、オーバフロー例外
                   を引き起こします。

     FE_UNDERFLOW  計算の結果が精度を失うとき、0 に近すぎるので、アンダフロー
                   は、起こります。結果は、非正規化数または 0 です。

     さらに、FE_ALL_EXCEPT マクロは、上記のフラグと任意のアーキテクチャ特有の
     フラグのビット毎の論理和 (OR) に展開します。これらのフラグの組み合わせ
     は、それぞれ、プロセッサの浮動小数点の例外フラグをクリアする、格納する、
     起こす、復元する、と調べるために feclearexcept(), fegetexceptflag(),
     feraiseexcept(), fesetexceptflag() と fetestexcept() 関数に渡されます。

     例外は、feenableexcept() でアンマスクされ、fedisableexcept() でマスクされ
     ます。アンマスクされた例外は、それらが生成されるとき、トラップを引き起こ
     し、すべての例外がデフォルトでマスクされます。現在のマスクは、
     fegetexcept() でテストすることができます。

   丸めモード
     IEEE Std 754-1985 は、4 つの丸めモードを定めています。これらのモードは、2
     進の浮動小数点の変数にそれらに適合するためにそれらの正確な値から丸められ
     る結果の方向を制御します。4 つのモードが次のシンボリック定数に対応してい
     ます。

     FE_TONEAREST   結果は、表現可能な値に最も近いように丸められます。正確な結
                    果が 2 つの表現可能な値の間のちょうど中間であるなら、最後
                    のバイナリの桁が等しい (ゼロ) 値が選ばれます。これは、デ
                    フォルトのモードです。

     FE_DOWNWARD    結果は、負の infinity (無限大) に向かって丸められます。

     FE_UPWARD      結果は、正の infinity (無限大) に向かって丸められます。

     FE_TOWARDZERO  結果は、9 に向かって丸められます。

     fegetround() と fesetround() 関数は、丸めモードを問い合わせして、設定しま
     す。

   環境制御
     fegetenv() と fesetenv() 関数は、例外フラグ、現在の例外マスク、丸めモー
     ド、とことによると他の実装特有の状態を含んで、浮動小数点の環境を保存して
     復元します。feholdexcept() 関数は、fegetenv() のように振る舞いますが、例
     外フラグをクリアして、ノンストップモードをインストールするという追加の効
     果があります。ノンストップモードでは、浮動小数点の操作は、いつものように
     例外フラグを設定しますが、SIGFPE シグナルが結果として発生しません。ノンス
     トップモードは、デフォルトですが、それは、feenableexcept() と
     fedisableexcept() によって変更されるかもしれません。feupdateenv() 関数
     は、fesetenv() と同様に保存された環境を復元しますが、またそれは、古い環境
     から何らかの浮動小数点の例外も再び起こします。

     マクロ FE_DFL_ENV は、デフォルト環境へのポインタに展開します。

使用例
     次のルーチンは、平方根関数を計算します。それは、feraiseexcept() を使用し
     て、適切な入力で明示的に無効例外を起こします。また、それは、中間値を計算
     している間に不正確例外を延期し、次に、最終的な答えが不正確である場合にだ
     け、不正確例外が起こされることを許します。

           #pragma STDC FENV_ACCESS ON
           double sqrt(double n) {
                   double x = 1.0;
                   fenv_t env;

                   if (isnan(n) || n < 0.0) {
                           feraiseexcept(FE_INVALID);
                           return (NAN);
                   }
                   if (isinf(n) || n == 0.0)
                           return (n);
                   feholdexcept(&env);
                   while (fabs((x * x) - n) > DBL_EPSILON * 2 * x)
                           x = (x / 2) + (n / (2 * x));
                   if (x * x == n)
                           feclearexcept(FE_INEXACT);
                   feupdateenv(&env);
                   return (x);
           }

関連項目
     cc(1), feclearexcept(3), fedisableexcept(3), feenableexcept(3),
     fegetenv(3), fegetexcept(3), fegetexceptflag(3), fegetround(3),
     feholdexcept(3), feraiseexcept(3), fesetenv(3), fesetexceptflag(3),
     fesetround(3), fetestexcept(3), feupdateenv(3), fpgetprec(3),
     fpsetprec(3)

規格
     以下の注意事項を除いて、<fenv.h> ISO/IEC 9899:1999 (``ISO C99'') に適合し
     ています。feenableexcept(), fedisableexcept() と fegetexcept() ルーチン
     は、拡張されています。

歴史
     <fenv.h> ヘッダは、FreeBSD 5.3 ではじめて登場しました。それは、<ieeefp.h>
     で定義され、fpgetround(3) で文書化された標準的でないルーチンにとって代わ
     ります。

警告
     FENV_ACCESS pragma は
           #pragma STDC FENV_ACCESS ON
     で有効にでき、
           #pragma STDC FENV_ACCESS OFF
     指示で無効にすることができます。この語句解析の範囲の注釈は、プログラムが
     浮動小数点の環境にアクセスするかもしれないとコンパイラに伝えるので、厳し
     い IEEE-754 セマンティクスに違反する最適化は無効にされます。実行が
     FENV_ACCESS がオフであるコードのブロックに到達するなら、浮動小数点の環境
     は未定義になります。

バグ
     FENV_ACCESS pragma は、システムコンパイラで実装されていません。しかしなが
     ら、一般的に、定数でない式は、低い最適化レベルで正しい副作用を発生させま
     す。

FreeBSD 11.4                    March 16, 2005                    FreeBSD 11.4

Table of Contents

FreeBSD マニュアル検索