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

ruby-changes:7918

From: tadf <ko1@a...>
Date: Sun, 21 Sep 2008 07:50:23 +0900 (JST)
Subject: [ruby-changes:7918] Ruby:r19439 (trunk): * complex.c: an instance method image has been removed and

tadf	2008-09-21 07:49:56 +0900 (Sun, 21 Sep 2008)

  New Revision: 19439

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

  Log:
    * complex.c: an instance method image has been removed and
      uses "imag" instead of "image".
    
    * complex.c: two instance method re and im are removed.
    
    * rational.c: follows the above changes.
    
    * include/ruby/ruby.h: ditto.
    
    * gc.c: ditto.
    
    * lib/cmath.rb: ditto.
    
    * lib/mathn.rb: ditto.
    
    * lib/complex.rb: ditto.

  Modified files:
    trunk/ChangeLog
    trunk/complex.c
    trunk/gc.c
    trunk/include/ruby/ruby.h
    trunk/lib/cmath.rb
    trunk/lib/complex.rb
    trunk/lib/mathn.rb
    trunk/rational.c
    trunk/test/ruby/test_complex.rb

Index: complex.c
===================================================================
--- complex.c	(revision 19438)
+++ complex.c	(revision 19439)
@@ -260,13 +260,13 @@
     bdat = ((struct RComplex *)(y))
 
 inline static VALUE
-nucomp_s_new_internal(VALUE klass, VALUE real, VALUE image)
+nucomp_s_new_internal(VALUE klass, VALUE real, VALUE imag)
 {
     NEWOBJ(obj, struct RComplex);
     OBJSETUP(obj, klass, T_COMPLEX);
 
     obj->real = real;
-    obj->image = image;
+    obj->imag = imag;
 
     return (VALUE)obj;
 }
@@ -280,23 +280,23 @@
 static VALUE
 nucomp_s_new_bang(int argc, VALUE *argv, VALUE klass)
 {
-    VALUE real, image;
+    VALUE real, imag;
 
-    switch (rb_scan_args(argc, argv, "11", &real, &image)) {
+    switch (rb_scan_args(argc, argv, "11", &real, &imag)) {
       case 1:
 	if (!k_numeric_p(real))
 	    real = f_to_i(real);
-	image = ZERO;
+	imag = ZERO;
 	break;
       default:
 	if (!k_numeric_p(real))
 	    real = f_to_i(real);
-	if (!k_numeric_p(image))
-	    image = f_to_i(image);
+	if (!k_numeric_p(imag))
+	    imag = f_to_i(imag);
 	break;
     }
 
-    return nucomp_s_new_internal(klass, real, image);
+    return nucomp_s_new_internal(klass, real, imag);
 }
 
 inline static VALUE
@@ -332,39 +332,39 @@
 }
 
 inline static VALUE
-nucomp_s_canonicalize_internal(VALUE klass, VALUE real, VALUE image)
+nucomp_s_canonicalize_internal(VALUE klass, VALUE real, VALUE imag)
 {
 #define CL_CANON
 #ifdef CL_CANON
-    if (f_zero_p(image) && f_unify_p(klass) &&
-	k_exact_p(real) && k_exact_p(image))
+    if (f_zero_p(imag) && f_unify_p(klass) &&
+	k_exact_p(real) && k_exact_p(imag))
 	return real;
 #else
-    if (f_zero_p(image) && f_unify_p(klass))
+    if (f_zero_p(imag) && f_unify_p(klass))
 	return real;
 #endif
-    else if (f_real_p(real) && f_real_p(image))
-	return nucomp_s_new_internal(klass, real, image);
+    else if (f_real_p(real) && f_real_p(imag))
+	return nucomp_s_new_internal(klass, real, imag);
     else if (f_real_p(real)) {
-	get_dat1(image);
+	get_dat1(imag);
 
 	return nucomp_s_new_internal(klass,
-				     f_sub(real, dat->image),
+				     f_sub(real, dat->imag),
 				     f_add(ZERO, dat->real));
     }
-    else if (f_real_p(image)) {
+    else if (f_real_p(imag)) {
 	get_dat1(real);
 
 	return nucomp_s_new_internal(klass,
 				     dat->real,
-				     f_add(dat->image, image));
+				     f_add(dat->imag, imag));
     }
     else {
-	get_dat2(real, image);
+	get_dat2(real, imag);
 
 	return nucomp_s_new_internal(klass,
-				     f_sub(adat->real, bdat->image),
-				     f_add(adat->image, bdat->real));
+				     f_sub(adat->real, bdat->imag),
+				     f_add(adat->imag, bdat->real));
     }
 }
 
@@ -372,40 +372,40 @@
 static VALUE
 nucomp_s_canonicalize(int argc, VALUE *argv, VALUE klass)
 {
-    VALUE real, image;
+    VALUE real, imag;
 
-    switch (rb_scan_args(argc, argv, "11", &real, &image)) {
+    switch (rb_scan_args(argc, argv, "11", &real, &imag)) {
       case 1:
 	nucomp_real_check(real);
-	image = ZERO;
+	imag = ZERO;
 	break;
       default:
 	nucomp_real_check(real);
-	nucomp_real_check(image);
+	nucomp_real_check(imag);
 	break;
     }
 
-    return nucomp_s_canonicalize_internal(klass, real, image);
+    return nucomp_s_canonicalize_internal(klass, real, imag);
 }
 #endif
 
 static VALUE
 nucomp_s_new(int argc, VALUE *argv, VALUE klass)
 {
-    VALUE real, image;
+    VALUE real, imag;
 
-    switch (rb_scan_args(argc, argv, "11", &real, &image)) {
+    switch (rb_scan_args(argc, argv, "11", &real, &imag)) {
       case 1:
 	nucomp_real_check(real);
-	image = ZERO;
+	imag = ZERO;
 	break;
       default:
 	nucomp_real_check(real);
-	nucomp_real_check(image);
+	nucomp_real_check(imag);
 	break;
     }
 
-    return nucomp_s_canonicalize_internal(klass, real, image);
+    return nucomp_s_canonicalize_internal(klass, real, imag);
 }
 
 inline static VALUE
@@ -463,9 +463,9 @@
 	return m_cos_bang(x);
     return f_complex_new2(rb_cComplex,
 			  f_mul(m_cos_bang(dat->real),
-				m_cosh_bang(dat->image)),
+				m_cosh_bang(dat->imag)),
 			  f_mul(f_negate(m_sin_bang(dat->real)),
-				m_sinh_bang(dat->image)));
+				m_sinh_bang(dat->imag)));
 }
 
 static VALUE
