From ecabbf1bf606305bb553100700e1edb487604ecc Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 16 Jun 2013 09:53:45 +0000 Subject: * internal.h (INTEGER_PACK_2COMP): Defined. (rb_integer_pack_2comp): Removed. * bignum.c (bary_pack): Support INTEGER_PACK_2COMP. (rb_integer_pack): Invoke bary_pack directly. (rb_integer_pack_2comp): Removed. (rb_integer_pack_internal): Ditto. (absint_numwords_generic): Follow the above change. * pack.c (pack_pack): Ditto. * sprintf.c (rb_str_format): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/-test-/bignum/pack.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'ext') diff --git a/ext/-test-/bignum/pack.c b/ext/-test-/bignum/pack.c index fc2dac1b25..f95c932670 100644 --- a/ext/-test-/bignum/pack.c +++ b/ext/-test-/bignum/pack.c @@ -35,24 +35,6 @@ rb_integer_pack_m(VALUE val, VALUE numwords_arg, VALUE wordsize_arg, VALUE nails return rb_assoc_new(INT2NUM(sign), buf); } -static VALUE -rb_integer_pack_2comp_m(VALUE val, VALUE numwords_arg, VALUE wordsize_arg, VALUE nails, VALUE flags) -{ - int sign; - size_t numwords = NUM2SIZET(numwords_arg); - size_t wordsize = NUM2SIZET(wordsize_arg); - VALUE buf; - - if (numwords != 0 && wordsize != 0 && LONG_MAX / wordsize < numwords) - rb_raise(rb_eArgError, "too big numwords * wordsize"); - buf = rb_str_new(NULL, numwords * wordsize); - sign = rb_integer_pack_2comp(val, - RSTRING_PTR(buf), numwords, - wordsize, NUM2SIZET(nails), NUM2INT(flags)); - - return rb_assoc_new(INT2NUM(sign), buf); -} - static VALUE rb_integer_unpack_m(VALUE klass, VALUE buf, VALUE numwords, VALUE wordsize, VALUE nails, VALUE flags) { @@ -78,7 +60,6 @@ Init_pack(VALUE klass) { rb_define_method(rb_cInteger, "test_pack_raw", rb_integer_pack_raw_m, 5); rb_define_method(rb_cInteger, "test_pack", rb_integer_pack_m, 4); - rb_define_method(rb_cInteger, "test_pack_2comp", rb_integer_pack_2comp_m, 4); rb_define_singleton_method(rb_cInteger, "test_unpack", rb_integer_unpack_m, 5); rb_define_singleton_method(rb_cInteger, "test_unpack_2comp", rb_integer_unpack_2comp_m, 5); rb_define_const(rb_cInteger, "INTEGER_PACK_MSWORD_FIRST", INT2NUM(INTEGER_PACK_MSWORD_FIRST)); @@ -86,6 +67,7 @@ Init_pack(VALUE klass) rb_define_const(rb_cInteger, "INTEGER_PACK_MSBYTE_FIRST", INT2NUM(INTEGER_PACK_MSBYTE_FIRST)); rb_define_const(rb_cInteger, "INTEGER_PACK_LSBYTE_FIRST", INT2NUM(INTEGER_PACK_LSBYTE_FIRST)); rb_define_const(rb_cInteger, "INTEGER_PACK_NATIVE_BYTE_ORDER", INT2NUM(INTEGER_PACK_NATIVE_BYTE_ORDER)); + rb_define_const(rb_cInteger, "INTEGER_PACK_2COMP", INT2NUM(INTEGER_PACK_2COMP)); rb_define_const(rb_cInteger, "INTEGER_PACK_LITTLE_ENDIAN", INT2NUM(INTEGER_PACK_LITTLE_ENDIAN)); rb_define_const(rb_cInteger, "INTEGER_PACK_BIG_ENDIAN", INT2NUM(INTEGER_PACK_BIG_ENDIAN)); rb_define_const(rb_cInteger, "INTEGER_PACK_FORCE_BIGNUM", INT2NUM(INTEGER_PACK_FORCE_BIGNUM)); -- cgit v1.2.3