Releases: tomhea/flip-jump
v1.2.2 stable
Version 1.2.2 changes:
hex.div
is finally ready & tested. It is much faster than thebit.div
options.- stl refactor is complete. it is now fully documented (incl. updated complexities) and clean-code.
- Codebase improved: now passes mypy, flake8, bandit, black.
- Now supports CI - each pull request must succeed in the following tests:
pytest --regular
tests for all supported python versions, for each os of windows, ubuntu, macos (using tox).- Linters & checkers: mypy, flake8, bandit, black.
pytest --all
in parallel (The results are printed as a table in the workflow summary, for example).
- Updated READMEs and resources to match the new changes.
hex.div complexity improvement
macro | Time | Space |
---|---|---|
bit.div_loop | 1,622,016 | 35,008 |
bit.div | 942,080 | 1,036,288 |
hex.div | 219,136 | 11,904 |
It is all tested, and ready to be used on windows, linux, and mac, with python 3.8.1+.
Full Changelog: 1.2.1...1.2.2
v1.2.1 stable
Version 1.2.1 changes:
- Improved pointers implementation - Memory access is now much faster.
- You can now store a whole byte inside one pointed op.
- new read/write hex/byte macros. push/pop now use the byte accessing.
- Improved debugger, Read Memory option: read flipjump variables (nicely formatted), and memory words.
- now supports running from python 3.7 to python 3.12
- added real life examples: prime_sieve & and bubble_sort programs.
- fix some small bugs, update documentation.
It is all tested, and ready to be used on windows or linux (and mac shouldn't be a problem), with python 3.7+.
The only exception is hex.div which still doesn't work (its tests are xfailed), so you can use the slower-but-stable bit.div+casts for division.
v1.2.0 stable
Version 1.2.0 changes:
- Flipjump is now a python package!
pip install flipjump
:- Run the new command line tool:
fj hello-world.fj
. - Import from python:
from flipjump import assemble_and_run, ...
. - Poetry support via the new pyproject.toml.
- Run the new command line tool:
- Project reorganization: the flipjump python source files are under
flipjump/
(reorganized and split into smaller files), and the stl files are underflipjump/stl/
. - The flipjump_quickstart.py file: easy access to the main flipjump features from Python.
- Improved READMEs and documentation.
It is all tested, and ready to be used on windows or linux (and mac shouldn't be a problem), with python 3.7+.
The only exception is hex.div which still doesn't work (its tests are xfailed), so you can use the slower-but-stable bit.div+casts for division.
v1.1.0 stable
Version 1.1.0 changes:
- Total refactor to the standard library - cleaner code, documented better, better tested, and faster in general.
Thus it has better maintainability and its better for learning. - All stl macros are now under the stl/bit/hex namespaces
- hex.pointers implemented (faster than bit.ptr)
- Improved READMEs
- Improved debugging (-d, --debuginfo, --debug-ops-list)
- Improve lexer-parser exceptions
It is all tested, and ready to be used on windows or linux (and mac shouldn't be a problem), with python 3.7+.
The only exception is hex.div which still doesn't work (its tests are xfailed), so you can use the slower-but-stable bit.div+casts for division.
v1.0.0 stable
This is the first stable version of Flip Jump.
It is all tested, and ready to be used on windows or linux (and mac shouldn't be a problem), with python 3.7+.
hexlib-div is the only thing that doesn't work, but you can use the bit.div with casts for a stable version of division.