@skenvy/collatz

Collatz: JavaScript 🟨🟦🟩🟥

Banner Image, Collatz Coral

Colourised Collatz Coral; derived from this original by Edmund Harriss


Functions related to the Collatz/Syracuse/3N+1 problem, implemented in JavaScript (transpiled from TypeScript).

To install the latest from npm;

npm i @skenvy/collatz

Also available on deno and on jsr.

Provides the basic functionality to interact with the Collatz conjecture. The parameterisation uses the same (P,a,b) notation as Conway's generalisations. Besides the function and reverse function, there is also functionality to retrieve the hailstone sequence, the "stopping time"/"total stopping time", or tree-graph. The only restriction placed on parameters is that both P and a can't be 0.

git clone https://github.com/Skenvy/Collatz.git && cd Collatz/javascript && make setup

The majority of make recipes for this are just wrapping an invocation of npm run ... on one of the package.json's "scripts". If you want to run these with a version of node installed outside of nvm and you're sure you've got the right node and npm versions, you can append _="" to your make invocations to circumvent nvm proctoring.

  • make docs will recreate the TypeDoc docs, based on TSDoc comments.
  • make test will run the mocha tests and attempt a dry run of the publishing.
  • make lint will run eslint.
  • make verify_transpiled_checkin will confirm you haven't forgotten to check in changes to the transpiled output.
  • make build will run npm pack after linting, testing, and verifying check-in.