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.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)

6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:

日本語マニュアルについて (FreeBSD jpman プロジェクト)
jpman プロジェクトへの協力
FreeBSD 他各種 OS の英語マニュアル閲覧

Table of Contents
名称 | 書式 | 解説 | 作者 | 診断 | 関連項目 | 歴史 | バグ
RANDOM(3)              FreeBSD Library Functions Manual              RANDOM(3)

名称
     random, srandom, srandomdev, initstate, setstate - 優れた乱数ジェネレー
     タ、およびジェネレータを変更するルーチン

書式
     #include <stdlib.h>

     long
     random(void)

     void
     srandom(unsigned long seed)

     void
     srandomdev(void)

     char *
     initstate(unsigned long seed, char *state, long n)

     char *
     setstate(char *state)

解説
     random() 関数は、非線形加法フィードバック乱数ジェネレータを使用し、サイズ
     が 31 ロング整数のデフォルトテーブルを採用して、0 から (2**31)-1 までの範
     囲で連続した疑似乱数を戻します。この乱数ジェネレータの周期は非常に大き
     く、約 16*((2**31)-1) です。

     random() 関数と srandom() 関数の呼び出しシーケンスと初期化プロパティは、
     rand(3) 関数と srand(3) 関数のものと (だいたい) 同じです。しかし、
     rand(3) が作成するランダムシーケンスはかなり劣ります。rand が作成する下位
     10 ビットは、循環パターンになります。 random() が作成するビットはすべて使
     用できます。たとえば `random()&01' では、ランダムなバイナリ値が作成されま
     す。

     rand(3) と同じように、 random() は数値のシーケンスをデフォルトで作成しま
     す。このシーケンスは、種を `1' にして srandom() を呼び出すと複写できま
     す。

     srandomdev() ルーチンは、暗号化での使用に適した乱数を戻す urandom(4) 乱数
     デバイスを使用し、状態配列を初期化します。種を作成するこのプロシージャ
     は、どのような値で srandom() を呼び出しても再作成できない状態を作成するこ
     とに注意してください。状態バッファの後の条件は、固定種に適用される LC ア
     ルゴリズムで引き出せないからです。

     initstate() ルーチンでは、引数として渡された状態配列を後で使用するときの
     ために初期化できます。 initstate() は状態配列のサイズ (バイト単位) を使用
     し、乱数ジェネレータの複雑さを決めます。状態を大きくすると、乱数の質は上
     がります。(現在のところ、状態情報の量に「最適」な値は、8 バイト、32 バイ
     ト、64 バイト、128 バイト、256 バイトです。その他の値は、最も近い値に切り
     下げられます。8 バイトより小さい値を使用するとエラーとなります。) 初期化
     の種 (乱数シーケンスの開始点を指定し、同じ点から再開できる) も引数です。
     initstate() 関数は、以前の状態情報配列のポインタを戻します。

     状態を初期化したら、 setstate() ルーチンで状態を素早く切り替えられます。
     setstate() 関数は、以前の状態配列のポインタを戻します。引数である状態配列
     は、次に initstate() か setstate() を呼び出すまで、さらに乱数を作成する場
     合に使用されます。

     状態配列を初期化したら、 initstate() を (目的の種、状態配列、サイズで) 呼
     び出すか、状態配列を指定した setstate() と目的の種を指定した srandom() の
     両方を呼び出すことで、異なる点から再開できます。 setstate() と srandom()
     の両方を呼び出すと、状態配列のサイズを初期化した後で記憶する必要がないと
     いう長所が得られます。

     状態情報を 256 バイトにすると、乱数ジェネレータの周期は 2**69 より大きく
     なります。この周期では、ほとんどの目的に十分に対応できます。

作者
     Earl T. Cohen

診断
     状態情報を 8 バイトより小さくして initstate() を呼び出したり、状態情報が
     歪められたことを setstate() が検出したりすると、エラーメッセージが標準エ
     ラー出力に出力されます。

関連項目
     rand(3),  srand(3),  urandom(4)

歴史
     この関数は、 4.2BSD に追加されました。

バグ
     処理速度は、 rand(3) の約 2/3 です。

     古いシステムは種の作成が非常に弱く、ランダムシーケンスは種とあまり変わり
     ませんでした。現在のシステムは、より良い疑似乱数ジェネレータを初期状態の
     算出に採用しています。

4.2 Berkeley Distribution        June 4, 1993                                2

Table of Contents

FreeBSD マニュアル検索