ライブラリ
- ビルトイン (10)
- bigdecimal (1)
- openssl (1)
- prime (2)
クラス
- BigDecimal (1)
- Bignum (3)
- Fixnum (3)
- Float (1)
- Numeric (3)
-
OpenSSL
:: BN (1) - Prime (1)
-
Prime
:: TrialDivisionGenerator (1)
キーワード
-
/ (2) - divmod (1)
- fdiv (3)
- modulo (1)
-
prime
_ division (1) -
prime
_ fasttest? (1) - quo (2)
- succ (1)
検索結果
先頭5件
-
Bignum
# div(other) -> Fixnum | Bignum | Float (55207.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# div(other) -> Fixnum | Bignum | Float (55207.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Float
# divmod(other) -> [Numeric] (27622.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
# modulo(other) -> Numeric (27622.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[... -
Bignum
# fdiv(other) -> Float | Complex (27604.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo -
Fixnum
# fdiv(other) -> Float | Complex (27604.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo -
Numeric
# fdiv(other) -> Float | Complex (27604.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
:: TrialDivisionGenerator # succ -> Integer (27304.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (18904.0) -
与えられた整数を素因数分解します。
与えられた整数を素因数分解します。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は value の素因数、第2要素は n**e が value を割り切る最大の自然数 e です。
@raise ZeroDivisionError 与えられた数値がゼロである場合に発生します。
//emlist[例][ruby]{
require 'p... -
Numeric
# quo(other) -> Rational | Float | Complex (18652.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範囲に収まる計算では Rational の値を返します。
Float や Complex が関わるときはそれらのクラスになります。
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3)... -
BigDecimal
# quo(other) -> BigDecimal (18607.0) -
商を計算します。
商を計算します。
@param other self を割る数を指定します。
詳細は Numeric#quo を参照して下さい。
計算結果の精度についてはlib:bigdecimal#precisionを参照してください。 -
Bignum
# / (other) -> Fixnum | Bignum | Float (9907.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Fixnum
# / (other) -> Fixnum | Bignum | Float (9907.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (9904.0) -
自身が素数であるなら true を返します。
自身が素数であるなら true を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った返り値を返します。
Miller-Rabin 法により確率的に判定します。
checksで指定した回数だけ繰り返します。
checksがnilである場合は OpenSSL が適切な
回数を判断します。
//emlist[][ruby]{
require 'openssl'
# 181 は 「小さな素数」である
OpenSSL::BN.new("18...