lua: math library (abs/trig/log/pow/min/max/fmod/modf/random/...) +17 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Has been cancelled

This commit is contained in:
2026-04-24 18:53:28 +00:00
parent 8c25527205
commit 6dfef34a4b
3 changed files with 170 additions and 1 deletions

View File

@@ -768,6 +768,42 @@ cat > "$TMPFILE" << 'EPOCHS'
(epoch 1181)
(eval "(lua-eval-ast \"return string.format(\\\"%d%%\\\", 50)\")")
;; ── Phase 6: math library ─────────────────────────────────────
(epoch 1200)
(eval "(lua-eval-ast \"return math.pi > 3.14 and math.pi < 3.15\")")
(epoch 1201)
(eval "(lua-eval-ast \"return math.huge > 1000000\")")
(epoch 1210)
(eval "(lua-eval-ast \"return math.abs(-7)\")")
(epoch 1211)
(eval "(lua-eval-ast \"return math.sqrt(16)\")")
(epoch 1212)
(eval "(lua-eval-ast \"return math.floor(3.7)\")")
(epoch 1213)
(eval "(lua-eval-ast \"return math.ceil(3.2)\")")
(epoch 1220)
(eval "(lua-eval-ast \"return math.max(3, 7, 1, 4)\")")
(epoch 1221)
(eval "(lua-eval-ast \"return math.min(3, 7, 1, 4)\")")
(epoch 1230)
(eval "(lua-eval-ast \"return math.pow(2, 8)\")")
(epoch 1231)
(eval "(lua-eval-ast \"return math.exp(0)\")")
(epoch 1232)
(eval "(lua-eval-ast \"return math.log(1)\")")
(epoch 1233)
(eval "(lua-eval-ast \"return math.log10(100)\")")
(epoch 1240)
(eval "(lua-eval-ast \"return math.sin(0) + math.cos(0)\")")
(epoch 1250)
(eval "(lua-eval-ast \"return math.fmod(10, 3)\")")
(epoch 1251)
(eval "(lua-eval-ast \"local i, f = math.modf(3.5) return i\")")
(epoch 1260)
(eval "(lua-eval-ast \"local r = math.random(100) return r >= 1 and r <= 100\")")
(epoch 1261)
(eval "(lua-eval-ast \"local r = math.random(5, 10) return r >= 5 and r <= 10\")")
EPOCHS
OUTPUT=$(timeout 60 "$SX_SERVER" < "$TMPFILE" 2>/dev/null)
@@ -1151,6 +1187,25 @@ check 1170 "string.gmatch iterator" '3'
check 1180 "string.format %s=%d" '"x=42"'
check 1181 "string.format %d%%" '"50%"'
# ── Phase 6: math library ─────────────────────────────────────
check 1200 "math.pi in range" 'true'
check 1201 "math.huge big" 'true'
check 1210 "math.abs(-7)" '7'
check 1211 "math.sqrt(16)" '4'
check 1212 "math.floor(3.7)" '3'
check 1213 "math.ceil(3.2)" '4'
check 1220 "math.max(3,7,1,4)" '7'
check 1221 "math.min(3,7,1,4)" '1'
check 1230 "math.pow(2,8)" '256'
check 1231 "math.exp(0)" '1'
check 1232 "math.log(1)" '0'
check 1233 "math.log10(100)" '2'
check 1240 "math.sin(0)+math.cos(0)" '1'
check 1250 "math.fmod(10,3)" '1'
check 1251 "math.modf(3.5) int part" '3'
check 1260 "math.random(n) in range" 'true'
check 1261 "math.random(m,n) in range" 'true'
TOTAL=$((PASS + FAIL))
if [ $FAIL -eq 0 ]; then
echo "ok $PASS/$TOTAL Lua-on-SX tests passed"