>From: masa / stars.gsfc.nasa.gov
>Subject: [ruby-math:00458] Re: Fw: [rubyist:0594] Numeric

> > どなたか、Numeric の modulo、remainder、divmod のドキュメン
> > トを直していただけませんか?
> 
> 以下のはどうでしょ。IntegerとFloatしか想定してませんが。

げげ。gsub("符合","符号")です。ついでにRDにしました。

: divmod(other)
    self を ((|other|)) で割った商(((|q|)))と余り(((|m|)))を,
    (({[((|q|)),((|m|))]}))という2要素の配列にして返します.
  
    ここで,((|x|)) を ((|y|)) で割った
    商 ((|q|)) と余り ((|m|)) というのは,それぞれ
       x = y * q + m  かつ  0 <= |m| < |y|
    をみたす ((*整数*)) ((|q|)) と 数 ((|m|)) のことです.

    ただし divmod では,上の条件に加えて,
    余りの符号を ((|other|)) と同じ(またはゼロ)にします.
    つまり ((|other|))>0 のとき 0 <= ((|m|)) < ((|other|)),
    ((|other|))<0 のとき ((|other|)) < ((|m|)) <= 0 となります.

: modulo(other)
    self を ((|other|)) で割った余り ((|m|)) を返します (divmod参照).
    ただし ((|m|)) の符号は ((|other|)) と同じ(またはゼロ)です.
    つまり ((|other|))>0 のとき  0 <= ((|m|)) < ((|other|)),
    ((|other|))<0 のとき ((|other|)) < ((|m|)) <= 0 となります.

: remainder(other)
    self を ((|other|)) で割った余り ((|r|)) を返します (divmod参照).
    ただし ((|r|)) の符号は self と同じ(またはゼロ)です.
    つまり self>0 のとき  0 <= ((|r|)) < |((|other|))|,
    self<0 のとき -|((|other|))| < ((|r|)) <= 0 となります.


田中昌宏