package {
public class Random {
/**
* @param inc included number
* @param exc excluded number
* @return random number between inc and exc
*/
public static function between(inc:Number, exc:Number):Number {
return Math.random() * (exc - inc) + inc;
}
/**
* @return -1 or 1.
*/
public static function sign():Number {
return (Math.random() < .5)? -1 : 1;
}
}
}
使い方は、こんな感じになる。
- aは10以上20未満の実数値。
var a:Number = Random.between(10,20); - aは1または-1。
var a:Number = Random.sign(); - aは10以上20未満または、-20より大きく-10以下の実数値。
var a:Number = Random.sign() * Random.between(10,20);
いずれの場合も、範囲内の数値が同確率で発生するところがポイント。次回は、正規乱数について。
0 件のコメント:
コメントを投稿