Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::BNクラス > prime_fasttest?
prime_fasttest?(checks=nil, vtrivdiv=true) -> bool
[permalink][rdoc]自身が素数であるなら真を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での 判定の前に小さな素数で割ることで素数か否かを 調べます。自身が小さな素数である場合にはこの手順 により素数ではないと誤った返り値を返します。
Miller-Rabin 法により確率的に判定します。 checksで指定した回数だけ繰り返します。 checksがnilである場合は OpenSSL が適切な 回数を判断します。
例:
require 'openssl' # 181 は 「小さな素数」である OpenSSL::BN.new("181").prime_fasttest?(nil, true) # => false OpenSSL::BN.new("181").prime_fasttest?(nil, false) # => true
[SEE_ALSO] OpenSSL::BN#prime?