Skip to content

Word8.toLargeInt produces incorrect results on 32-bit platforms #355

Description

@JohnReppy

Version

110.99.7.1 (Latest)

Operating System

  • Any
  • Linux
  • macOS
  • Windows
  • Other Unix

OS Version

No response

Processor

  • Any
  • Arm (using Rosetta)
  • PowerPC
  • Sparc
  • x86 (32-bit)
  • x86-64 (64-bit)
  • Other

System Component

Core system

Severity

Major

Description

The Word8.toLargeInt function produces bogus results.

Transcript

Standard ML of New Jersey [Version 110.99.7.1; 32-bit; January 17, 2025]
- Word8.toLargeInt 0w0;
val it = 20057480 : IntInf.int
- List.map Word8.toLargeInt [0wx0, 0wx1, 0wx2, 0wx3];
val it = [1,4294967297,8589934593,12884901889] : IntInf.int list

Expected Behavior

Word8.toLargeInt 0w0 should produce 0.

Steps to Reproduce

See transcript.

Additional Information

No response

Email address

jhr@cs.uchicago.edu

Metadata

Metadata

Assignees

Labels

32-bit systemsIssues specific to legacy 32-bit systemsbasis-libproblem with Standard ML Basis librarybugSomething isn't workingfixed-in-110.99.8Issues fixed in the 110.99.8 release

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions