dan-fritchman / Hdl21

Hardware Description Library
BSD 3-Clause "New" or "Revised" License
60 stars 13 forks source link

Slicable Arrays and Symmetric Slicing #155

Closed ThomasPluck closed 1 year ago

ThomasPluck commented 1 year ago

This PR introduces "sliceable" arrays as well as symmetric slicing logic, (ie. s[0]=t now means something) first described in #1 and #3, which I've found a need for in my own Hdl21 programs.

Summary:

Tasks:

codecov[bot] commented 1 year ago

Codecov Report

Merging #155 (0456198) into main (137333c) will decrease coverage by 0.02%. The diff coverage is 68.00%.

@@            Coverage Diff             @@
##             main     #155      +/-   ##
==========================================
- Coverage   87.19%   87.18%   -0.02%     
==========================================
  Files         109      109              
  Lines        9568     9607      +39     
==========================================
+ Hits         8343     8376      +33     
- Misses       1225     1231       +6     
Impacted Files Coverage Δ
hdl21/sliceable.py 84.00% <0.00%> (ø)
hdl21/elab/elaborators/arrays.py 67.92% <45.83%> (+0.65%) :arrow_up:
hdl21/instance.py 86.28% <70.00%> (-2.54%) :arrow_down:
hdl21/tests/test_hdl21.py 96.22% <100.00%> (+0.07%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

ThomasPluck commented 1 year ago

See #3, RIP :headstone: