<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/bignum.c, branch v2_0_0_451</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 41839,41841:</title>
<updated>2013-07-13T14:25:36+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-07-13T14:25:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=57ec0834a1fdd759d942feba1568305853d77270'/>
<id>57ec0834a1fdd759d942feba1568305853d77270</id>
<content type='text'>
	* bignum.c (biglsh_bang): Fix bignum digits under-run.

	* bignum.c (bigrsh_bang): Fix bignum digits overrun.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* bignum.c (biglsh_bang): Fix bignum digits under-run.

	* bignum.c (bigrsh_bang): Fix bignum digits overrun.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 40208: [Backport #8380]</title>
<updated>2013-05-07T16:49:01+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-05-07T16:49:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=555035a349bb9d7659317dc65dc68ce6e2e6aaa7'/>
<id>555035a349bb9d7659317dc65dc68ce6e2e6aaa7</id>
<content type='text'>
	* internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro.
	  (MUL_OVERFLOW_FIXNUM_P): Ditto.
	  (MUL_OVERFLOW_LONG_P): Ditto.

	* array.c (rb_ary_product): Don't overflow on signed integer
	  multiplication.

	* numeric.c (fix_mul): Ditto.
	  (int_pow): Ditto.

	* rational.c (f_imul): Ditto.

	* insns.def (opt_mult): Ditto.

	* thread.c (sleep_timeval): Don't overflow on signed integer addition.

	* bignum.c (rb_int2big): Don't overflow on signed integer negation.
	  (rb_big2ulong): Ditto.
	  (rb_big2long): Ditto.
	  (rb_big2ull): Ditto.
	  (rb_big2ll): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro.
	  (MUL_OVERFLOW_FIXNUM_P): Ditto.
	  (MUL_OVERFLOW_LONG_P): Ditto.

	* array.c (rb_ary_product): Don't overflow on signed integer
	  multiplication.

	* numeric.c (fix_mul): Ditto.
	  (int_pow): Ditto.

	* rational.c (f_imul): Ditto.

	* insns.def (opt_mult): Ditto.

	* thread.c (sleep_timeval): Don't overflow on signed integer addition.

	* bignum.c (rb_int2big): Don't overflow on signed integer negation.
	  (rb_big2ulong): Ditto.
	  (rb_big2long): Ditto.
	  (rb_big2ull): Ditto.
	  (rb_big2ll): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39418:</title>
<updated>2013-03-09T13:52:22+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-09T13:52:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9fcf2f8f4b64d9badf3d0c35f9913ad897cf4394'/>
<id>9fcf2f8f4b64d9badf3d0c35f9913ad897cf4394</id>
<content type='text'>
	* array.c: Document #&lt;=&gt; return values and formatting

	* bignum.c: ditto

	* file.c: ditto

	* object.c: ditto

	* numeric.c: ditto

	* rational.c: ditto

	* string.c: ditto

	* time.c: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* array.c: Document #&lt;=&gt; return values and formatting

	* bignum.c: ditto

	* file.c: ditto

	* object.c: ditto

	* numeric.c: ditto

	* rational.c: ditto

	* string.c: ditto

	* time.c: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>adjust style</title>
<updated>2012-12-29T12:22:04+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-29T12:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=be7bf5aa0cd9a8e90dbaf268d53b8590fc23393d'/>
<id>be7bf5aa0cd9a8e90dbaf268d53b8590fc23393d</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bignum.c, include/ruby/intern.h (rb_big_eql): exported.</title>
<updated>2012-12-25T10:14:12+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-25T10:14:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a3d9672407b77c2a26af7e15a82d1f91e762b602'/>
<id>a3d9672407b77c2a26af7e15a82d1f91e762b602</id>
<content type='text'>
* thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on
  LLP64.  see also r38493 and r38548.
  reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched
  by shirosaki at [ruby-core:51095]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* thread.c (recursive_check): object_id maybe a Bignum, not Fixnum on
  LLP64.  see also r38493 and r38548.
  reported by Heesob Park at [ruby-core:51083] [Bug #7607], and patched
  by shirosaki at [ruby-core:51095]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* include/ruby/intern.h: add the prototype declaration of</title>
<updated>2012-12-22T15:06:22+00:00</updated>
<author>
<name>mrkn</name>
<email>mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-22T15:06:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a756488c6d3a9a0d0fab76cd4c67e655f00c399b'/>
<id>a756488c6d3a9a0d0fab76cd4c67e655f00c399b</id>
<content type='text'>
  rb_num_coerce_bit.

* numeric.c (rb_num_coerce_bit): the new coerce function for bitwise
  binary operation.

* bignum.c (rb_big_and): use coerce to convert the argument, which isn't
  a Fixnum nor a Bignum, to the corresponding Integer object so that
  bitwise operations can support Integer-mimic objects.
  [Bug #1792] [ruby-core:39491]

* bignum.c (rb_big_or): ditto.

* bignum.c (rb_big_xor): ditto.

* numeric.c (bit_coerce): ditto.

* numeric.c (fix_and): ditto.

* numeric.c (fix_or): ditto.

* numeric.c (fix_xor): ditto.

* test/ruby/test_integer.rb: add tests for the above changes.

* test/ruby/test_bignum.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  rb_num_coerce_bit.

* numeric.c (rb_num_coerce_bit): the new coerce function for bitwise
  binary operation.

* bignum.c (rb_big_and): use coerce to convert the argument, which isn't
  a Fixnum nor a Bignum, to the corresponding Integer object so that
  bitwise operations can support Integer-mimic objects.
  [Bug #1792] [ruby-core:39491]

* bignum.c (rb_big_or): ditto.

* bignum.c (rb_big_xor): ditto.

* numeric.c (bit_coerce): ditto.

* numeric.c (fix_and): ditto.

* numeric.c (fix_or): ditto.

* numeric.c (fix_xor): ditto.

* test/ruby/test_integer.rb: add tests for the above changes.

* test/ruby/test_bignum.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bignum.c (bigdivrem): optimize the way to retry calculation of</title>
<updated>2012-11-27T12:46:32+00:00</updated>
<author>
<name>mrkn</name>
<email>mrkn@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-11-27T12:46:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1dce5edf993a15c66c61965fcab4c2f5a07f6312'/>
<id>1dce5edf993a15c66c61965fcab4c2f5a07f6312</id>
<content type='text'>
  bigdivrem so that the calculation is started from the point where
  the last interruption was occurred.

* bignum.c (bigdivrem1): ditto.

* test/ruby/test_bignum.rb: add a test case for rb_bigdivrem in the
  case that an interruption is occurred during bigdivrem1 is running.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  bigdivrem so that the calculation is started from the point where
  the last interruption was occurred.

* bignum.c (bigdivrem1): ditto.

* test/ruby/test_bignum.rb: add a test case for rb_bigdivrem in the
  case that an interruption is occurred during bigdivrem1 is running.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bignum.c (bigdivrem): restart calculation when bigdivrem1 was</title>
<updated>2012-11-26T07:00:04+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-11-26T07:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cb0a4c0f6231639dab11d50b21614cbea019e5d4'/>
<id>cb0a4c0f6231639dab11d50b21614cbea019e5d4</id>
<content type='text'>
  interrupted by signal. Otherwise, ruby script may see a garbage
  value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  interrupted by signal. Otherwise, ruby script may see a garbage
  value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* bignum.c (big_div_struct): added volatile to 'stop' member.</title>
<updated>2012-11-26T06:49:48+00:00</updated>
<author>
<name>kosaki</name>
<email>kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-11-26T06:49:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6f3ad9bd3d1c0fd53539d55743b445d67360e911'/>
<id>6f3ad9bd3d1c0fd53539d55743b445d67360e911</id>
<content type='text'>
  Otherwise, "if (bds-&gt;stop)" check in bigdivrem1 don't read
  memory and ignore interrupt.
* bignum.c (bigdivrem, rb_big_stop): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  Otherwise, "if (bds-&gt;stop)" check in bigdivrem1 don't read
  memory and ignore interrupt.
* bignum.c (bigdivrem, rb_big_stop): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>revert r37710, requested by Tadayoshi Funaba [ruby-dev:46575]</title>
<updated>2012-11-21T05:09:19+00:00</updated>
<author>
<name>shyouhei</name>
<email>shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-11-21T05:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5821c7514836104b44892c046590b09d42d444b9'/>
<id>5821c7514836104b44892c046590b09d42d444b9</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
