ライブラリ
- ビルトイン (190)
- bigdecimal (99)
- openssl (11)
- prime (110)
- set (22)
クラス
- BigDecimal (99)
- Bignum (12)
- Complex (11)
- Fixnum (12)
- Float (11)
- Integer (67)
- Numeric (66)
-
OpenSSL
:: BN (11) - Prime (44)
-
Prime
:: TrialDivisionGenerator (33) - Rational (11)
- Set (22)
キーワード
- % (11)
-
/ (27) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
EXCEPTION
_ ZERODIVIDE (11) - Numeric (11)
- TrialDivisionGenerator (11)
- ZeroDivisionError (11)
- bigdecimal (11)
- ceildiv (2)
- divide (22)
- divmod (50)
- fdiv (50)
-
from
_ prime _ division (11) -
int
_ from _ prime _ division (22) - limit (11)
- mathn (4)
- mode (22)
- modulo (11)
- next (11)
-
prime
_ division (33) -
prime
_ fasttest? (11) - quo (22)
- rewind (11)
- succ (11)
検索結果
先頭5件
-
Prime
:: TrialDivisionGenerator # succ -> Integer (3000.0) -
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
次の(擬似)素数を返します。なお、この実装においては擬似素数は真に素数です。
また内部的な列挙位置を進めます。 -
OpenSSL
:: BN # prime _ fasttest?(checks=nil , vtrivdiv=true) -> bool (100.0) -
自身が素数であるなら true を返します。
...自身が素数であるなら true を返します。
vtrivdiv が真である場合には、 Miller-Rabin 法での
判定の前に小さな素数で割ることで素数か否かを
調べます。自身が小さな素数である場合にはこの手順
により素数ではないと誤った......true) # => false
OpenSSL::BN.new("181").prime_fasttest?(nil, false) # => true
//}
@param checks Miller-Robin法の繰り返しの回数
@param vtrivdiv 真なら小さな素数で割ることでの素数判定を試みます
@raise OpenSSL::BNError 判定時にエラーが発生
@see OpenSSL::BN#pr... -
bigdecimal (36.0)
-
bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。
...インスタンスメソッドを使用します。
: add, sub, mult, div
これらのメソッドは先頭 (最左) の数字からの桁数を指定できます。
//emlist[][ruby]{
require "bigdecimal"
p BigDecimal("2").div(3, 12).to_s(10) # 2.0 / 3.0
# => 0.6666666666 67e0
//}
: truncate,......}
==== 自分で精度をコントロールしたい場合
自分で精度(有効桁数)をコントロールしたい場合は add、sub、mult、div 等のメソッドが使用できます。
以下の円周率を計算するプログラム例のように、求める桁数は自分で指定す......exp)
t = t * m25
u = t.div(k,sig)
pi = pi + u
k = k + two
end
u = BigDecimal("1")
k = BigDecimal("1")
w = BigDecimal("1")
t = BigDecimal("956")
while (u.nonzero? && u.exponent >= exp )
t = t.div(m57121,sig)
u = t.div(k,sig)
pi = pi + u
k =... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (18.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...((<NilClass#to_f|NilClass/to_f>)) [new]
追加
=== Numeric
: ((<Numeric#div|Numeric/div>)) [new]
: ((<Numeric#quo|Numeric/quo>)) [new]
追加 ((<ruby-dev:19423>))
((<ruby-dev:20962>))
* div - 整除(divmodの第一要素)
* / - その数型でもっとも自然な商......(異論はあるだろうけど)
* quo - もっとも正確に近い商
* divmod - 整除と剰余
=== NoMethodError
: ((<NoMethodError#args|NoMethodError/args>)) [new]
追加
=== Object
: ((<Object#initialize_copy|Object/initialize_copy>)) [change]
追加
この... -
Numeric
# quo(other) -> Rational | Float | Complex (16.0) -
self を other で割った商を返します。 整商を得たい場合は Numeric#div を使ってください。
...self を other で割った商を返します。
整商を得たい場合は Numeric#div を使ってください。
Numeric#fdiv が結果を Float で返すメソッドなのに対して quo はなるべく正確な数値を返すことを意図しています。
具体的には有理数の範......am other 自身を割る数を指定します。
//emlist[例][ruby]{
1.quo(3) #=> (1/3)
1.0.quo(3) #=> 0.3333333333333333
1.quo(3.0) #=> 0.3333333333333333
1.quo(0.5) #=> 2.0
Complex(1, 1).quo(1) #=> ((1/1)+(1/1)*i)
1.quo(Complex(1, 1)) #=> ((1/2)-(1/2)*i)
//}
@see Numeric#fdiv... -
mathn (12.0)
-
Rational と Complex をよりシームレスに利用できるようにするライブラリです。数値ライブラリの挙動をグローバルに変更します。
...、整数/整数の結果、
割り切れない時は Rational が返るようになります。後者は、整数のメソッド「/」が整商(.div)でなく、商(.quo)を返すようになる、ということを意味します。
例:
1/2 #=> 0
2 * Rational(1,2) #=> Ration......可能性を留意して書いて下されば親切だと思います。
整数同士で整除を意図するならば / メソッド ではなく div メソッド を用いると良いでしょう。
* 1174
=== Prime
クラス Prime はRuby 1.8までは mathn で定義されていました。... -
BigDecimal
. limit(n = nil) -> Integer (6.0) -
生成されるBigDecimalオブジェクトの最大桁数をn桁に制限します。 n を指定しない、または n が nil の場合は、現状の最大桁数が返ります。
...ッド (BigDecimal#truncate /
BigDecimal#round / BigDecimal#ceil / BigDecimal#floor /
BigDecimal#add/ BigDecimal#sub / BigDecimal#mult /
BigDecimal#div) の桁数制限は limit より優先されます。
//emlist[][ruby]{
require 'bigdecimal'
n = 0 # デフォルト値
mf = BigDecimal::limit(n)
/... -
BigDecimal
. mode(s) -> Integer | nil (6.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...:mode(BigDecimal::EXCEPTION_UNDERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_OVERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ZERODIVIDE,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ALL,flag)
//}
* BigDecimal::EXCEPTION_NaN は結果が NaN になったときの指定です......指定です。
* BigDecimal::EXCEPTION_OVERFLOW は指数部がオーバーフローするときの指定です。
* BigDecimal::EXCEPTION_ZERODIVIDE はゼロによる割り算を実行したときの指定です。
* BigDecimal::EXCEPTION_ALL は、可能な全てに対して一括して設......TION_OVERFLOW のとき、+Infinity か -Infinity
* BigDecimal::EXCEPTION_ZERODIVIDE のとき、+Infinity か -Infinity
BigDecimal::EXCEPTION_INFINITY、BigDecimal::EXCEPTION_OVERFLOW、
BigDecimal::EXCEPTION_ZERODIVIDE は今のところ同じです。
戻り値は、設定後の値です。「... -
BigDecimal
. mode(s , v) -> Integer | nil (6.0) -
BigDecimal の計算処理の制御方法を設定、確認します。
...:mode(BigDecimal::EXCEPTION_UNDERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_OVERFLOW,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ZERODIVIDE,flag)
f = BigDecimal::mode(BigDecimal::EXCEPTION_ALL,flag)
//}
* BigDecimal::EXCEPTION_NaN は結果が NaN になったときの指定です......指定です。
* BigDecimal::EXCEPTION_OVERFLOW は指数部がオーバーフローするときの指定です。
* BigDecimal::EXCEPTION_ZERODIVIDE はゼロによる割り算を実行したときの指定です。
* BigDecimal::EXCEPTION_ALL は、可能な全てに対して一括して設......TION_OVERFLOW のとき、+Infinity か -Infinity
* BigDecimal::EXCEPTION_ZERODIVIDE のとき、+Infinity か -Infinity
BigDecimal::EXCEPTION_INFINITY、BigDecimal::EXCEPTION_OVERFLOW、
BigDecimal::EXCEPTION_ZERODIVIDE は今のところ同じです。
戻り値は、設定後の値です。「... -
Integer
# / (other) -> Numeric (6.0) -
除算の算術演算子。
...側の引数(対象)
@return 計算結果
//emlist[例][ruby]{
7 / 2 # => 3
7 / -2 # => -4
7 / 2.0 # => 3.5
7 / Rational(2, 1) # => (7/2)
7 / Complex(2, 0) # => ((7/2)+0i)
begin
2 / 0
rescue => e
e # => #<ZeroDivisionError: divided by 0>
end
//}
@see Integer#div, Integer#fdiv, Numeric#quo... -
Numeric (6.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...denominator | o o - - o o o
div | o - o o - - -
divmod | o - o o o - -......o - o
even? | - o o o - - -
fdiv | o - o o o o o
finite? | - - - -......o o
digits | - o - - -
div | o o - - -
divmod | o o o - -
downto | -......o - o - o
even? | - o - - -
fdiv | o o o o o
finite? | o - o - o...