names=prime_fasttest?
visibility=public
kind=defined

--- prime_fasttest?(checks=nil, vtrivdiv=true) -> bool
自身が素数であるなら真を返します。

vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った返り値を返します。

Miller-Rabin 法により確率的に判定します。
checksで指定した回数だけ繰り返します。
checksがnilである場合は OpenSSL が適切な
回数を判断します。

例:
  # 181 は 「小さな素数」である
  OpenSSL::BN.new("181").prime_fasttest?(nil, true) # => false
  OpenSSL::BN.new("181").prime_fasttest?(nil, false) # => true
  
@param checks Miller-Robin法の繰り返しの回数
@param vtrivdiv 真なら小さな素数で割ることでの素数判定を試みます
@raise OpenSSL::BNError 判定時にエラーが発生
@see [[m:OpenSSL::BN#prime?]]

