Skip to content

Commit

Permalink
Merge pull request #9 from rurema/update-generated-documents
Browse files Browse the repository at this point in the history
Update generated documents
  • Loading branch information
github-actions[bot] authored Jun 18, 2024
2 parents 868330b + a49ae60 commit 94fee26
Show file tree
Hide file tree
Showing 460 changed files with 1,638 additions and 1,101 deletions.
38 changes: 16 additions & 22 deletions db/db-3.0/class/-numeric
Original file line number Diff line number Diff line change
Expand Up @@ -207,40 +207,37 @@ end

===[a:division] 除法と商・剰余

Numeric には除法(除算;割り算;division)に関わるメソッドがいくつもありますが
Numeric には除法(除算;割り算;division)に関するメソッドがいくつもありますが
除法にはいくつか種類があるため、全貌が把握しづらくなっています。

この節では除法の種類を説明し、各メソッドがどの除法に基づいているのかが分かるようにします。

まず用語ですが、割られる数を被除数(dividend)、割る数を除数(divisor)、
まず用語についてですが、割られる数を被除数(dividend)、割る数を除数(divisor)、
割った結果を商(quotient)と言います。

除法は大きく分けて二つあります
除法は大きく2つに分類できます

そのうちの一つを、ここでは「普通の除法」と呼ぶことにします。

普通の除法は、被除数を x、除数を y、商を q としたとき、x == q×y となるよう定義された除法です。
7 割る 2 を 3.5 とする除法は普通の除法です。
普通の除法は、被除数を x、除数を y、商を q としたとき、x == q⋅y となるよう定義された除法です。
7 割る 2 を 3.5 とする除法は、普通の除法です。

普通の除法における商をここでは「普通の商」と呼ぶことにしましょう。

もう一つの除法は、商が必ず整数になるよう定義されるもので、これを「整除法」と言います。
7 割る 2 を 3 余り 1 とする除法は整除法です。

整除法における商をとくに「整商」と言います。
7 割る 2 を 3 余り 1 とする除法は、整除法です。

整除法では、被除数を x、除数を y、商を q としたとき、x と q×y が一致する(つまり割り切れる)とは限りません
整除法における商を特に「整商」と言います

その差 x − q×y を剰余(余り;remainder)と言います。
整除法では、被除数を x、除数を y、商を q としたとき、x と q⋅y が一致する(つまり割り切れる)とは限りません。
その差 x − q⋅y を剰余(余り;remainder)と言います。
整除法は商と剰余がセットで決まる除法なので「剰余付き除法」とも呼ばれます。

しばしば「整除法は整数の世界でしか成り立たない」と誤解されていますが、
2.5 m の紐から 0.75 m の紐が何本取れて何 m の半端が出るか、という問題を
考えれば、被除数・除数が整数でなくてもよいことが分かります
2.5 メートルの紐から 0.75 メートルの紐が何本取れて何メートルの半端が出るか、という問題を
考えれば、被除数や除数が整数でなくてもよいことが分かります

//emlist[例: Float の世界の整商と剰余][ruby]{
p 2.5.divmod(0.75) # => [3, 0.25]
# 2.5 m の紐から 0.75 m の紐が 3 本取れて 0.25 m 余る
# 2.5 メートルの紐から 0.75 メートルの紐が 3 本取れて 0.25 メートル余る
//}

ただし、複素数の世界では整商・剰余は考えないので、Complex に divmod など
Expand All @@ -265,7 +262,7 @@ fdiv では丸め誤差が生じうることに注意してください。

しかし、どの定義にも共通していることが二つあります。

それは、被除数を x、除数を y としたときの整商を q、剰余を r とすると、第一に
それは、被除数を x、除数を y としたときの整商を q、剰余を r とすると、第一に

x == y * q + r (ただし q は整数)

Expand All @@ -274,7 +271,7 @@ x == y * q + r (ただし q は整数)
ならないということです。

