зеркало из https://github.com/github/ruby.git
* random.c (int_pair_to_real_inclusive): Use rb_funcall instead of
rb_big_mul because rb_integer_unpack can return a Fixnum. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
8ca1e1238e
Коммит
6b5be413bb
|
@ -1,3 +1,8 @@
|
||||||
|
Sat Jun 8 11:59:55 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
* random.c (int_pair_to_real_inclusive): Use rb_funcall instead of
|
||||||
|
rb_big_mul because rb_integer_unpack can return a Fixnum.
|
||||||
|
|
||||||
Sat Jun 8 11:17:39 2013 Tanaka Akira <akr@fsij.org>
|
Sat Jun 8 11:17:39 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* random.c (int_pair_to_real_inclusive): Use rb_integer_pack.
|
* random.c (int_pair_to_real_inclusive): Use rb_integer_pack.
|
||||||
|
|
2
random.c
2
random.c
|
@ -293,7 +293,7 @@ int_pair_to_real_inclusive(uint32_t a, uint32_t b)
|
||||||
m = rb_integer_unpack(+1, mary, 2, sizeof(uint32_t), 0,
|
m = rb_integer_unpack(+1, mary, 2, sizeof(uint32_t), 0,
|
||||||
INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);
|
INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);
|
||||||
|
|
||||||
x = rb_big_mul(x, m);
|
x = rb_funcall(x, '*', 1, m);
|
||||||
if (FIXNUM_P(x)) {
|
if (FIXNUM_P(x)) {
|
||||||
#if CHAR_BIT * SIZEOF_LONG > 64
|
#if CHAR_BIT * SIZEOF_LONG > 64
|
||||||
r = (double)(FIX2ULONG(x) >> 64);
|
r = (double)(FIX2ULONG(x) >> 64);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче