[前][次][番号順一覧][スレッド一覧]

ruby-changes:7479

From: tadf <ko1@a...>
Date: Sun, 31 Aug 2008 20:51:18 +0900 (JST)
Subject: [ruby-changes:7479] Ruby:r18998 (trunk): * complex.c (numeric_abs2): new.

tadf	2008-08-31 20:51:04 +0900 (Sun, 31 Aug 2008)

  New Revision: 18998

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18998

  Log:
    * complex.c (numeric_abs2): new.

  Modified files:
    trunk/ChangeLog
    trunk/complex.c
    trunk/test/ruby/test_complex.rb
    trunk/test/ruby/test_rational.rb

Index: complex.c
===================================================================
--- complex.c	(revision 18997)
+++ complex.c	(revision 18998)
@@ -1291,6 +1291,12 @@
     return INT2FIX(0);
 }
 
+static VALUE
+numeric_abs2(VALUE self)
+{
+    return f_mul(self, self);
+}
+
 #define id_PI rb_intern("PI")
 
 static VALUE
@@ -1473,6 +1479,7 @@
     rb_define_method(rb_cNumeric, "real", numeric_real, 0);
     rb_define_method(rb_cNumeric, "image", numeric_image, 0);
     rb_define_method(rb_cNumeric, "imag", numeric_image, 0);
+    rb_define_method(rb_cNumeric, "abs2", numeric_abs2, 0);
     rb_define_method(rb_cNumeric, "arg", numeric_arg, 0);
     rb_define_method(rb_cNumeric, "angle", numeric_arg, 0);
     rb_define_method(rb_cNumeric, "phase", numeric_arg, 0);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18997)
+++ ChangeLog	(revision 18998)
@@ -1,3 +1,7 @@
+Sun Aug 31 20:49:42 2008  Tadayoshi Funaba  <tadf@d...>
+
+	* complex.c (numeric_abs2): new.
+
 Sun Aug 31 18:22:04 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/mkmf.rb (have_devel?): checks if the compiler works.
Index: test/ruby/test_complex.rb
===================================================================
--- test/ruby/test_complex.rb	(revision 18997)
+++ test/ruby/test_complex.rb	(revision 18998)
@@ -856,6 +856,11 @@
     assert_equal(1, 1.0.magnitude)
     assert_equal(1, -1.0.magnitude)
 
+    assert_equal(4, 2.abs2)
+    assert_equal(4, -2.abs2)
+    assert_equal(4.0, 2.0.abs2)
+    assert_equal(4.0, -2.0.abs2)
+
     assert_equal(0, 1.arg)
     assert_equal(0, 1.angle)
     assert_equal(0, 1.phase)
Index: test/ruby/test_rational.rb
===================================================================
--- test/ruby/test_rational.rb	(revision 18997)
+++ test/ruby/test_rational.rb	(revision 18998)
@@ -953,6 +953,10 @@
     assert_equal(Rational(9,1), Rational(1,9).reciprocal)
     assert_equal(Rational(-1,9), Rational(-9,1).reciprocal)
     assert_equal(Rational(-9,1), Rational(-1,9).reciprocal)
+    assert_equal(Rational(1,9), Rational(9,1).inverse)
+    assert_equal(Rational(9,1), Rational(1,9).inverse)
+    assert_equal(Rational(-1,9), Rational(-9,1).inverse)
+    assert_equal(Rational(-9,1), Rational(-1,9).inverse)
   end
 =end
 
@@ -1047,9 +1051,9 @@
 
 =begin
     assert_equal(Rational(1,9), 9.reciprocal)
-    assert_equal(Rational(1,9), 9.0.reciprocal)
+    assert_in_delta(0.1111, 9.0.reciprocal, 0.001)
     assert_equal(Rational(1,9), 9.inverse)
-    assert_equal(Rational(1,9), 9.0.inverse)
+    assert_in_delta(0.1111, 9.0.inverse, 0.001)
 =end
 
     assert_equal(Rational(1,2), 1.quo(2))

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]