Rand.cms 乱数を発生させるCassavaマクロです。 +--------------------------------------------------------+ |計算に非常に時間がかかるので、実用レベルではありません。| |非力なマシンでは実行しないでください。 | +--------------------------------------------------------+ アルゴリズムはメルセンヌ・ツイスターを用いていますが、 移植が完全にはできないので、正しい乱数発生器にはなっていません。 http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/mt.html ・使い方 Rand.cmsをCassava\Macroフォルダにコピーしてください。 乱数を利用するコード中では、 Rand.begin(); Rand.next(); Rand.end(); の3種類の関数を利用します。 ・Rand.begin(); 乱数を使用する前に必ず1回呼び出してください。 時刻を元に乱数列の初期状態を計算します。 ・Rand.next(); Rand.begin();の実行後に呼び出すと、0以上2147483647以下の整数を返します。 この関数を繰り返し呼び出すことで毎回異なる値が返されます。 ・Rand.end(); 乱数の使用後に必ず1回呼び出してください。 ・注意点 乱数の状態を保存するために、テーブルの右側余白に値を書き込みます。 Rand.begin();を呼び出してからRand.end();を呼び出すまでは セル・行・列の追加・削除は行わないでください。 ・TIPS M 以上 N 未満の範囲の乱数値を得るには、 ((Rand.next() % (N-M)) + M) の形を使います。 ・著作権 このマクロは「C-program for MT19937: Integer version」を元にあすかぜが製作しました。 著作権はGPLに準拠するらしいです。