Hi.
Thx for your answer.
I'm afraid I get : 5.333806864e-315 with step 1.
##
Object* V8::FillHeapNumberWithRandom(Object* heap_number) {
// uint64_t random_bits = Random();
// Make a double* from address (heap_number + sizeof(double)).
double_int_union* r = reinterpret_cast<double_int_union*>(
reinterpret_cast<char*>(heap_number) +
HeapNumber::kValueOffset - kHeapObjectTag);
// Convert 32 random bits to 0.(32 random bits) in a double
// by computing:
// ( 1.(20 0s)(32 random bits) x 2^20 ) - (1.0 x 2^20)).
const double binary_million = 1048576.0;
r->double_value = binary_million;
//r->uint64_t_value |= random_bits;
//r->double_value -= binary_million;
return heap_number;
}
##
I try step 2 for fun, and I get 1.7422461335011523e+41.
Guillaume
--
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users