• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / py-slang
87%

Build:
DEFAULT BRANCH: main
Repo Added 10 Mar 2026 12:15PM UTC
Files 111
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
  • main
  • NearleyDSL
  • add-autocomplete
  • add-chapter-2-documentation
  • add-chapter-3-documentation
  • add-complex
  • add-complex-to-docs
  • add-coveralls
  • add-docs-spread-expression
  • add-documentation
  • add-eslint
  • add-for-loops
  • add-grammar-types
  • add-multiple-resolver-validator-errors
  • add-print-llist-pvml-stepper
  • add-tco
  • adopt-black-python
  • ci-native-pynter-parity
  • cpython-test-mode-224
  • dependabot/npm_and_yarn/babel/core-7.29.7
  • dependabot/npm_and_yarn/flatted-3.4.2
  • dependabot/npm_and_yarn/handlebars-4.7.9
  • dependabot/npm_and_yarn/ip-address-10.2.0
  • dependabot/npm_and_yarn/lodash-4.18.1
  • dependabot/npm_and_yarn/markdown-it-14.1.1
  • dependabot/npm_and_yarn/markdown-it-14.2.0
  • dependabot/npm_and_yarn/mathjs-15.2.0
  • dependabot/npm_and_yarn/picomatch-2.3.2
  • dependabot/npm_and_yarn/serialize-javascript-7.0.5
  • dependabot/npm_and_yarn/tar-7.5.16
  • deploy-docs-to-python-subfolder
  • div
  • docs-local-source-academy-setup
  • docs-sourceacademy-sicp-not-published
  • docs-sourceacademy-sicp-published
  • docs/add-documentation-section
  • equality
  • feat/add-module-loader
  • feat/conductor-stepper
  • feat/global-keyword
  • feat/stepper-breakpoint
  • feat/stepper-output-box
  • feature/cse-machine-plugin
  • feature/standalone-cli
  • finish-pynter-rename
  • fix-214-exponent-without-dot
  • fix-4041-annotate-globals-in-frames
  • fix-carriage-return
  • fix-docs-deploy
  • fix-docs-makefile
  • fix-documentation
  • fix-error-type-names
  • fix-ll-prelude
  • fix-premature-frame-transition-on-return
  • fix-pynter-wasm-cwrap-null
  • fix-stdlib
  • fix-stepper-maxmin-arity
  • fix/233-currentline-synthetic-nodes
  • fix/complex-abs-hypot
  • fix/conductor-npm-dep
  • fix/cse-loop-spec-compliance
  • fix/cse-machine-display-bugs-228-229
  • fix/multiple-prints
  • fix/nested-lambdas
  • fix/nonlocal-and-scope-validators
  • fix/preprocessing-error-consistency
  • fix/prepublish-only
  • fix/py-slang-190-input-popup
  • fix/stepper-binding-substitution-timing
  • fix/tail-call-optimisation
  • global
  • issue-189-cse-machine-breakpoint
  • migrate-stdlib
  • more-package-improvements
  • operators
  • port-stdio
  • pr1-directory-restructure
  • pr2-svml-compiler
  • publishing
  • pvml-browser-revival
  • pvml-math-domain-and-runner-coverage
  • pvml-module-loading
  • pvml-native-pynter-parity
  • py2js-engine
  • pynter-parity-report-script
  • pynter-skip-gate
  • pyodide-torch
  • python-2-support
  • python-3-doc
  • python-4-doc-update
  • python-4-docs
  • python-4-support
  • python-package
  • remove-equal-215-on-equality
  • remove-unused-packages
  • renamings
  • single
  • skip-complex-number-tests-pynter
  • some-fixes
  • stepper-operator-conformance
  • svml-sinter-repl
  • test/py-cse-plugin
  • update-docs-chapter-1-2
  • update-docs-chapter-3
  • wasm-compiler
  • wasm-compiler-chapter-4
  • wasm-compiler-conductor-integration
  • wasm-error-message-alignment
  • wasm-operator-conformance
  • worktree-issue-223-local-var-allocation

19 Jul 2026 05:34AM UTC coverage: 86.906% (+0.04%) from 86.869%
29675068251

push

github

