@skenvy/collatz v1.3.0
Collatz: JavaScript 🟨🟦🟩🟥
Functions related to the Collatz/Syracuse/3N+1 problem, implemented in JavaScript (transpiled from TypeScript).
Getting Started
To install the latest from npm;
npm i @skenvy/collatz
Also available on deno and on jsr.
Usage
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
.
Usage Examples
TSDoc+TypeDoc generated docs
Istanbul.js/nyc generated coverage
Developing
The first time setup
git clone https://github.com/Skenvy/Collatz.git && cd Collatz/javascript && make setup
Iterative development
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 runnpm pack
after linting, testing, and verifying check-in.