Skip to content

# Preserve MBF32 values below IEEE single normal range - #294

Merged
Hawkynt merged 2 commits into
mainfrom
fix/mbf32-underflow-signed
Oct 7, 2026
Merged

Hawkynt merged 2 commits into
mainfrom
fix/mbf32-underflow-signed

Conversation

@Hawkynt

@Hawkynt Hawkynt commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Keep MBF conversions in x87 extended precision and round representable MBF32 low-range values without an IEEE-subnormal staging loss; flush below the minimum before rounding. Add BASICA/GW optimized and unoptimized boundary tests plus a genuine GW-BASIC 3.23 byte-for-byte differential. Local solution build: 0 warnings/errors. Full local suite: 6,581 passed, 0 failed. The signed remote tree matches the tested local tree.

Sourcing rung 2: genuine proprietary GW-BASIC 3.23 supplied the byte-for-byte oracle for MBF32 low-range and minimum-boundary behavior; no proprietary code was copied. The older MIT 1983 interpreter is not version-matched. Keep MBF conversions in x87 extended precision, round representable small values after exact scaling, and flush magnitudes below 2^-128 before rounding. The original and compiled DOS outputs match for positive, negative, minimum, and underflow cases.
@Hawkynt
Hawkynt merged commit fb672e5 into main Oct 7, 2026
5 checks passed
@Hawkynt
Hawkynt deleted the fix/mbf32-underflow-signed branch October 7, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant