mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
VC6 error
* random.c (int_pair_to_real_inclusive): get rid of VC6 compile error C2520: conversion from unsigned __int64 to double not implemented. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
df8c48a3f9
commit
91ec3d8fbe
1 changed files with 1 additions and 1 deletions
2
random.c
2
random.c
|
@ -286,7 +286,7 @@ int_pair_to_real_inclusive(uint32_t a, uint32_t b)
|
||||||
const uint128_t m = ((uint128_t)1 << dig) | 1;
|
const uint128_t m = ((uint128_t)1 << dig) | 1;
|
||||||
uint128_t x = ((uint128_t)a << 32) | b;
|
uint128_t x = ((uint128_t)a << 32) | b;
|
||||||
r = (double)(uint64_t)((x * m) >> 64);
|
r = (double)(uint64_t)((x * m) >> 64);
|
||||||
#elif defined HAVE_UINT64_T
|
#elif defined HAVE_UINT64_T && !(defined _MSC_VER && _MSC_VER <= 1200)
|
||||||
uint64_t x = ((uint64_t)a << dig_u) +
|
uint64_t x = ((uint64_t)a << dig_u) +
|
||||||
(((uint64_t)b + (a >> dig_u)) >> dig_r64);
|
(((uint64_t)b + (a >> dig_u)) >> dig_r64);
|
||||||
r = (double)x;
|
r = (double)x;
|
||||||
|
|
Loading…
Reference in a new issue