この二つを満たす整商・剰余の定義は何通りもありますが、
Ruby では、剰余に関して二通りの定義を採用し、
Ruby では、2通りの定義を採用し、剰余について
[[m:Numeric#modulo]] メソッドと [[m:Numeric#remainder]] メソッドとして
実装されています。

Expand Down Expand Up @@ -304,15 +301,12 @@ div と modulo の値を一度に配列で返すメソッドです。
となるように定められた剰余です。
定義からすぐ分かるとおり、剰余 r の符号は被除数 x の符号と一致します。

これに対応する整商を得るメソッドはありませんが
remainder に対応する整商を得るメソッドはありませんが
x.quo(y).truncate で得ることができます。

x と y がともに正のときと、ともに負のとき、modulo と remainder は
一致します。
x と y の符号が同じとき、modulo と remainder は一致します。

商を得るメソッドには [[m:Numeric#/]] もあります。
普通はメソッド呼び出しの形ではなく、二項演算子として用います。

これは被除数・除数のクラスによって挙動が異なります。例えば Integer 同士なら div と同じ、Integer や Rational と Float なら quo と同じ、といった具合です。

被除数のクラスの / メソッドの説明をご覧ください。
4 changes: 2 additions & 2 deletions db/db-3.0/doc/spec.def
Original file line number Diff line number Diff line change
Expand Up @@ -824,11 +824,11 @@ defined?(Foobar)

defined? 式

式が定義されていなければ、偽を返します。定義されていれば式の種別
式が定義されていなければ、nil を返します。定義されていれば式の種別
を表す文字列を返します。

定義されていないメソッド、undef されたメソッド、[[m:Module#remove_method]]
により削除されたメソッドのいずれに対しても defined? は偽を返します
により削除されたメソッドのいずれに対しても defined? は nil を返します

特別な用法として以下があります。

Expand Down
1 change: 1 addition & 0 deletions db/db-3.0/method/-numeric/=index
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#% Numeric#%
#+@ Numeric#+@
#-@ Numeric#-@
#/ Numeric#/
#<=> Numeric#<=>
#== Object#==
#=== Object#===
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.=25._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=%,modulo
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:771
source_location=refm/api/src/_builtin/Numeric:776

--- modulo(other) -> Numeric
--- %(other) -> Numeric
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.=2b=40._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=+@
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:489
source_location=refm/api/src/_builtin/Numeric:483

--- +@ -> self

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.=2d=40._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=-@
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:502
source_location=refm/api/src/_builtin/Numeric:496

--- -@ -> Numeric

Expand Down
15 changes: 15 additions & 0 deletions db/db-3.0/method/-numeric/i.=2f._builtin
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
names=/
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:507

--- /(other) -> Numeric

除算の演算子です。
self を other で割った商を返します。

Numeric では定義されておらず、サブクラスの実装によります。


@see [[m:Integer#/]], [[m:Float#/]], [[m:Rational#/]], [[m:Complex#/]]

2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.=3c=3d=3e._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=<=>
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1018
source_location=refm/api/src/_builtin/Numeric:1023

--- <=>(other) -> -1 | 0 | 1 | nil

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.abs._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=abs,magnitude
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:513
source_location=refm/api/src/_builtin/Numeric:518

--- abs -> Numeric
--- magnitude -> Numeric
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.abs2._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=abs2
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1052
source_location=refm/api/src/_builtin/Numeric:1057

--- abs2 -> Numeric

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.angle._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=angle,arg,phase
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1066
source_location=refm/api/src/_builtin/Numeric:1071

--- arg -> 0 | Math::PI
--- angle -> 0 | Math::PI
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.ceil._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=ceil
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:524
source_location=refm/api/src/_builtin/Numeric:529

--- ceil -> Integer

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.coerce._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=coerce
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:601
source_location=refm/api/src/_builtin/Numeric:606

--- coerce(other) -> [Numeric]

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.conj._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=conj,conjugate
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1081
source_location=refm/api/src/_builtin/Numeric:1086

--- conj -> Numeric
--- conjugate -> Numeric
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.denominator._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=denominator
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1099
source_location=refm/api/src/_builtin/Numeric:1104

--- denominator -> Integer

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.div._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=div
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:650
source_location=refm/api/src/_builtin/Numeric:655

--- div(other) -> Integer

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.divmod._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=divmod
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:675
source_location=refm/api/src/_builtin/Numeric:680

--- divmod(other) -> [Numeric]

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.eql=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=eql?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1034
source_location=refm/api/src/_builtin/Numeric:1039

--- eql?(other) -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.fdiv._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=fdiv
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:739
source_location=refm/api/src/_builtin/Numeric:744

--- fdiv(other) -> Float | Complex

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.finite=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=finite?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:880
source_location=refm/api/src/_builtin/Numeric:885

--- finite? -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.floor._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=floor
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:539
source_location=refm/api/src/_builtin/Numeric:544

--- floor(ndigits = 0) -> Integer

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.i._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=i
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1210
source_location=refm/api/src/_builtin/Numeric:1215

--- i -> Complex

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.imag._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=imag,imaginary
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1109
source_location=refm/api/src/_builtin/Numeric:1114

--- imag -> 0
--- imaginary -> 0
Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.infinite=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=infinite?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:894
source_location=refm/api/src/_builtin/Numeric:899

--- infinite? -> nil

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.integer=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=integer?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:757
source_location=refm/api/src/_builtin/Numeric:762

--- integer? -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.negative=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=negative?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:815
source_location=refm/api/src/_builtin/Numeric:820

--- negative? -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.nonzero=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=nonzero?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:857
source_location=refm/api/src/_builtin/Numeric:862

--- nonzero? -> self | nil

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.numerator._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=numerator
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1125
source_location=refm/api/src/_builtin/Numeric:1130

--- numerator -> Integer

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.polar._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=polar
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1135
source_location=refm/api/src/_builtin/Numeric:1140

--- polar -> [Numeric, Numeric]

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.positive=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=positive?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:803
source_location=refm/api/src/_builtin/Numeric:808

--- positive? -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.quo._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=quo
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:705
source_location=refm/api/src/_builtin/Numeric:710

--- quo(other) -> Rational | Float | Complex

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.real._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=real
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1151
source_location=refm/api/src/_builtin/Numeric:1156

--- real -> Numeric

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.real=3f._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=real?
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1166
source_location=refm/api/src/_builtin/Numeric:1171

--- real? -> bool

Expand Down
2 changes: 1 addition & 1 deletion db/db-3.0/method/-numeric/i.rect._builtin
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
names=rect,rectangular
visibility=public
kind=defined
source_location=refm/api/src/_builtin/Numeric:1181
source_location=refm/api/src/_builtin/Numeric:1186

--- rect -> [Numeric, Numeric]
--- rectangular -> [Numeric, Numeric]
Expand Down
Loading

0 comments on commit 94fee26

Please sign in to comment.