summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-13 14:44:25 +0000
committerzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-13 14:44:25 +0000
commit51c43dba6aa19c8998032f7a1ba730743dbaafed (patch)
tree29e49f9a185d4cf18ff852a29ea65d5bf4a2494e /ext
parent2b83a57fcb81e14252a0922ac2fa5d460f9b06ab (diff)
* ext/bigdecimal/*: improve documentation, nodoc samples with @mrkn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/bigdecimal/bigdecimal.c29
-rw-r--r--ext/bigdecimal/lib/bigdecimal/newton.rb3
-rw-r--r--ext/bigdecimal/sample/linear.rb1
-rw-r--r--ext/bigdecimal/sample/nlsolve.rb2
4 files changed, 28 insertions, 7 deletions
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 2a0aea8..95d74b9 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -890,17 +890,21 @@ BigDecimal_add(VALUE self, VALUE r)
}
/* call-seq:
- * sub(value, digits)
+ * value - digits -> bigdecimal
*
* Subtract the specified value.
*
* e.g.
- * c = a.sub(b,n)
* c = a - b
*
- * digits:: If specified and less than the number of significant digits of the
- * result, the result is rounded to that number of digits, according to
- * BigDecimal.mode.
+ * The precision of the result value depends on the type of +b+.
+ *
+ * If +b+ is a Float, the precision of the result is Float::DIG+1.
+ *
+ * If +b+ is a BigDecimal, the precision of the result is +b+'s precision of
+ * internal representation from platform. So, it's return value is platform
+ * dependent.
+ *
*/
static VALUE
BigDecimal_sub(VALUE self, VALUE r)
@@ -1516,6 +1520,19 @@ BigDecimal_add2(VALUE self, VALUE b, VALUE n)
}
}
+/*
+ * sub(value, digits) -> bigdecimal
+ *
+ * Subtract the specified value.
+ *
+ * e.g.
+ * c = a.sub(b,n)
+ *
+ * digits:: If specified and less than the number of significant digits of the
+ * result, the result is rounded to that number of digits, according to
+ * BigDecimal.mode.
+ *
+ */
static VALUE
BigDecimal_sub2(VALUE self, VALUE b, VALUE n)
{
@@ -1533,6 +1550,7 @@ BigDecimal_sub2(VALUE self, VALUE b, VALUE n)
}
}
+
static VALUE
BigDecimal_mult2(VALUE self, VALUE b, VALUE n)
{
@@ -2492,6 +2510,7 @@ BigDecimal_new(int argc, VALUE *argv)
return VpAlloc(mf, RSTRING_PTR(iniValue));
}
+/* See also BigDecimal::new */
static VALUE
BigDecimal_global_new(int argc, VALUE *argv, VALUE self)
{
diff --git a/ext/bigdecimal/lib/bigdecimal/newton.rb b/ext/bigdecimal/lib/bigdecimal/newton.rb
index 1110652..db1a5ad 100644
--- a/ext/bigdecimal/lib/bigdecimal/newton.rb
+++ b/ext/bigdecimal/lib/bigdecimal/newton.rb
@@ -30,7 +30,7 @@ module Newton
include Jacobian
module_function
- def norm(fv,zero=0.0)
+ def norm(fv,zero=0.0) # :nodoc:
s = zero
n = fv.size
for i in 0...n do
@@ -39,6 +39,7 @@ module Newton
s
end
+ # See also Newton
def nlsolve(f,x)
nRetry = 0
n = x.size
diff --git a/ext/bigdecimal/sample/linear.rb b/ext/bigdecimal/sample/linear.rb
index 88a62ff..93d558b 100644
--- a/ext/bigdecimal/sample/linear.rb
+++ b/ext/bigdecimal/sample/linear.rb
@@ -10,6 +10,7 @@
# ruby linear.rb [input file solved]
#
+# :stopdoc:
require "bigdecimal"
require "bigdecimal/ludcmp"
diff --git a/ext/bigdecimal/sample/nlsolve.rb b/ext/bigdecimal/sample/nlsolve.rb
index 7f729e6..692a502 100644
--- a/ext/bigdecimal/sample/nlsolve.rb
+++ b/ext/bigdecimal/sample/nlsolve.rb
@@ -9,7 +9,7 @@ require "bigdecimal"
require "bigdecimal/newton"
include Newton
-class Function
+class Function # :nodoc: all
def initialize()
@zero = BigDecimal::new("0.0")
@one = BigDecimal::new("1.0")