@@ -477,9 +477,9 @@
 	return m_sin_bang(x);
     return f_complex_new2(rb_cComplex,
 			  f_mul(m_sin_bang(dat->real),
-				m_cosh_bang(dat->image)),
+				m_cosh_bang(dat->imag)),
 			  f_mul(m_cos_bang(dat->real),
-				m_sinh_bang(dat->image)));
+				m_sinh_bang(dat->imag)));
 }
 
 static VALUE
@@ -493,7 +493,7 @@
     else {
 	get_dat1(x);
 
-	if (f_negative_p(dat->image))
+	if (f_negative_p(dat->imag))
 	    return f_conj(m_sqrt(f_conj(x)));
 	else {
 	    VALUE a = f_abs(x);
@@ -528,10 +528,10 @@
 }
 
 static VALUE
-nucomp_image(VALUE self)
+nucomp_imag(VALUE self)
 {
     get_dat1(self);
-    return dat->image;
+    return dat->imag;
 }
 
 static VALUE
@@ -539,27 +539,27 @@
 {
   get_dat1(self);
   return f_complex_new2(CLASS_OF(self),
-			f_negate(dat->real), f_negate(dat->image));
+			f_negate(dat->real), f_negate(dat->imag));
 }
 
 static VALUE
 nucomp_add(VALUE self, VALUE other)
 {
     if (k_complex_p(other)) {
-	VALUE real, image;
+	VALUE real, imag;
 
 	get_dat2(self, other);
 
 	real = f_add(adat->real, bdat->real);
-	image = f_add(adat->image, bdat->image);
+	imag = f_add(adat->imag, bdat->imag);
 
-	return f_complex_new2(CLASS_OF(self), real, image);
+	return f_complex_new2(CLASS_OF(self), real, imag);
     }
     if (k_numeric_p(other) && f_real_p(other)) {
 	get_dat1(self);
 
 	return f_complex_new2(CLASS_OF(self),
-			      f_add(dat->real, other), dat->image);
+			      f_add(dat->real, other), dat->imag);
     }
     return rb_num_coerce_bin(self, other, '+');
 }
@@ -568,20 +568,20 @@
 nucomp_sub(VALUE self, VALUE other)
 {
     if (k_complex_p(other)) {
-	VALUE real, image;
+	VALUE real, imag;
 
 	get_dat2(self, other);
 
 	real = f_sub(adat->real, bdat->real);
-	image = f_sub(adat->image, bdat->image);
+	imag = f_sub(adat->imag, bdat->imag);
 
-	return f_complex_new2(CLASS_OF(self), real, image);
+	return f_complex_new2(CLASS_OF(self), real, imag);
     }
     if (k_numeric_p(other) && f_real_p(other)) {
 	get_dat1(self);
 
 	return f_complex_new2(CLASS_OF(self),
-			      f_sub(dat->real, other), dat->image);
+			      f_sub(dat->real, other), dat->imag);
     }
     return rb_num_coerce_bin(self, other, '-');
 }
@@ -590,23 +590,23 @@
 nucomp_mul(VALUE self, VALUE other)
 {
     if (k_complex_p(other)) {
-	VALUE real, image;
+	VALUE real, imag;
 
 	get_dat2(self, other);
 
 	real = f_sub(f_mul(adat->real, bdat->real),
-		     f_mul(adat->image, bdat->image));
-	image = f_add(f_mul(adat->real, bdat->image),
-		      f_mul(adat->image, bdat->real));
+		     f_mul(adat->imag, bdat->imag));
+	imag = f_add(f_mul(adat->real, bdat->imag),
+		      f_mul(adat->imag, bdat->real));
 
-	return f_complex_new2(CLASS_OF(self), real, image);
+	return f_complex_new2(CLASS_OF(self), real, imag);
     }
     if (k_numeric_p(other) && f_real_p(other)) {
 	get_dat1(self);
 
 	return f_complex_new2(CLASS_OF(self),
 			      f_mul(dat->real, other),
-			      f_mul(dat->image, other));
+			      f_mul(dat->imag, other));
     }
     return rb_num_coerce_bin(self, other, '*');
 }
@@ -620,13 +620,13 @@
 	get_dat2(self, other);
 
 	if (TYPE(adat->real)  == T_FLOAT ||
-	    TYPE(adat->image) == T_FLOAT ||
+	    TYPE(adat->imag) == T_FLOAT ||
 	    TYPE(bdat->real)  == T_FLOAT ||
-	    TYPE(bdat->image) == T_FLOAT) {
-	    VALUE magn = m_hypot(bdat->real, bdat->image);
+	    TYPE(bdat->imag) == T_FLOAT) {
+	    VALUE magn = m_hypot(bdat->real, bdat->imag);
 	    VALUE tmp = f_complex_new_bang2(CLASS_OF(self),
 					    f_div(bdat->real, magn),
-					    f_div(bdat->image, magn));
+					    f_div(bdat->imag, magn));
 	    return f_div(f_mul(self, f_conj(tmp)), magn);
 	}
 	return f_div(f_mul(self, f_conj(other)), f_abs2(other));
@@ -636,7 +636,7 @@
 
 	return f_complex_new2(CLASS_OF(self),
 			      f_div(dat->real, other),
-			      f_div(dat->image, other));
+			      f_div(dat->imag, other));
     }
     return rb_num_coerce_bin(self, other, '/');
 }
@@ -651,7 +651,7 @@
 
     return f_div(f_complex_new2(CLASS_OF(self),
 				f_to_f(dat->real),
-				f_to_f(dat->image)), other);
+				f_to_f(dat->imag)), other);
 }
 
 static VALUE
