Skip to content

Int64.float_of_bits weirdness on x86 ports #5038

Description

@vicuna

Original bug ID: 5038
Reporter: @alainfrisch
Assigned to: @xavierleroy
Status: closed (set by @xavierleroy on 2010-05-19T12:35:37Z)
Resolution: not a bug
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Related to: #4948

Bug description

Let's consider:

Printf.printf "%Lx\n%!" (Int64.bits_of_float (Int64.float_of_bits 0x7F_F0_00_00_00_00_00_01L));;

On Windows and Linux 64-bit ports, I get as expected:

7ff0000000000001

but on 32-ports, I get:

7ff8000000000001

As a consequence, Pervasives.nan is represented differently on 32-bit and 64-bit ports, and this gives different results when marshalling it.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions