math.huge prints 1.7976931348623e+308 when the host has real inf (lr_numstr/lr_fmt_g are finite-only)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
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(andstring.format%g/%f paths) emitinf/-inf/nanfor non-finite values, matching Lua 5.4, under an IEEE host build. - A test row prints
math.huge,-math.huge,0/0and compares to real Lua's output.
- Dominant language
- Lua
- Stars
- 0
- Forks
- 0
- Avg merge
- 54m
- Merged PRs (30d)
- 19
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InauguralSystems/EigenLua
-
documentation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
InauguralSystems/EigenLua#60 ·
Maintainers usually reply within 1 day
-
front-end good first issue
Difficulty 3/5 Half a day Newbie friendliness 70/100
InauguralSystems/EigenLua#62 ·
Maintainers usually reply within 1 day
-
front-end good first issue
Difficulty 3/5 Half a day Newbie friendliness 66/100
InauguralSystems/EigenLua#61 ·
Maintainers usually reply within 1 day
-
enhancement front-end help wanted
Difficulty 4/5 3-5 days Newbie friendliness 35/100
InauguralSystems/EigenLua#55 ·
Maintainers usually reply within 1 day
-
1/0 and 0/0 abort the program with 'EigenScript value error: division by zero' (ref: inf / nan)Openbug eigenscript-gap
Difficulty 3/5 1-2 days Newbie friendliness 42/100
InauguralSystems/EigenLua#50 ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenLua
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
documentation enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
EmirErtorer/ink-away.koplugin#38 · 1 comment ·
-
Feature Request
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Questie/QuestieTrace#92 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
WitchOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
LuaLS/lua-language-server#3471 ·