Residue.default_keys(keys, offset)
デフォルトの検索キーと対応する手続き一括して登録します。
keys 剰余類(Residue )検索キーの配列
offset 最初の検索キーに対する剰余
Residue.get(key [, n=1])
検索キーから、使用する Residue オブジェクトを選択して返します。
key 剰余類(Residue )検索キー
n n 番目にマッチした Residue オブジェクトを選択するように指示
Residue.mod(nn, &dd)
nn を dd で「割った」商(quot), 余り(rem)および除数(div)を返します。
余りは非負、商は Integer です。
nn 被除数
dd nn = rem + dd(quot)
div = dd(quot+1)-dd(quot)
となるように rem, div, quot を決めたい手続き
Residue.china(an, ad, bn, bd)
中国剰余(xn, xd)を返します。
ここでは、中国剰余を
xd で割って xn 余る ≡ (ad で割って an 余り) かつ (bd で割って bn 余る)
となるような組 (xn, xd) のこととします。
an, ad, bn, bd 整数
Residue.new(rem, div [, quot=0 [, *quality])
Residue オブジェクトを生成して返します。
name Residue オブジェクトの名前
rem 余り
div 除数(Numeric またはEphemeris )
quot 商
quality 性質定義ハッシュ
Residue#rem
Residue#div
Residue#quot
それぞれ、余り、除数、商を返します。
Residue#new_quot(q)
Residue オブジェクトを複製して、quotを設定し直します。
q 新しい商
Residue#>>(n)
Residue オブジェクトを複製して、quot を n だけ大きく設定し直します。
n quot に加える整数
Residue#<<(n)
Residue オブジェクトを複製して、quot を n だけ小さく設定し直します。
n quot から引く整数
Residue#*(other)
Residue オブジェクト self, other の両方の条件を同時に満たす
Residue オブジェクト(中国剰余)を返します。
self, other の商は無視されます。
other Residue オブジェクト
Residue#+(other)
other を基準にして「self.div で割って self.rem 余る値」を返します。
self.quot が 0 の場合、other を下回らない最小の値となり、
self.quot が n 増減すると、値は n * self.div だけ増減します。
other Numeric オブジェクトまたはDate オブジェクト
Residue#+@ (one operand operator '+')
self の複製を返します。
Residue#-@ (one operand operator '-')
self を複製して、quot を -1 - quot に設定し直します。
Residue#_qualify
Residue オブジェクトの性質定義を初期設定します。
@Title = Residue.get のキーとなる剰余類名
Numeric#moddiv(dd)
self を dd で割った余りおよび商を返します。
余りは非負、商は Integer です。
dd 除数
Float#to_r
最良近似分数を用いて Float を Rational に変換します。