Changelog#

v0.9#

v0.9.0#

Updates

Testing

  • Add WALLACE_TREE, DADDA_TREE reference data (297130d)

  • Validate “Official” Wallace and Dadda Tree (5ac6984)

Fixes

  • mprint Duplicating Prints (ca51819)

  • Algorithm dadda=True Option Inconsistency (f1baf08)

See full changelog here

v0.8#

v0.8.2#

This patch focused on fully integrating complex Template objects and improving performance.

Updates

  • Batched truth table generation now balanced (c566789)

  • Bounding box based mapping (fece553)

  • Simplified Partial Product Matrix(PPM) sanity check (6e9104b)

  • Finalised complex Template support (fdf515b)

  • Typing and import structure (8bc35c0)

See full changelog here

v0.8.1#

Updates

  • Complex Templates Now Usable (42c1a99)

  • Automatic Template Result Generation (fdae851)

  • Refactor Reduction via Bounding Boxes (aa15fb3)

  • Ensure Empty Chars Force NOOPs (18bf6cb)

  • Implement Truth Scope Batching (2b434c7)

See full changelog here

v0.8.0#

Updates

  • Added raw_zero_map, raw_dadda_map (c28e2ef)

  • Added raw_zero_matrix(), renamed empty_matrix() to raw_empty_matrix() (c7f6d80)

Tests:

Initial implementation of Core tests via Pytest:

Looking forward:

[Main Focus]

  • Complete Remaining User Guides

  • Bit Tracking / Waveform Analysis

[ Ongoing ]

  • Map Object Coordinate Refactor

  • Data Structure Optimisation

  • DataFrame Generation Optimisation

  • 16-bit Algorithm Support

See full changelog here

v0.7#

v0.7.3#

Updates:

  • Expand core.utils unit tests (0a4e9ea)

Documentation:

  • Improve quickstart and structure pages (f96d975)

  • Updated and added theme specific elements to intro page (bafc7ff)

  • Update README project to mirror intro page (8eff9d1)

Bug Fixes:

  • fixed inconsistent DataFrame column index usage (ab53fb4)

See full changelog here

v0.7.2#

Added:

  • hoist() for Dadda tree mapping (7a775b4)

Documentation:

  • Get Started Page complete (e5e7527)

  • User guide landing page + data structure guide (3888354)

Bug Fixes:

  • Harmonised dataframe column index scheme (9a9ac50)

  • Inconsistent state updates (46f885b)

See full changelog here

v0.7.1#

Updates:

  • Setup “ACT” For Local Github Actions Testing (5fa50b0)

  • Run Tests Before Merge / Publish (bb9a7cf)

  • Update Docstrings to Numpy Style (84c113d)

  • Adopt PyTest (3e02e1f)

  • Add .md Sphinx Support (5f5916d)

Looking forward:

[ Main Focus ]

  • Expand Analysis

  • Documentation:

    • User Guide

    • Improve Get Started Page

[ Ongoing ]

  • Refactor tests

  • Map Object Coordinate Refactor

  • Data Structure Optimisation

  • 16-bit Algorithm Support

See full changelog here

v0.6#

v0.6.2#

Bug Fixes:

  • Moved pyproject.toml metadata extraction into conf.py (09d2544)

  • Refactored / Harmonised Dataframe, Parquet Access (ffc8963)

  • Dark plot background inconsistencies (d95bbda)

See full changelog here.

v0.6.0#

Updates:

Looking forward:

[Main Focus]

  • Adopt Numpy Docstring Style

  • Automation / CI/CD

  • Simple User Guide

[ Ongoing ]

  • Continued development of the API reference site

  • Map Object Coordinate Refactor

  • Adopt Pytest

  • Data Structure Optimisation

  • 16-bit Algorithm Support

See full changelog here.

v0.5#

v0.5.0#

Updates:

  • Generated Complete 8-bit Wallace-Tree truth table (19953dd)

  • Export Algorithm to .json (32d2e90)

  • Import and Export to .parquet (b449ab3)

  • Simple Frequency Analysis (28b088d)

  • Export Analysis Results As Heatmap (28b088d)

Looking forward:

[Main Focus]

  • Saturation

  • Expand Analysis Tools

  • Adopt Numpy Docstring Style

  • Simple User Guide

[ Ongoing ]

  • Continued development of the API reference site

  • Map Object Coordinate Refactor

  • Adopt Pytest

  • Data Structure Optimisation

  • 16-bit Algorithm Support

See full changelog here.

v0.4#

v0.4.0#

Updates:

  • Applying Algorithms to operands (f728829)

  • Expanded Map class to complex maps (77b2b7e)

  • Added complex map generation (923e85d)

  • Added bounding box for efficient arithmetic unit isolation (3a0a0f6)

  • Initial implementaton of checksums (d0ea73e)

Looking forward:

[Main Focus]

  • Truth table generation via algorithm(s)

  • Export to .parquet files

[ Ongoing ]

  • Simple Analysis

  • Continued development of the API reference site

  • Simple User Guide

  • Adopt Pytest

See full changelog here.

v0.3#

v0.3.3#

Updates:

  • Automatic algorithm generation via patterns

  • Implemented reduction via arithmetic units. Work continues for merging results

  • Added groundwork for complex template isolation and sanity checks

  • Added checksums to Template class, allowing for faster traversal

  • Improved and expanded utility functions

  • Bug fixes and improved sanity checks in most classes

Looking forward:

[Main Focus]

  • Truth table generation via algorithm(s)

  • Applying algorithms to operands

  • Complex mapping

  • Complex templates

[ Ongoing ]

  • Prepare for complex, custom, templates

  • Export to .parquet files

  • Continued development of the API reference site

  • Adopt Pytest

See full changelog here.

v0.3.0#

Updates:

  • Secured multiplied on PyPi, test.PyPi and github

  • Assisted algorithm generation via patterns (not true automation)

  • Finalised structure and populated an Algorithm stage #18

  • Expanded mp.pretty formatting to all Multiplied types

  • Added to utils.char.py to clean up template generation

  • Generate templates from patterns using existing matrix

Plus smaller bug fixes and improvements

Looking forward:

[Main Focus]

  • Automatic algorithm generation via patterns

  • Applying algorithms to operands

  • Truth table generation via algorithm(s)

[ Ongoing ]

  • Prepare for complex, custom, templates

  • Export to .parquet files

  • Continued development of the API reference site

See full changelog here.

v0.2#

v0.2.0#

Updates:

  • API reference site complete and ready for population

  • Changed API ref theme to breeze

  • Initial implementation for all algorithm related classes

  • Improved interoperability between classes

  • Resolve and produce rmaps for basic templates/matrices

Looking forward:

[Main Focus]

  • Implement algorithms via built-in templates

  • Prepare for complex, custom, templates

  • Design ways to assist algorithm creation

[ Ongoing ]

  • Implement exporting to parquet files

  • Continued development of the API reference site

v0.1#

v0.1.1#

This patch is focused on documentation and testing the api reference site locally

Updates:

  • progress towards an online api reference site

  • Improved landing page and overall site layout

  • Scripts apidoc.sh and build.sh to automate syncing and creating the sphinx site

  • Added sphinx-rtd-theme

  • minimal additions to codebase, mostly outlining future functionality

v0.1.0#

This release is a complete refactor of the original script, widening it’s scope and turning it into a library.

Added:

  • Classes and a general focus on code reuse

  • Reduction templates for CSA and Adders

  • Initial Documentation

TODO:

  • Documentation and template implementation

For more info on future goals, check out the roadmap.