@@ -673,7 +673,7 @@
 	theta = RARRAY_PTR(a)[1];
 
 	ore = dat->real;
-	oim = dat->image;
+	oim = dat->imag;
 	nr = m_exp_bang(f_sub(f_mul(ore, m_log_bang(r)),
 			      f_mul(oim, theta)));
 	ntheta = f_add(f_mul(theta, ore), f_mul(oim, m_log_bang(r)));
@@ -696,8 +696,8 @@
 
 		    x = f_complex_new2(CLASS_OF(self),
 				       f_sub(f_mul(dat->real, dat->real),
-					     f_mul(dat->image, dat->image)),
-				       f_mul(f_mul(TWO, dat->real), dat->image));
+					     f_mul(dat->imag, dat->imag)),
+				       f_mul(f_mul(TWO, dat->real), dat->imag));
 		    n = RARRAY_PTR(a)[0];
 		}
 		z = f_mul(z, x);
@@ -726,12 +726,12 @@
 	get_dat2(self, other);
 
 	return f_boolcast(f_equal_p(adat->real, bdat->real) &&
-			  f_equal_p(adat->image, bdat->image));
+			  f_equal_p(adat->imag, bdat->imag));
     }
     if (k_numeric_p(other) && f_real_p(other)) {
 	get_dat1(self);
 
-	return f_boolcast(f_equal_p(dat->real, other) && f_zero_p(dat->image));
+	return f_boolcast(f_equal_p(dat->real, other) && f_zero_p(dat->imag));
     }
     return f_equal_p(other, self);
 }
@@ -751,7 +751,7 @@
 nucomp_abs(VALUE self)
 {
     get_dat1(self);
-    return m_hypot(dat->real, dat->image);
+    return m_hypot(dat->real, dat->imag);
 }
 
 static VALUE
@@ -759,21 +759,21 @@
 {
     get_dat1(self);
     return f_add(f_mul(dat->real, dat->real),
-		 f_mul(dat->image, dat->image));
+		 f_mul(dat->imag, dat->imag));
 }
 
 static VALUE
 nucomp_arg(VALUE self)
 {
     get_dat1(self);
-    return m_atan2_bang(dat->image, dat->real);
+    return m_atan2_bang(dat->imag, dat->real);
 }
 
 static VALUE
 nucomp_rect(VALUE self)
 {
     get_dat1(self);
-    return rb_assoc_new(dat->real, dat->image);
+    return rb_assoc_new(dat->real, dat->imag);
 }
 
 static VALUE
@@ -786,7 +786,7 @@
 nucomp_conj(VALUE self)
 {
     get_dat1(self);
-    return f_complex_new2(CLASS_OF(self), dat->real, f_negate(dat->image));
+    return f_complex_new2(CLASS_OF(self), dat->real, f_negate(dat->imag));
 }
 
 #if 0
@@ -808,7 +808,7 @@
 nucomp_exact_p(VALUE self)
 {
     get_dat1(self);
-    return f_boolcast(f_exact_p(dat->real) && f_exact_p(dat->image));
+    return f_boolcast(f_exact_p(dat->real) && f_exact_p(dat->imag));
 }
 
 static VALUE
@@ -824,7 +824,7 @@
 nucomp_denominator(VALUE self)
 {
     get_dat1(self);
-    return rb_lcm(f_denominator(dat->real), f_denominator(dat->image));
+    return rb_lcm(f_denominator(dat->real), f_denominator(dat->imag));
 }
 
 static VALUE
@@ -838,15 +838,15 @@
     return f_complex_new2(CLASS_OF(self),
 			  f_mul(f_numerator(dat->real),
 				f_div(cd, f_denominator(dat->real))),
-			  f_mul(f_numerator(dat->image),
-				f_div(cd, f_denominator(dat->image))));
+			  f_mul(f_numerator(dat->imag),
+				f_div(cd, f_denominator(dat->imag))));
 }
 
 static VALUE
 nucomp_hash(VALUE self)
 {
     get_dat1(self);
-    return f_xor(f_hash(dat->real), f_hash(dat->image));
+    return f_xor(f_hash(dat->real), f_hash(dat->imag));
 }
 
 static VALUE
@@ -856,7 +856,7 @@
 	get_dat2(self, other);
 
 	return f_boolcast((CLASS_OF(adat->real) == CLASS_OF(bdat->real)) &&
-			  (CLASS_OF(adat->image) == CLASS_OF(bdat->image)) &&
+			  (CLASS_OF(adat->imag) == CLASS_OF(bdat->imag)) &&
 			  f_equal_p(self, other));
 
     }
@@ -902,12 +902,12 @@
 
     get_dat1(self);
 
-    impos = f_tpositive_p(dat->image);
+    impos = f_tpositive_p(dat->imag);
 
     s = f_to_s(dat->real);
     rb_str_cat2(s, !impos ? "-" : "+");
 
-    rb_str_concat(s, f_to_s(f_abs(dat->image)));
+    rb_str_concat(s, f_to_s(f_abs(dat->imag)));
     rb_str_cat2(s, "i");
 
     return s;
@@ -920,13 +920,13 @@
 
     get_dat1(self);
 
-    impos = f_tpositive_p(dat->image);
+    impos = f_tpositive_p(dat->imag);
 
     s = rb_str_new2("(");
     rb_str_concat(s, f_inspect(dat->real));
     rb_str_cat2(s, !impos ? "-" : "+");
 
-    rb_str_concat(s, f_inspect(f_abs(dat->image)));
+    rb_str_concat(s, f_inspect(f_abs(dat->imag)));
     rb_str_cat2(s, "i)");
 
     return s;
@@ -938,7 +938,7 @@
     VALUE a;
     get_dat1(self);
 
-    a = rb_assoc_new(dat->real, dat->image);
+    a = rb_assoc_new(dat->real, dat->imag);
     rb_copy_generic_ivar(a, self);
     return a;
 }
@@ -948,7 +948,7 @@
 {
     get_dat1(self);
     dat->real = RARRAY_PTR(a)[0];
-    dat->image = RARRAY_PTR(a)[1];
+    dat->imag = RARRAY_PTR(a)[1];
     rb_copy_generic_ivar(self, a);
     return self;
 }
