Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

math.huge prints 1.7976931348623e+308 when the host has real inf (lr_numstr/lr_fmt_g are finite-only)

Open
#63 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
lua
Domain
compilers

Research direction

Start in src/runtime.eigs at lr_numstr and lr_fmt_g, which format finite values only, and at the math.huge workaround near line 3286. Reproduce with print(math.huge, tostring(-math.huge)) under bin/eigenlua. The fix needs an IEEE EigenScript build (make ieee), which depends on upstream work (#1644 Phase 2), so confirm that build exists first. Done means non-finite values print inf, -inf and nan like Lua 5.4, with a test row covering math.huge, -math.huge and 0/0.

Written by the indexing model from the issue text.

Description

Found by EigenScript #1746 Phase 1 (IEEE-754 experiment build, make ieee). With real inf in the host, math.huge IS inf (math.huge > 1.7976931348623157e308 is true), but printing goes through lr_numstr -> lr_fmt_g (src/runtime.eigs, "C's %.

g for finite x"), which decodes exponent bits and prints 1.7976931348623e+308. Lua 5.4 prints inf, -inf, and nan/-nan.

Repro: print(math.huge, tostring(-math.huge)) with EIGENSCRIPT=<EigenScript build/ieee/eigenscript> bin/eigenlua -> 1.7976931348623e+308 -1.7976931348623e+308.

Only reachable once EigenScript ships IEEE doubles (#1644 Phase 2); today the host clamps to 1e308. The runtime.eigs:3286 math.huge workaround comment also goes stale then.

Done when

  • lr_numstr (and string.format %g/%f paths) emit inf/-inf/nan for non-finite values, matching Lua 5.4, under an IEEE host build.
  • A test row prints math.huge, -math.huge, 0/0 and compares to real Lua's output.
Dominant language
Lua
Stars
0
Forks
0
Avg merge
54m
Merged PRs (30d)
19

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from InauguralSystems/EigenLua

All issues in InauguralSystems/EigenLua

Similar issues

More Lua issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.