クラス
- Integer (5)
-
OpenSSL
:: BN (4) -
OpenSSL
:: PKey :: EC (1) - Prime (11)
-
Prime
:: EratosthenesGenerator (3) -
Prime
:: Generator23 (3) -
Prime
:: PseudoPrimeGenerator (14) -
Prime
:: TrialDivisionGenerator (3)
モジュール
- Enumerable (2)
- Kernel (1)
キーワード
- EratosthenesGenerator (1)
- Generator23 (1)
- PseudoPrimeGenerator (1)
- Random (1)
- TrialDivisionGenerator (1)
-
builtin
_ curves (1) - each (6)
-
each
_ prime (2) -
each
_ with _ index (2) - entries (1)
-
from
_ prime _ division (1) -
generate
_ prime (1) - instance (1)
-
int
_ from _ prime _ division (2) - mathn (1)
- new (1)
- next (4)
- prime (1)
- prime? (5)
-
prime
_ division (3) -
prime
_ fasttest? (1) - require (1)
- rewind (4)
- succ (4)
-
to
_ a (1) -
upper
_ bound (1) -
upper
_ bound= (1) -
with
_ index (2) -
with
_ object (2)
検索結果
先頭5件
- Prime
- Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] - Prime
. prime?(value , generator = Prime :: Generator23 . new) -> bool - Prime
. prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] - Prime
# prime?(value , generator = Prime :: Generator23 . new) -> bool
-
Prime (114145.0)
-
素数全体を表します。
素数全体を表します。
=== インスタンスを取得する方法
Prime クラスはシングルトンであると考えてください。Prime クラスはデフォルトのインスタンスを持っており、ユーザーはそのインスタンスを利用すべきです。 Prime.instance によってそのインスタンスを取得できます。
なお、利便性のためにデフォルトインスタンスのメソッドをクラスメソッドとしても利用できます。
//emlist[例][ruby]{
require 'prime'
Prime.instance.prime?(2) #=> true
Prime.prime?(2) #=> true
... -
Prime
# prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (81787.0) -
与えられた整数を素因数分解します。
与えられた整数を素因数分解します。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は value の素因数、第2要素は n**e が value を割り切る最大の自然数 e です。
@raise ZeroDivisionError 与えられた数値がゼロである場合に発生します。
//emlist[例][ruby]{
require 'p... -
Prime
. prime?(value , generator = Prime :: Generator23 . new) -> bool (81739.0) -
Prime.instance.prime? と同じです。
Prime.instance.prime? と同じです。
@param value 素数かどうかチェックする任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素数かどうかを返します。
引数 value に負の数を指定した場合は常に false を返します。
@see Prime#prime? -
Prime
. prime _ division(value , generator= Prime :: Generator23 . new) -> [[Integer , Integer]] (81739.0) -
Prime.instance.prime_division と同じです。
Prime.instance.prime_division と同じです。
@param value 素因数分解する任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は value の素因数、第2要素は n**e が value を割り切る最大の自然数 e です。
@raise ZeroDivisionError 与えられた数値がゼロである場合に発生します。
@see Prime... -
Prime
# prime?(value , generator = Prime :: Generator23 . new) -> bool (81697.0) -
与えられた整数が素数である場合は、真を返します。 そうでない場合は偽を返します。
与えられた整数が素数である場合は、真を返します。
そうでない場合は偽を返します。
@param value 素数かどうかチェックする任意の整数を指定します。
@param generator 素数生成器のインスタンスを指定します。
@return 素数かどうかを返します。
引数 value に負の数を指定した場合は常に false を返します。
@see Prime.prime?, Prime::EratosthenesGenerator, Prime::TrialDivisionGenerator, Prime::Generator23 -
Prime
. int _ from _ prime _ division(pd) -> Integer (81436.0) -
Prime.instance.int_from_prime_division と同じです。
Prime.instance.int_from_prime_division と同じです。
@param pd 整数のペアの配列を指定します。含まれているペアの第一要素は素因数を、
第二要素はその素因数の指数をあらわします。
@see Prime#int_from_prime_division -
Prime
# int _ from _ prime _ division(pd) -> Integer (81430.0) -
素因数分解された結果を元の数値に戻します。
素因数分解された結果を元の数値に戻します。
引数が [[p_1, e_1], [p_2, e_2], ...., [p_n, e_n]] のようであるとき、
結果は p_1**e_1 * p_2**e_2 * .... * p_n**e_n となります。
@param pd 整数のペアの配列を指定します。含まれているペアの第一要素は素因数を、
第二要素はその素因数の指数をあらわします。
//emlist[例][ruby]{
require 'prime'
Prime.int_from_prime_division([[2,2], [3,1]]) #=> 12
P... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object (63700.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
Prime
# each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator (63400.0) -
全ての素数を順番に与えられたブロックに渡して評価します。
全ての素数を順番に与えられたブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
//emlist[例][ruby]{
require 'prime'
Prime.each(6){|prime| ... -
Prime
. each(upper _ bound = nil , generator = EratosthenesGenerator . new) {|prime| . . . } -> object (63370.0) -
Prime.instance.each と同じです。
Prime.instance.each と同じです。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
@see Prime#each -
Prime
. instance -> Prime (63352.0) -
Prime のデフォルトのインスタンスを返します。
Prime のデフォルトのインスタンスを返します。 -
Prime
. each(upper _ bound = nil , generator = EratosthenesGenerator . new) -> Enumerator (63070.0) -
Prime.instance.each と同じです。
Prime.instance.each と同じです。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@param generator 素数生成器のインスタンスを指定します。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
@see Prime#each -
Prime
:: PseudoPrimeGenerator (27055.0) -
擬似素数列の列挙子のための抽象クラスです。
擬似素数列の列挙子のための抽象クラスです。
Prime の各メソッドが使用する低水準の擬似素数列挙子は、 Prime::PseudoPrimeGenerator のインスタンスであることが期待されています。
このクラスを継承する具象クラスは succ, next, rewind をオーバーライドしなければなりません。
独自の素数列挙アルゴリズムを実装しようとする場合を除いて、ユーザーがこのクラスを利用する必要はありません。高水準の Prime クラスを利用してください。 -
Integer
# prime _ division(generator = Prime :: Generator23 . new) -> [[Integer , Integer]] (18697.0) -
自身を素因数分解した結果を返します。
自身を素因数分解した結果を返します。
@param generator 素数生成器のインスタンスを指定します。
@return 素因数とその指数から成るペアを要素とする配列です。つまり、戻り値の各要素は2要素の配列 [n,e] であり、それぞれの内部配列の第1要素 n は self の素因数、第2要素は n**e が self を割り切る最大の自然数 e です。
@raise ZeroDivisionError self がゼロである場合に発生します。
@see Prime#prime_division
//emlist[例][ruby]{
require 'prime'
12.p... -
Integer
. each _ prime(upper _ bound) {|prime| . . . } -> object (18628.0) -
全ての素数を列挙し、それぞれの素数をブロックに渡して評価します。
全ての素数を列挙し、それぞれの素数をブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
@see Prime#each -
Prime
:: PseudoPrimeGenerator . new(upper _ bound = nil) -> Prime :: PseudoPrimeGenerator (18604.0) -
自身を初期化します。
自身を初期化します。
@param upper_bound 列挙する素数の上界を指定します。 -
Integer
. from _ prime _ division(pd) -> Integer (18430.0) -
素因数分解された結果を元の数値に戻します。
素因数分解された結果を元の数値に戻します。
@param pd 整数のペアの配列を指定します。含まれているペアの第一要素は素因数を、
第二要素はその素因数の指数をあらわします。
@see Prime#int_from_prime_division
//emlist[例][ruby]{
require 'prime'
Prime.int_from_prime_division([[2,2], [3,1]]) #=> 12
Prime.int_from_prime_division([[2,2], [3,2]]) #=> 36
//} -
Integer
# prime? -> bool (18394.0) -
自身が素数である場合、真を返します。 そうでない場合は偽を返します。
自身が素数である場合、真を返します。
そうでない場合は偽を返します。
//emlist[例][ruby]{
require 'prime'
1.prime? # => false
2.prime? # => true
//}
@see Prime#prime? -
Prime
:: PseudoPrimeGenerator # each _ with _ index {|prime , index| . . . } -> self (18379.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Prime
:: PseudoPrimeGenerator # with _ index {|prime , index| . . . } -> self (18379.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (18358.0) -
自身が素数であるなら true を返します。
自身が素数であるなら true を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った返り値を返します。
Miller-Rabin 法により確率的に判定します。
checksで指定した回数だけ繰り返します。
checksがnilである場合は OpenSSL が適切な
回数を判断します。
//emlist[][ruby]{
require 'openssl'
# 181 は 「小さな素数」である
OpenSSL::BN.new("18... -
Integer
. each _ prime(upper _ bound) -> Enumerator (18328.0) -
全ての素数を列挙し、それぞれの素数をブロックに渡して評価します。
全ての素数を列挙し、それぞれの素数をブロックに渡して評価します。
@param upper_bound 任意の正の整数を指定します。列挙の上界です。
nil が与えられた場合は無限に列挙し続けます。
@return ブロックの最後に評価された値を返します。
ブロックが与えられなかった場合は、Enumerator と互換性のある外部イテレータを返します。
@see Prime#each -
OpenSSL
:: BN # prime? -> bool (18325.0) -
自身が素数であるなら true を返します。
自身が素数であるなら true を返します。
Miller-Rabin 法により確率的に判定します。
checkで指定した回数だけ繰り返します。
引数を省略した場合は OpenSSL が適切な
回数を判断します。
@param check Miller-Robin 法の繰り返しの回数
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime_fasttest? -
OpenSSL
:: BN # prime?(checks) -> bool (18325.0) -
自身が素数であるなら true を返します。
自身が素数であるなら true を返します。
Miller-Rabin 法により確率的に判定します。
checkで指定した回数だけ繰り返します。
引数を省略した場合は OpenSSL が適切な
回数を判断します。
@param check Miller-Robin 法の繰り返しの回数
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#prime_fasttest? -
OpenSSL
:: BN . generate _ prime(bits , safe=true , add=nil , rem=nil) -> OpenSSL :: BN (18304.0) -
ランダム(擬似乱数的)な bits ビットの素数を返します。
ランダム(擬似乱数的)な bits ビットの素数を返します。
暗号的に意味のある素数は十分大きくないといけないので、
bits が小さすぎる場合は期待する結果を返しません。
safe が真であれば、「安全な」素数((p-1)/2が素数である素数p)を
返します。
add に整数を渡すと、 p % add == rem であるような
素数pのみを返します。rem が nil の場合は rem=1と見なします。
@param bits 生成するランダム素数のビット数
@param safe true で安全な素数のみを生成する
@param add 生成する素数の剰余の条件
@param ... -
Prime
:: PseudoPrimeGenerator # each {|prime| . . . } -> object (18304.0) -
素数を与えられたブロックに渡して評価します。
素数を与えられたブロックに渡して評価します。 -
Prime
:: PseudoPrimeGenerator # with _ object(obj) {|prime , obj| . . . } -> object (18304.0) -
与えられた任意のオブジェクトと要素をブロックに渡して評価します。
与えられた任意のオブジェクトと要素をブロックに渡して評価します。
@param obj 任意のオブジェクトを指定します。
@return 最初に与えられたオブジェクトを返します。
@return ブロックを与えられた場合は obj を返します。ブロックを与えられなかった場合は Enumerator を返します。
@see Enumerator#with_object -
prime (18253.0)
-
素数や素因数分解を扱うライブラリです。
素数や素因数分解を扱うライブラリです。
ライブラリの中心にあるのは Prime クラスで、これは素数全体を表すシングルトンです。また、素数性と素因数分解に関するメソッドを Integer に追加します。
さらに、 Prime クラスの機能を実現するための低水準のクラスも幾つか提供されています。
//emlist[例][ruby]{
require 'prime'
Prime.each(100) do |prime|
p prime #=> 2, 3, 5, 7, 11, ..., 97
end
2.prime? #=> true
4.prime? #=> false
//}
==... -
Prime
:: PseudoPrimeGenerator # each _ with _ index -> Enumerator (18079.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Prime
:: PseudoPrimeGenerator # with _ index -> Enumerator (18079.0) -
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
与えられたブロックに対して、素数を0起点の連番を渡して評価します。
@return ブロックを与えられた場合は self を返します。 ブロックを与えられなかった場合は Enumerator を返します。
//emlist[例][ruby]{
require 'prime'
Prime::EratosthenesGenerator.new(10).each_with_index do |prime, index|
p [prime, index]
end
# [2, 0]
# [3, 1]
# [5, 2]
# [7, 3]
//}
@see Enumerator#with_ind... -
Prime
:: PseudoPrimeGenerator # each -> self (18004.0) -
素数を与えられたブロックに渡して評価します。
素数を与えられたブロックに渡して評価します。 -
Prime
:: PseudoPrimeGenerator # with _ object(obj) -> Enumerator (18004.0) -
与えられた任意のオブジェクトと要素をブロックに渡して評価します。
与えられた任意のオブジェクトと要素をブロックに渡して評価します。
@param obj 任意のオブジェクトを指定します。
@return 最初に与えられたオブジェクトを返します。
@return ブロックを与えられた場合は obj を返します。ブロックを与えられなかった場合は Enumerator を返します。
@see Enumerator#with_object -
Prime
:: PseudoPrimeGenerator # next -> () (18001.0) -
次の擬似素数を返します。 また内部的な位置を進めます。
次の擬似素数を返します。
また内部的な位置を進めます。
サブクラスで実装してください。
@raise NotImplementedError 必ず発生します。 -
Prime
:: PseudoPrimeGenerator # rewind -> () (18001.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。
サブクラスで実装してください。
@raise NotImplementedError 必ず発生します。
@see Enumerator#rewind -
Prime
:: PseudoPrimeGenerator # succ -> () (18001.0) -
次の擬似素数を返します。 また内部的な位置を進めます。
次の擬似素数を返します。
また内部的な位置を進めます。
サブクラスで実装してください。
@raise NotImplementedError 必ず発生します。 -
Prime
:: PseudoPrimeGenerator # upper _ bound -> Integer | nil (18001.0) -
現在の列挙上界を返します。 nil は上界がなく無限に素数を列挙すべきであることを意味します。
現在の列挙上界を返します。 nil は上界がなく無限に素数を列挙すべきであることを意味します。 -
Prime
:: PseudoPrimeGenerator # upper _ bound=(upper _ bound) (18001.0) -
新しい列挙上界をセットします。
新しい列挙上界をセットします。
@param upper_bound 新しい上界を整数または nil で指定します。 nil は上界がなく無限に素数を列挙すべきであることを意味します。 -
Prime
:: EratosthenesGenerator (9049.0) -
Prime::PseudoPrimeGenerator の具象クラスです。 素数の生成にエラトステネスのふるいを使用しています。
Prime::PseudoPrimeGenerator の具象クラスです。
素数の生成にエラトステネスのふるいを使用しています。 -
Prime
:: TrialDivisionGenerator (9049.0) -
Prime::PseudoPrimeGenerator の具象クラスです。 素数の生成に試行除算法を使用しています。
Prime::PseudoPrimeGenerator の具象クラスです。
素数の生成に試行除算法を使用しています。 -
Prime
:: EratosthenesGenerator # next -> Integer (9037.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。
//emlist[例][ruby]{
require 'prime'
generator = Prime::EratosthenesGenerator.new
p generator.next #=> 2
p generator.next #=> 3
p generator.succ #=> 5
p generator.succ #=> 7
p generator.next #=> 11
//} -
Prime
:: EratosthenesGenerator # rewind -> nil (9037.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。
//emlist[例][ruby]{
require 'prime'
generator = Prime::EratosthenesGenerator.new
p generator.next #=> 2
p generator.next #=> 3
p generator.next #=> 5
generator.rewind
p generator.next #=> 2
//} -
Prime
:: EratosthenesGenerator # succ -> Integer (9037.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。
//emlist[例][ruby]{
require 'prime'
generator = Prime::EratosthenesGenerator.new
p generator.next #=> 2
p generator.next #=> 3
p generator.succ #=> 5
p generator.succ #=> 7
p generator.next #=> 11
//} -
Prime
:: Generator23 (9019.0) -
2と3と、3 より大きくて 2 でも 3 でも割り切れない全ての整数を生成します。
2と3と、3 より大きくて 2 でも 3 でも割り切れない全ての整数を生成します。
ある整数の素数性を擬似素数による試し割りでチェックする場合、このように低精度だが高速でメモリを消費しない擬似素数生成器が適しています。
一方、 Prime#each のように素数列を生成する目的にはまったく役に立ちません。 -
Prime
:: Generator23 # next -> Integer (9001.0) -
次の擬似素数を返します。
次の擬似素数を返します。
また内部的な列挙位置を進めます。 -
Prime
:: Generator23 # rewind -> nil (9001.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。 -
Prime
:: Generator23 # succ -> Integer (9001.0) -
次の擬似素数を返します。
次の擬似素数を返します。
また内部的な列挙位置を進めます。 -
Prime
:: TrialDivisionGenerator # next -> Integer (9001.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
Prime
:: TrialDivisionGenerator # rewind -> nil (9001.0) -
列挙状態を巻き戻します。
列挙状態を巻き戻します。 -
Prime
:: TrialDivisionGenerator # succ -> Integer (9001.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
Kernel
. # require(feature) -> bool (73.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
OpenSSL
:: PKey :: EC . builtin _ curves -> [[String , String]] (73.0) -
組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
組み込みの曲線の名前と、それに対する説明を文字列の配列ペアの配列で返します。
例:
require 'openssl'
OpenSSL::PKey::EC.builtin_curves
# => [["secp112r1", "SECG/WTLS curve over a 112 bit prime field"],
# ["secp112r2", "SECG curve over a 112 bit prime field"],
# ["secp128r1", "SECG curve over a 128 bit prime field"],
... -
mathn (73.0)
-
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
なお、このライブラリはRuby 2.2から非推奨(deprecated)になり、Ruby 2.5で削除されました。
引き続き利用するには mathn gem をインストールしてください。
* 整数の除算が割り切れない場合、 Rational オブジェクトを返すようになります。
* 複素数や有理数の演算結果が実数や整数に収まる場合、 Float オブジェクトや Integer オブジェクトを返します。
* Math モジュールの数学関数の定義域と終... -
Enumerable
# entries(*args) -> [object] (37.0) -
全ての要素を含む配列を返します。
全ての要素を含む配列を返します。
@param args each の呼び出し時に引数として渡されます。
//emlist[例][ruby]{
(1..7).to_a #=> [1, 2, 3, 4, 5, 6, 7]
{ 'a'=>1, 'b'=>2, 'c'=>3 }.to_a #=> [["a", 1], ["b", 2], ["c", 3]]
require 'prime'
Prime.entries 10 #=> [2, 3, 5, 7]
//} -
Enumerable
# to _ a(*args) -> [object] (37.0) -
全ての要素を含む配列を返します。
全ての要素を含む配列を返します。
@param args each の呼び出し時に引数として渡されます。
//emlist[例][ruby]{
(1..7).to_a #=> [1, 2, 3, 4, 5, 6, 7]
{ 'a'=>1, 'b'=>2, 'c'=>3 }.to_a #=> [["a", 1], ["b", 2], ["c", 3]]
require 'prime'
Prime.entries 10 #=> [2, 3, 5, 7]
//} -
OpenSSL
:: Random (19.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵、秘密鍵の
ペアを計算します。鍵は他人に知られてはならないため、
その乱数は外部からの推論が不可能な良い性質を持っている必要があります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* Open...