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

ruby-changes:50378

From: nobu <ko1@a...>
Date: Tue, 20 Feb 2018 17:01:51 +0900 (JST)
Subject: [ruby-changes:50378] nobu:r62494 (trunk): Signature of rb_uint2big and rb_int2big

nobu	2018-02-20 17:01:44 +0900 (Tue, 20 Feb 2018)

  New Revision: 62494

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=62494

  Log:
    Signature of rb_uint2big and rb_int2big
    
    * include/ruby/ruby.h (rb_uint2big, rb_int2big): declare with
      uintptr_t and intptr_t instead of VALUE and SIGNED_VALUE
      respectively.  [ruby-core:83424] [Bug #14036]

  Modified files:
    trunk/bignum.c
    trunk/include/ruby/ruby.h
Index: bignum.c
===================================================================
--- bignum.c	(revision 62493)
+++ bignum.c	(revision 62494)
@@ -3144,7 +3144,7 @@ rb_big_norm(VALUE x) https://github.com/ruby/ruby/blob/trunk/bignum.c#L3144
 }
 
 VALUE
-rb_uint2big(VALUE n)
+rb_uint2big(uintptr_t n)
 {
     long i;
     VALUE big = bignew(bdigit_roomof(SIZEOF_VALUE), 1);
@@ -3166,7 +3166,7 @@ rb_uint2big(VALUE n) https://github.com/ruby/ruby/blob/trunk/bignum.c#L3166
 }
 
 VALUE
-rb_int2big(SIGNED_VALUE n)
+rb_int2big(intptr_t n)
 {
     long neg = 0;
     VALUE u;
@@ -3187,14 +3187,14 @@ rb_int2big(SIGNED_VALUE n) https://github.com/ruby/ruby/blob/trunk/bignum.c#L3187
 }
 
 VALUE
-rb_uint2inum(VALUE n)
+rb_uint2inum(uintptr_t n)
 {
     if (POSFIXABLE(n)) return LONG2FIX(n);
     return rb_uint2big(n);
 }
 
 VALUE
-rb_int2inum(SIGNED_VALUE n)
+rb_int2inum(intptr_t n)
 {
     if (FIXABLE(n)) return LONG2FIX(n);
     return rb_int2big(n);
@@ -5933,7 +5933,7 @@ bigdivrem(VALUE x, VALUE y, volatile VAL https://github.com/ruby/ruby/blob/trunk/bignum.c#L5933
 	zds = BDIGITS(z);
         dd = bigdivrem_single(zds, xds, xn, dd);
 	if (modp) {
-	    *modp = rb_uint2big((VALUE)dd);
+	    *modp = rb_uint2big((uintptr_t)dd);
 	    BIGNUM_SET_SIGN(*modp, BIGNUM_SIGN(x));
 	}
 	if (divp) *divp = z;
Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h	(revision 62493)
+++ include/ruby/ruby.h	(revision 62494)
@@ -747,8 +747,8 @@ rb_num2ll_inline(VALUE x) https://github.com/ruby/ruby/blob/trunk/include/ruby/ruby.h#L747
 double rb_num2dbl(VALUE);
 #define NUM2DBL(x) rb_num2dbl((VALUE)(x))
 
-VALUE rb_uint2big(VALUE);
-VALUE rb_int2big(SIGNED_VALUE);
+VALUE rb_uint2big(uintptr_t);
+VALUE rb_int2big(intptr_t);
 
 VALUE rb_newobj(void);
 VALUE rb_newobj_of(VALUE, VALUE);

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

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