@@ -989,7 +989,7 @@
 {
     get_dat1(self);
 
-    if (k_inexact_p(dat->image) || !f_zero_p(dat->image)) {
+    if (k_inexact_p(dat->imag) || !f_zero_p(dat->imag)) {
 	VALUE s = f_to_s(self);
 	rb_raise(rb_eRangeError, "can't convert %s into Integer",
 		 StringValuePtr(s));
@@ -1002,7 +1002,7 @@
 {
     get_dat1(self);
 
-    if (k_inexact_p(dat->image) || !f_zero_p(dat->image)) {
+    if (k_inexact_p(dat->imag) || !f_zero_p(dat->imag)) {
 	VALUE s = f_to_s(self);
 	rb_raise(rb_eRangeError, "can't convert %s into Float",
 		 StringValuePtr(s));
@@ -1015,7 +1015,7 @@
 {
     get_dat1(self);
 
-    if (k_inexact_p(dat->image) || !f_zero_p(dat->image)) {
+    if (k_inexact_p(dat->imag) || !f_zero_p(dat->imag)) {
 	VALUE s = f_to_s(self);
 	rb_raise(rb_eRangeError, "can't convert %s into Rational",
 		 StringValuePtr(s));
@@ -1259,7 +1259,7 @@
 	{
 	    get_dat1(a1);
 
-	    if (k_exact_p(dat->image) && f_zero_p(dat->image))
+	    if (k_exact_p(dat->imag) && f_zero_p(dat->imag))
 		a1 = dat->real;
 	}
     }
@@ -1269,7 +1269,7 @@
 	{
 	    get_dat1(a2);
 
-	    if (k_exact_p(dat->image) && f_zero_p(dat->image))
+	    if (k_exact_p(dat->imag) && f_zero_p(dat->imag))
 		a2 = dat->real;
 	}
     }
@@ -1295,28 +1295,14 @@
 
 /* --- */
 
-#define id_Complex rb_intern("Complex")
-
 static VALUE
-numeric_re(VALUE self)
-{
-    return rb_Complex1(self);
-}
-
-static VALUE
-numeric_im(VALUE self)
-{
-    return rb_Complex2(ZERO, self);
-}
-
-static VALUE
 numeric_real(VALUE self)
 {
     return self;
 }
 
 static VALUE
-numeric_image(VALUE self)
+numeric_imag(VALUE self)
 {
     return INT2FIX(0);
 }
@@ -1427,8 +1413,8 @@
 #endif
 
     rb_define_method(rb_cComplex, "real", nucomp_real, 0);
-    rb_define_method(rb_cComplex, "image", nucomp_image, 0);
-    rb_define_method(rb_cComplex, "imag", nucomp_image, 0);
+    rb_define_method(rb_cComplex, "imaginary", nucomp_imag, 0);
+    rb_define_method(rb_cComplex, "imag", nucomp_imag, 0);
 
     rb_define_method(rb_cComplex, "-@", nucomp_negate, 0);
     rb_define_method(rb_cComplex, "+", nucomp_add, 1);
@@ -1494,11 +1480,9 @@
 
     /* --- */
 
-    rb_define_method(rb_cNumeric, "re", numeric_re, 0);
-    rb_define_method(rb_cNumeric, "im", numeric_im, 0);
     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, "imaginary", numeric_imag, 0);
+    rb_define_method(rb_cNumeric, "imag", numeric_imag, 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);
Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h	(revision 19438)
+++ include/ruby/ruby.h	(revision 19439)
@@ -650,7 +650,7 @@
 struct RComplex {
     struct RBasic basic;
     VALUE real;
-    VALUE image;
+    VALUE imag;
 };
 
 struct RData {
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19438)
+++ ChangeLog	(revision 19439)
@@ -1,3 +1,22 @@
+Sun Sep 21 07:43:16 2008  Tadayoshi Funaba  <tadf@d...>
+
+	* complex.c: an instance method image has been removed and
+	  uses "imag" instead of "image".
+
+	* complex.c: two instance method re and im are removed.
+
+	* rational.c: follows the above changes.
+
+	* include/ruby/ruby.h: ditto.
+
+	* gc.c: ditto.
+
+	* lib/cmath.rb: ditto.
+
+	* lib/mathn.rb: ditto.
+
+	* lib/complex.rb: ditto.
+
 Sun Sep 21 02:48:45 2008  NARUSE, Yui  <naruse@r...>
 
 	* ext/json/ext/parser/parse.c: use ruby_xfree().
Index: lib/mathn.rb
===================================================================
--- lib/mathn.rb	(revision 19438)
+++ lib/mathn.rb	(revision 19439)
@@ -37,7 +37,7 @@
     if other.kind_of?(Rational)
       other2 = other
       if self < 0
-	return Complex.__send__(:new!, self, 0) ** other
+	return Complex(self, 0.0) ** other
       elsif other == 0
 	return Rational(1,1)
       elsif self == 0
@@ -99,7 +99,7 @@
   remove_method(:sqrt)
   def sqrt(a)
     if a.kind_of?(Complex)
-      abs = sqrt(a.real*a.real + a.image*a.image)
+      abs = sqrt(a.real*a.real + a.imag*a.imag)
 #      if not abs.kind_of?(Rational)
 #	return a**Rational(1,2)
 #      end
@@ -108,7 +108,7 @@
 #      if !(x.kind_of?(Rational) and y.kind_of?(Rational))
 #	return a**Rational(1,2)
 #      end
-      if a.image >= 0 
+      if a.imag >= 0 
 	Complex(x, y)
       else
 	Complex(x, -y)
Index: lib/cmath.rb
===================================================================
--- lib/cmath.rb	(revision 19438)
+++ lib/cmath.rb	(revision 19439)
@@ -28,8 +28,8 @@
     if z.real?
       exp!(z)
     else
-      Complex(exp!(z.real) * cos!(z.image),
-	      exp!(z.real) * sin!(z.image))
+      Complex(exp!(z.real) * cos!(z.imag),
+	      exp!(z.real) * sin!(z.imag))
     end
   end
 
@@ -60,10 +60,10 @@
       if z >= 0
 	sqrt!(z)
       else
-	Complex(0,sqrt!(-z))
+	Complex(0, sqrt!(-z))
       end
     else
-      if z.image < 0
+      if z.imag < 0
 	sqrt(z.conjugate).conjugate
       else
 	r = z.abs
@@ -77,8 +77,8 @@
     if z.real?
       sin!(z)
     else
-      Complex(sin!(z.real) * cosh!(z.image),
-	      cos!(z.real) * sinh!(z.image))
+      Complex(sin!(z.real) * cosh!(z.imag),
+	      cos!(z.real) * sinh!(z.imag))
     end
   end
 
@@ -86,8 +86,8 @@
     if z.real?
       cos!(z)
     else
-      Complex(cos!(z.real) * cosh!(z.image),
-	      -sin!(z.real) * sinh!(z.image))
+      Complex(cos!(z.real) * cosh!(z.imag),
+	      -sin!(z.real) * sinh!(z.imag))
     end
   end
 
@@ -103,8 +103,8 @@
     if z.real?
       sinh!(z)
     else
-      Complex(sinh!(z.real) * cos!(z.image),
-	      cosh!(z.real) * sin!(z.image))
+      Complex(sinh!(z.real) * cos!(z.imag),
+	      cosh!(z.real) * sin!(z.imag))
     end
   end
 
@@ -112,8 +112,8 @@
     if z.real?
       cosh!(z)
     else
-      Complex(cosh!(z.real) * cos!(z.image),
-	      sinh!(z.real) * sin!(z.image))
+      Complex(cosh!(z.real) * cos!(z.imag),
+	      sinh!(z.real) * sin!(z.imag))
     end
   end
 
@@ -129,7 +129,7 @@
     if z.real? and z >= -1 and z <= 1
       asin!(z)
     else
-      -1.0.im * log(1.0.im * z + sqrt(1.0 - z * z))
+      Complex(0, -1.0) * log(Complex(0, 1.0) * z + sqrt(1.0 - z * z))
     end
   end
 
@@ -137,7 +137,7 @@
     if z.real? and z >= -1 and z <= 1
       acos!(z)
     else
-      -1.0.im * log(z + 1.0.im * sqrt(1.0 - z * z))
+      Complex(0, -1.0) * log(z + Complex(0, 1.0) * sqrt(1.0 - z * z))
     end
   end
 
@@ -145,7 +145,7 @@
     if z.real?
       atan!(z)
     else
-      1.0.im * log((1.0.im + z) / (1.0.im - z)) / 2.0
+      Complex(0, 1.0) * log((Complex(0, 1.0) + z) / (Complex(0, 1.0) - z)) / 2.0
     end
   end
 
@@ -153,7 +153,7 @@
     if y.real? and x.real?
       atan2!(y,x)
     else
-      -1.0.im * log((x + 1.0.im * y) / sqrt(x * x + y * y))
+      Complex(0, -1.0) * log((x + Complex(0, 1.0) * y) / sqrt(x * x + y * y))
     end
   end
 
Index: lib/complex.rb
===================================================================
--- lib/complex.rb	(revision 19438)
+++ lib/complex.rb	(revision 19439)
@@ -10,3 +10,9 @@
   other.kind_of?(Float)   ||
   other.kind_of?(Rational)
 end
+
+class Complex
+
+  alias image imag
+
+end
Index: gc.c
===================================================================
--- gc.c	(revision 19438)
+++ gc.c	(revision 19439)
@@ -1539,7 +1539,7 @@
 
       case T_COMPLEX:
 	gc_mark(objspace, obj->as.complex.real, lev);
-	gc_mark(objspace, obj->as.complex.image, lev);
+	gc_mark(objspace, obj->as.complex.imag, lev);
 	break;
 
       case T_STRUCT:
Index: test/ruby/test_complex.rb
===================================================================
--- test/ruby/test_complex.rb	(revision 19438)
+++ test/ruby/test_complex.rb	(revision 19439)
@@ -81,31 +81,31 @@
   def test_new_bang # no unify
     assert_instance_of(Complex, Complex.__send__(:new!, 2,0))
     assert_equal([2,0], Complex.__send__(:new!, 2,0).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([2,4], Complex.__send__(:new!, 2,4).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([-2,4], Complex.__send__(:new!, -2,4).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([2,-4], Complex.__send__(:new!, 2,-4).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([-2,-4], Complex.__send__(:new!, -2,-4).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
 
     assert_equal([2,0], Complex.__send__(:new!, Complex(2)).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([2,3], Complex.__send__(:new!, Complex(2), Complex(3)).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([2,3], Complex.__send__(:new!, 2, Complex(3)).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
 
     assert_equal([1.1,0], Complex.__send__(:new!, 1.1).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([-1.1,0], Complex.__send__(:new!, -1.1).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([1,0], Complex.__send__(:new!, '1').
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
     assert_equal([0,0], Complex.__send__(:new!, nil).
-		 instance_eval{[real, image]})
+		 instance_eval{[real, imag]})
   end
 
   def test_new
@@ -114,12 +114,12 @@
       assert_instance_of(Fixnum, Complex.__send__(:new, 2,0))
     else
       assert_instance_of(Complex, Complex.__send__(:new, 2,0))
-      assert_equal([2,0], Complex.__send__(:new, 2,0). instance_eval{[real, image]})
+      assert_equal([2,0], Complex.__send__(:new, 2,0). instance_eval{[real, imag]})
     end
-    assert_equal([2,4], Complex.__send__(:new, 2,4).instance_eval{[real, image]})
-    assert_equal([-2,4], Complex.__send__(:new, -2,4).instance_eval{[real, image]})
-    assert_equal([2,-4], Complex.__send__(:new, 2,-4).instance_eval{[real, image]})
-    assert_equal([-2,-4], Complex.__send__(:new, -2,-4).instance_eval{[real, image]})
+    assert_equal([2,4], Complex.__send__(:new, 2,4).instance_eval{[real, imag]})
+    assert_equal([-2,4], Complex.__send__(:new, -2,4).instance_eval{[real, imag]})
+    assert_equal([2,-4], Complex.__send__(:new, 2,-4).instance_eval{[real, imag]})
+    assert_equal([-2,-4], Complex.__send__(:new, -2,-4).instance_eval{[real, imag]})
 
     assert_raise(ArgumentError){Complex.__send__(:new, Complex(1,2),2)}
     assert_raise(ArgumentError){Complex.__send__(:new, 2,Complex(1,2))}
@@ -138,19 +138,19 @@
 
     c = Complex(2**32, 2**32)
     assert_equal(Complex.__send__(:new, 2**32,2**32), c)
-    assert_equal([2**32,2**32], [c.real,c.image])
+    assert_equal([2**32,2**32], [c.real,c.imag])
 
     c = Complex(-2**32, 2**32)
     assert_equal(Complex.__send__(:new, -2**32,2**32), c)
-    assert_equal([-2**32,2**32], [c.real,c.image])
+    assert_equal([-2**32,2**32], [c.real,c.imag])
 
     c = Complex(2**32, -2**32)
     assert_equal(Complex.__send__(:new, 2**32,-2**32), c)
-    assert_equal([2**32,-2**32], [c.real,c.image])
+    assert_equal([2**32,-2**32], [c.real,c.imag])
 
     c = Complex(-2**32, -2**32)
     assert_equal(Complex.__send__(:new, -2**32,-2**32), c)
-    assert_equal([-2**32,-2**32], [c.real,c.image])
+    assert_equal([-2**32,-2**32], [c.real,c.imag])
 
     c = Complex(Complex(1),0)
     assert_equal(Complex.__send__(:new, 1,0), c)
@@ -161,19 +161,6 @@
     c = Complex(Complex(1,1),Complex(1))
     assert_equal(Complex.__send__(:new, 1,2), c)
 
-    c = 5.re
-    assert_equal(Complex.__send__(:new, 5,0), c)
-
-    c = Complex(1,2).re
-    assert_equal(Complex.__send__(:new, 1,2), c)
-
-    c = 5.im
-    assert_equal(Complex.__send__(:new, 0,5), c)
-
-    c = Complex(2,0).im
-    assert_equal(Complex.__send__(:new, 0,2), c)
-    assert_equal(Complex.__send__(:new, -2,1), Complex(1,2).im)
-
     c = Complex::I
     assert_equal(Complex.__send__(:new, 0,1), c)
 
@@ -189,57 +176,57 @@
     c = Complex(4)
 
     assert_equal(4, c.real)
-    assert_equal(0, c.image)
+    assert_equal(0, c.imag)
 
     c = Complex(4,5)
 
     assert_equal(4, c.real)
-    assert_equal(5, c.image)
+    assert_equal(5, c.imag)
 
     if -0.0.to_s == '-0.0'
       c = Complex(-0.0,-0.0)
 
       assert_equal('-0.0', c.real.to_s)
-      assert_equal('-0.0', c.image.to_s)
+      assert_equal('-0.0', c.imag.to_s)
     end
 
     c = Complex.__send__(:new, 4)
 
     assert_equal(4, c.real)
-    assert_equal(0, c.image)
-    assert_equal(c.imag, c.image)
+    assert_equal(0, c.imag)
+    assert_equal(c.imag, c.imaginary)
 
     c = Complex.__send__(:new, 4,5)
 
     assert_equal(4, c.real)
-    assert_equal(5, c.image)
-    assert_equal(c.imag, c.image)
+    assert_equal(5, c.imag)
+    assert_equal(c.imag, c.imaginary)
 
     if -0.0.to_s == '-0.0'
       c = Complex.__send__(:new, -0.0,-0.0)
 
       assert_equal('-0.0', c.real.to_s)
-      assert_equal('-0.0', c.image.to_s)
-      assert_equal(c.imag.to_s, c.image.to_s)
+      assert_equal('-0.0', c.imag.to_s)
+      assert_equal(c.imag.to_s, c.imaginary.to_s)
     end
 
     c = Complex.__send__(:new!, 4)
 
     assert_equal(4, c.real)
-    assert_equal(c.imag, c.image)
-    assert_equal(0, c.image)
+    assert_equal(c.imag, c.imaginary)
+    assert_equal(0, c.imag)
 
     c = Complex.__send__(:new!, 4,5)
 
     assert_equal(4, c.real)
-    assert_equal(5, c.image)
-    assert_equal(c.imag, c.image)
+    assert_equal(5, c.imag)
+    assert_equal(c.imag, c.imaginary)
 
     c = Complex.__send__(:new!, -0.0,-0.0)
 
     assert_equal('-0.0', c.real.to_s)
-    assert_equal('-0.0', c.image.to_s)
-    assert_equal(c.imag.to_s, c.image.to_s)
+    assert_equal('-0.0', c.imag.to_s)
+    assert_equal(c.imag.to_s, c.imaginary.to_s)
   end
 
   def test_attr2
@@ -316,11 +303,11 @@
     if -0.0.to_s == '-0.0'
       c = +Complex(0.0,0.0)
       assert_equal('0.0', c.real.to_s)
-      assert_equal('0.0', c.image.to_s)
+      assert_equal('0.0', c.imag.to_s)
 
       c = +Complex(-0.0,-0.0)
       assert_equal('-0.0', c.real.to_s)
-      assert_equal('-0.0', c.image.to_s)
+      assert_equal('-0.0', c.imag.to_s)
     end
   end
 
@@ -335,11 +322,11 @@
     if -0.0.to_s == '-0.0'
       c = -Complex(0.0,0.0)
       assert_equal('-0.0', c.real.to_s)
-      assert_equal('-0.0', c.image.to_s)
+      assert_equal('-0.0', c.imag.to_s)
 
       c = -Complex(-0.0,-0.0)
       assert_equal('0.0', c.real.to_s)
-      assert_equal('0.0', c.image.to_s)
+      assert_equal('0.0', c.imag.to_s)
     end
 
 =begin
@@ -404,7 +391,7 @@
     else
       r = c / c2
       assert_in_delta(0.615, r.real, 0.001)
-      assert_in_delta(0.076, r.image, 0.001)
+      assert_in_delta(0.076, r.imag, 0.001)
     end
 
     c = Complex(1.0,2.0)
@@ -412,7 +399,7 @@
 
     r = c / c2
     assert_in_delta(0.615, r.real, 0.001)
-    assert_in_delta(0.076, r.image, 0.001)
+    assert_in_delta(0.076, r.imag, 0.001)
 
     c = Complex(1,2)
     c2 = Complex(2,3)
@@ -439,7 +426,7 @@
     else
       r = c.quo(c2)
       assert_in_delta(0.615, r.real, 0.001)
-      assert_in_delta(0.076, r.image, 0.001)
+      assert_in_delta(0.076, r.imag, 0.001)
     end
 
     c = Complex(1.0,2.0)
@@ -447,7 +434,7 @@
 
     r = c.quo(c2)
     assert_in_delta(0.615, r.real, 0.001)
-    assert_in_delta(0.076, r.image, 0.001)
+    assert_in_delta(0.076, r.imag, 0.001)
 
     c = Complex(1,2)
     c2 = Complex(2,3)
@@ -471,14 +458,14 @@
 
     r = c.fdiv(c2)
     assert_in_delta(0.615, r.real, 0.001)
-    assert_in_delta(0.076, r.image, 0.001)
+    assert_in_delta(0.076, r.imag, 0.001)
 
     c = Complex(1.0,2.0)
     c2 = Complex(2.0,3.0)
 
     r = c.fdiv(c2)
     assert_in_delta(0.615, r.real, 0.001)
-    assert_in_delta(0.076, r.image, 0.001)
+    assert_in_delta(0.076, r.imag, 0.001)
 
     c = Complex(1,2)
     c2 = Complex(2,3)
@@ -493,7 +480,7 @@
 
     r = c ** c2
     assert_in_delta(-0.015, r.real, 0.001)
-    assert_in_delta(-0.179, r.image, 0.001)
+    assert_in_delta(-0.179, r.imag, 0.001)
 
     assert_equal(Complex(-3,4), c ** 2)
     if defined?(Rational) && !Rational.instance_variable_get('@RCS_ID')
@@ -501,15 +488,15 @@
     else
       r = c ** -2
       assert_in_delta(-0.12, r.real, 0.001)
-      assert_in_delta(-0.16, r.image, 0.001)
+      assert_in_delta(-0.16, r.imag, 0.001)
     end
     r = c ** 2.0
     assert_in_delta(-3.0, r.real, 0.001)
-    assert_in_delta(4.0, r.image, 0.001)
+    assert_in_delta(4.0, r.imag, 0.001)
 
     r = c ** -2.0
     assert_in_delta(-0.12, r.real, 0.001)
-    assert_in_delta(-0.16, r.image, 0.001)
+    assert_in_delta(-0.16, r.imag, 0.001)
 
     if defined?(Rational) && !Rational.instance_variable_get('@RCS_ID')
       assert_equal(Complex(-3,4), c ** Rational(2))
@@ -520,11 +507,11 @@
 
       r = c ** Rational(2,3)
       assert_in_delta(1.264, r.real, 0.001)
-      assert_in_delta(1.150, r.image, 0.001)
+      assert_in_delta(1.150, r.imag, 0.001)
 
       r = c ** Rational(-2,3)
       assert_in_delta(0.432, r.real, 0.001)
-      assert_in_delta(-0.393, r.image, 0.001)
+      assert_in_delta(-0.393, r.imag, 0.001)
     end
   end
 
@@ -573,9 +560,9 @@
     assert_equal(5, c.abs2)
 
     assert_equal(c.abs, Math.sqrt(c * c.conj))
-    assert_equal(c.abs, Math.sqrt(c.real**2 + c.image**2))
+    assert_equal(c.abs, Math.sqrt(c.real**2 + c.imag**2))
     assert_equal(c.abs2, c * c.conj)
-    assert_equal(c.abs2, c.real**2 + c.image**2)
+    assert_equal(c.abs2, c.real**2 + c.imag**2)
 
     assert_in_delta(1.107, c.arg, 0.001)
     assert_in_delta(1.107, c.angle, 0.001)
@@ -862,24 +849,24 @@
 
   def test_to_c
     c = nil.to_c
-    assert_equal([0,0] , [c.real, c.image])
+    assert_equal([0,0] , [c.real, c.imag])
 
     c = 0.to_c
-    assert_equal([0,0] , [c.real, c.image])
+    assert_equal([0,0] , [c.real, c.imag])
 
     c = 1.to_c
-    assert_equal([1,0] , [c.real, c.image])
+    assert_equal([1,0] , [c.real, c.imag])
 
     c = 1.1.to_c
-    assert_equal([1.1, 0], [c.real, c.image])
+    assert_equal([1.1, 0], [c.real, c.imag])
 
     if defined?(Rational)
       c = Rational(1,2).to_c
-      assert_equal([Rational(1,2), 0], [c.real, c.image])
+      assert_equal([Rational(1,2), 0], [c.real, c.imag])
     end
 
     c = Complex(1,2).to_c
-    assert_equal([1, 2], [c.real, c.image])
+    assert_equal([1, 2], [c.real, c.imag])
   end
 
   def test_supp
@@ -887,12 +874,12 @@
     assert_equal(true, 1.1.real?)
 
     assert_equal(1, 1.real)
-    assert_equal(0, 1.image)
     assert_equal(0, 1.imag)
+    assert_equal(0, 1.imaginary)
 
     assert_equal(1.1, 1.1.real)
-    assert_equal(0, 1.1.image)
     assert_equal(0, 1.1.imag)
+    assert_equal(0, 1.1.imaginary)
 
     assert_equal(1, 1.magnitude)
     assert_equal(1, -1.magnitude)
@@ -987,91 +974,91 @@
 
       c = Math.sqrt(Complex(1, 2))
       assert_in_delta(1.272, c.real, 0.001)
-      assert_in_delta(0.786, c.image, 0.001)
+      assert_in_delta(0.786, c.imag, 0.001)
 
       c = Math.sqrt(-9)
       assert_in_delta(0.0, c.real, 0.001)
-      assert_in_delta(3.0, c.image, 0.001)
+      assert_in_delta(3.0, c.imag, 0.001)
 
       c = Math.exp(Complex(1, 2))
       assert_in_delta(-1.131, c.real, 0.001)
-      assert_in_delta(2.471, c.image, 0.001)
+      assert_in_delta(2.471, c.imag, 0.001)
 
       c = Math.sin(Complex(1, 2))
       assert_in_delta(3.165, c.real, 0.001)
-      assert_in_delta(1.959, c.image, 0.001)
+      assert_in_delta(1.959, c.imag, 0.001)
 
       c = Math.cos(Complex(1, 2))
       assert_in_delta(2.032, c.real, 0.001)
-      assert_in_delta(-3.051, c.image, 0.001)
+      assert_in_delta(-3.051, c.imag, 0.001)
 
       c = Math.tan(Complex(1, 2))
       assert_in_delta(0.033, c.real, 0.001)
-      assert_in_delta(1.014, c.image, 0.001)
+      assert_in_delta(1.014, c.imag, 0.001)
 
       c = Math.sinh(Complex(1, 2))
       assert_in_delta(-0.489, c.real, 0.001)
-      assert_in_delta(1.403, c.image, 0.001)
+      assert_in_delta(1.403, c.imag, 0.001)
 
       c = Math.cosh(Complex(1, 2))
       assert_in_delta(-0.642, c.real, 0.001)
-      assert_in_delta(1.068, c.image, 0.001)
+      assert_in_delta(1.068, c.imag, 0.001)
 
       c = Math.tanh(Complex(1, 2))
       assert_in_delta(1.166, c.real, 0.001)
-      assert_in_delta(-0.243, c.image, 0.001)
+      assert_in_delta(-0.243, c.imag, 0.001)
 
       c = Math.log(Complex(1, 2))
       assert_in_delta(0.804, c.real, 0.001)
-      assert_in_delta(1.107, c.image, 0.001)
+      assert_in_delta(1.107, c.imag, 0.001)
 
       c = Math.log(Complex(1, 2), Math::E)
       assert_in_delta(0.804, c.real, 0.001)
-      assert_in_delta(1.107, c.image, 0.001)
+      assert_in_delta(1.107, c.imag, 0.001)
 
       c = Math.log(-1)
       assert_in_delta(0.0, c.real, 0.001)
-      assert_in_delta(Math::PI, c.image, 0.001)
+      assert_in_delta(Math::PI, c.imag, 0.001)
 
       c = Math.log(8, 2)
       assert_in_delta(3.0, c.real, 0.001)
-      assert_in_delta(0.0, c.image, 0.001)
+      assert_in_delta(0.0, c.imag, 0.001)
 
       c = Math.log(-8, -2)
       assert_in_delta(1.092, c.real, 0.001)
-      assert_in_delta(-0.420, c.image, 0.001)
+      assert_in_delta(-0.420, c.imag, 0.001)
 
       c = Math.log10(Complex(1, 2))
       assert_in_delta(0.349, c.real, 0.001)
-      assert_in_delta(0.480, c.image, 0.001)
+      assert_in_delta(0.480, c.imag, 0.001)
 
       c = Math.asin(Complex(1, 2))
       assert_in_delta(0.427, c.real, 0.001)
-      assert_in_delta(1.528, c.image, 0.001)
+      assert_in_delta(1.528, c.imag, 0.001)
 
       c = Math.acos(Complex(1, 2))
       assert_in_delta(1.143, c.real, 0.001)
-      assert_in_delta(-1.528, c.image, 0.001)
+      assert_in_delta(-1.528, c.imag, 0.001)
 
       c = Math.atan(Complex(1, 2))
       assert_in_delta(1.338, c.real, 0.001)
-      assert_in_delta(0.402, c.image, 0.001)
+      assert_in_delta(0.402, c.imag, 0.001)
 
       c = Math.atan2(Complex(1, 2), 1)
       assert_in_delta(1.338, c.real, 0.001)
-      assert_in_delta(0.402, c.image, 0.001)
+      assert_in_delta(0.402, c.imag, 0.001)
 
       c = Math.asinh(Complex(1, 2))
       assert_in_delta(1.469, c.real, 0.001)
-      assert_in_delta(1.063, c.image, 0.001)
+      assert_in_delta(1.063, c.imag, 0.001)
 
       c = Math.acosh(Complex(1, 2))
       assert_in_delta(1.528, c.real, 0.001)
-      assert_in_delta(1.143, c.image, 0.001)
+      assert_in_delta(1.143, c.imag, 0.001)
 
       c = Math.atanh(Complex(1, 2))
       assert_in_delta(0.173, c.real, 0.001)
-      assert_in_delta(1.178, c.image, 0.001)
+      assert_in_delta(1.178, c.imag, 0.001)
     end
 
   end
Index: rational.c
===================================================================
--- rational.c	(revision 19438)
+++ rational.c	(revision 19439)
@@ -1406,7 +1406,7 @@
 
     switch (TYPE(a1)) {
       case T_COMPLEX:
-	if (k_inexact_p(RCOMPLEX(a1)->image) || !f_zero_p(RCOMPLEX(a1)->image)) {
+	if (k_inexact_p(RCOMPLEX(a1)->imag) || !f_zero_p(RCOMPLEX(a1)->imag)) {
 	    VALUE s = f_to_s(a1);
 	    rb_raise(rb_eRangeError, "can't accept %s",
 		     StringValuePtr(s));
@@ -1416,7 +1416,7 @@
 
     switch (TYPE(a2)) {
       case T_COMPLEX:
-	if (k_inexact_p(RCOMPLEX(a2)->image) || !f_zero_p(RCOMPLEX(a2)->image)) {
+	if (k_inexact_p(RCOMPLEX(a2)->imag) || !f_zero_p(RCOMPLEX(a2)->imag)) {
 	    VALUE s = f_to_s(a2);
 	    rb_raise(rb_eRangeError, "can't accept %s",
 		     StringValuePtr(s));

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

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