aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/bigdecimal/bigdecimal.c24
2 files changed, 29 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 5234102b91..6e548b85e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Dec 7 09:58:15 2011 Eric Hodel <drbrain@segment7.net>
+
+ * ext/bigdecimal/bigdecimal.c: Document +@, -@, hash, INFINITY, Nan.
+ Patch by Sylvain Daubert. [Ruby 1.9 - Feature #5622]
+
Wed Dec 7 09:48:00 2011 Eric Hodel <drbrain@segment7.net>
* io.c (Init_IO): Mention io/console methods. [Ruby 1.9 - Bug #5602]
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 749d681071..8b5b68e8ea 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -312,6 +312,12 @@ BigDecimal_prec(VALUE self)
return obj;
}
+/*
+ * call-seq: hash
+ *
+ * Creates a hash for this BigDecimal. Two BigDecimals with equal sign,
+ * fractional part and exponent have the same hash.
+ */
static VALUE
BigDecimal_hash(VALUE self)
{
@@ -786,6 +792,14 @@ BigDecimal_coerce(VALUE self, VALUE other)
return obj;
}
+/*
+ * call-seq: +@
+ *
+ * Return self.
+ *
+ * e.g.
+ * b = +a # b == a
+ */
static VALUE
BigDecimal_uplus(VALUE self)
{
@@ -1052,6 +1066,14 @@ BigDecimal_ge(VALUE self, VALUE r)
return BigDecimalCmp(self, r, 'G');
}
+/*
+ * call-seq: -@
+ *
+ * Return the negation of self.
+ *
+ * e.g.
+ * b = -a # b == a * -1
+ */
static VALUE
BigDecimal_neg(VALUE self)
{
@@ -2929,8 +2951,10 @@ Init_bigdecimal(void)
rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_INFINITE",INT2FIX(VP_SIGN_NEGATIVE_INFINITE));
arg = rb_str_new2("+Infinity");
+ /* Positive infinity value. */
rb_define_const(rb_cBigDecimal, "INFINITY", BigDecimal_global_new(1, &arg, rb_cBigDecimal));
arg = rb_str_new2("NaN");
+ /* 'Not a Number' value. */
rb_define_const(rb_cBigDecimal, "NAN", BigDecimal_global_new(1, &arg, rb_cBigDecimal));