ライブラリ
- ビルトイン (6)
- bigdecimal (5)
- openssl (1)
- prime (4)
クラス
- BigDecimal (5)
- Complex (1)
- Float (1)
- Numeric (3)
-
OpenSSL
:: BN (1) - Prime (1)
-
Prime
:: TrialDivisionGenerator (3) - Rational (1)
キーワード
-
/ (1) - divmod (2)
- fdiv (3)
- modulo (1)
- next (1)
-
prime
_ division (1) -
prime
_ fasttest? (1) - quo (2)
- rewind (1)
- succ (1)
検索結果
先頭5件
-
BigDecimal
# div(other , n) -> BigDecimal (63607.0) -
商を計算します。
商を計算します。
self / other を最大で n 桁まで計算します。計算結果の精度が n より大きい
ときは BigDecimal.mode で指定された方法で丸められます。
@param other self を割る数を指定します。
@param n 有効桁数を整数で指定します。省略するか 0 を指定した場合は
BigDecimal#/ と同じ値を返します。
@raise ArgumentError n に負の数を指定した場合に発生します。
@see BigDecimal#/ -
BigDecimal
# div(other) -> BigDecimal (54607.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# divmod(n) -> [BigDecimal , BigDecimal] (27604.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。
商は負の無限大負方向に丸められます。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("42")
b = BigDecimal("9")
a.divmod(b) # => [0.4e1, 0.6e1]
//} -
Complex
# fdiv(other) -> Complex (27604.0) -
self を other で割った商を返します。 実部と虚部が共に Float の値になります。
self を other で割った商を返します。
実部と虚部が共に Float の値になります。
@param other 自身を割る数
//emlist[例][ruby]{
Complex(11, 22).fdiv(3) # => (3.6666666666666665+7.333333333333333i)
Complex(11, 22).quo(3) # => ((11/3)+(22/3)*i)
//}
@see Complex#quo -
Rational
# fdiv(other) -> Float (27604.0) -
self を other で割った商を Float で返します。 other に虚数を指定することは出来ません。
self を other で割った商を Float で返します。
other に虚数を指定することは出来ません。
@param other 自身を割る数
//emlist[例][ruby]{
Rational(2, 3).fdiv(1) # => 0.6666666666666666
Rational(2, 3).fdiv(0.5) # => 1.3333333333333333
Rational(2).fdiv(3) # => 0.6666666666666666
Rational(1).fdiv(Complex(1, 0)) # => 1.0
Rational(1)... -
Float
# divmod(other) -> [Numeric] (27322.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にして返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
self を other で割った商 q と余り r を、
[q, r] という 2 要素の配列にして返します。
商 q は常に整数ですが、余り r は整数であるとは限りません。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき: 0 <= r < other
* other < 0 のとき: other < r <= 0
* q は整数
をみたす数です。
このメソッドは、メソッド / と % によって定義されています。
@param other 自身を割る数を指定します。
//emli... -
Numeric
# fdiv(other) -> Float | Complex (18604.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.fdiv(3) #=> 0.3333333333333333
Complex(1, 1).fdiv 1 #=> (1.0+1.0i)
1.fdiv Complex(1, 1) #=> (0.5-0.5i)
//}
@see Num... -
Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (18604.0) -
与えられた整数を素因数分解します。
与えられた整数を素因数分解します。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は value の素因数、第2要素は n**e が value を割り切る最大の自然数 e です。
@raise ZeroDivisionError 与えられた数値がゼロである場合に発生します。
//emlist[例][ruby]{
require 'p... -
Prime
:: TrialDivisionGenerator # rewind -> nil (18304.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。 -
Prime
:: TrialDivisionGenerator # next -> Integer (18004.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
Prime
:: TrialDivisionGenerator # succ -> Integer (18004.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (9604.0) -
自身が素数であるなら true を返します。
自身が素数であるなら true を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った返り値を返します。
Miller-Rabin 法により確率的に判定します。
checksで指定した回数だけ繰り返します。
checksがnilである場合は OpenSSL が適切な
回数を判断します。
//emlist[][ruby]{
require 'openssl'
# 181 は 「小さな素数」である
OpenSSL::BN.new("18... -
Numeric
# modulo(other) -> Numeric (9322.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* other > 0 のとき 0 <= r < other
* other < 0 のとき other < r <= 0
* q は整数
をみたす数です。
余り r は、other と同じ符号になります。
商 q は、Numeric#div (あるいは 「/」)で求められます。
modulo はメソッド % の呼び出しとして定義されています。
@param other 自身を割る数を指定します。
//emlist[... -
BigDecimal
# / (other) -> BigDecimal (9307.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
BigDecimal
# quo(other) -> BigDecimal (9307.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
Numeric
# quo(other) -> Rational | Float | Complex (352.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)...