web-flow
fix: use Math.hypot for complex magnitude to avoid overflow (#286)

Computing a complex modulus as sqrt(re*re + im*im) overflows to
Infinity when a component's square leaves the float range, even
though the true modulus is representable (abs(complex(1e200, 0))
returned inf instead of 1e200). Math.hypot scales internally and is
what CPython itself uses for abs(complex).

Replace the sqrt-of-squares form at the three remaining sites — the
CSE machine's abs builtin, the PVML interpreter's abs, and
PyComplexNumber.pow's magnitude — aligning them with the stepper
engine (conductor/stepper), which already uses Math.hypot, and with
py2js since #282.

Add directed tests: abs(1e200+0j) through the shared CSE/Pynter/PVML
/CPython suites, and a PyComplexNumber.pow case whose intermediate
square overflows.

Fixes #284

3716 of 4596 branches covered (80.85%)

Branch coverage included in aggregate %.

3 of 3 new or added lines in 3 files covered. (100.0%)

18 existing lines in 1 file now uncovered.

8144 of 9051 relevant lines covered (89.98%)

159813.72 hits per line

Relevant lines Covered
Build:
Build:
9051 RELEVANT LINES 8144 COVERED LINES
159813.72 HITS PER LINE
Source Files on main
  • Tree
  • List 104
  • Changed 5
  • Source Changed 5
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
29675068251 main fix: use Math.hypot for complex magnitude to avoid overflow (#286) Computing a complex modulus as sqrt(re*re + im*im) overflows to Infinity when a component's square leaves the float range, even though the true modulus is representable (abs(compl... push 19 Jul 2026 05:47AM UTC web-flow github
86.91
29634557125 main Add WASM to the table-driven operator conformance sweep (#276) * Add WASM to the table-driven operator conformance sweep; fix real gaps it found Adds operator-conformance-wasm.test.ts, mirroring operator-conformance-pvml.test.ts: sweeps the same... push 18 Jul 2026 06:58AM UTC web-flow github
86.87
29631471367 main Overhaul of "wrong type" messages: operators and builtin functions, CSE machine and PVML-in-browser (#273) * Fix operand-type names leaking JS internals into TypeError messages Both engines' "unsupported operand type(s)" errors were showing inte... push 18 Jul 2026 05:08AM UTC web-flow github
80.96
29628807963 main Wasm compiler conductor integration and cleanup (#149) * initial commit of wasm-compiler * change type tags to be compile-time construct previously, type tags were stored as wasm global consts. this changes it them to be inlined consts instead ... push 18 Jul 2026 03:33AM UTC web-flow github
80.65
29571170123 main Add Module Loader (#217) * feat(cse): add data handler * feat: add module interop * fix: linting issues * fix: arity calculation * feat: add tests * fix: make Gemini's changes * fix: allow it to work with cse machine * fix: use opaqueiden... push 17 Jul 2026 09:52AM UTC web-flow github
80.55
29545691509 main Revive PVML-in-browser pathway: full 4-chapter support, bigint/complex numbers, spread/rest args, parser group (#236) * revamping equality and identity * wording improved * taking care of the PVML aspects of this spec change * Restrict the nat... push 17 Jul 2026 12:52AM UTC web-flow github
81.01
29534975709 main Add table-driven operator conformance sweep for the stepper (#269) Mirrors the existing CSE/native-Pynter/pynter-wasm conformance suites: for every operator x type x type combination in operator-spec.ts, compute the CSE machine's own result fresh... push 16 Jul 2026 09:13PM UTC web-flow github
78.24
29379477368 main Testing `sourceacademy-sicp` and py-slang Jest test suite (#255) * Add opt-in CPython ground-truth test mode (#224) Reruns py-slang's own Jest test cases through real CPython (via a new scripts/cpython_batch_runner.py and generateCPythonTestCase... push 15 Jul 2026 12:39AM UTC web-flow github
78.04
29318926971 main Adopt Black for the CPython sicp package (python/) (#204) Add Black as the formatter for the python/ package so style is consistent and not up for debate: - [tool.black] in python/pyproject.toml (line-length 88, target py310-py313, matching re... push 14 Jul 2026 08:45AM UTC web-flow github
77.8
29310463833 main Use npm registry release for @sourceacademy/conductor dependency (#266) package.json pinned conductor to a GitHub tag URL (#0.6.0), which lags behind the published npm registry releases (now at 0.7.0). Switch to the npm semver range so dependency... push 14 Jul 2026 06:12AM UTC web-flow github
77.8
See All Builds (555)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc