95 Commits

Author SHA1 Message Date
ad0adec8e8 numpy.array(..., copy=False) -> numpy.asarray(...)
For numpy 2.0
2024-07-29 02:37:48 -07:00
99e55f931c refactor to single-line conditional assignments 2024-07-28 20:31:41 -07:00
62fc64c344 iteration and collection simplifications 2024-07-28 20:31:41 -07:00
9d5b1ef5e6 type annotation updates 2024-07-28 19:44:04 -07:00
6ec94fb3c3 import Sequence et al from collections.abc not typing 2024-07-28 19:33:16 -07:00
jan
b33c632569 cache base64encode calls since it's actually fairly slow 2024-03-09 18:38:29 -08:00
aefd79fb5d Pattern should be a forward reference 2023-10-23 10:24:49 -07:00
jan
f28c31fe29 = should have been + 2023-10-20 23:16:39 -07:00
jan
8ef5e2e852 improve docs 2023-10-20 23:16:02 -07:00
jan
ed433861e3 make sure transform is float-typed 2023-10-20 23:15:38 -07:00
jan
e710fa44b5 improve type annotations 2023-10-20 23:15:13 -07:00
jan
9a7a5583ed Add Tree/TreeView and allow Builder to ingest them 2023-10-20 23:14:47 -07:00
jan
83e82db5da doc typo 2023-10-15 23:10:58 -07:00
jan
3a6807707b Add more docs 2023-10-15 23:07:28 -07:00
jan
1bdb998085 Generalize underscore into SINGLE_USE_PREFIX 2023-10-15 23:01:47 -07:00
jan
8c14401788 add Library.map_layers 2023-10-15 16:18:34 -07:00
jan
a3b356ac14 save new name on a separate line, for debugging convenience 2023-10-15 16:18:34 -07:00
jan
2f9c7e61ee add <= operator for library (returns an Abstract) 2023-10-15 16:18:34 -07:00
c4ff53a0ba fix isinstance call arg order 2023-10-15 16:18:34 -07:00
jan
e2c7f8c8cc various doc updates 2023-10-15 16:18:33 -07:00
d4bb466ad9 add mutate_other arg 2023-10-15 16:18:33 -07:00
e6ff6daa32 move __repr__ higher 2023-10-15 16:18:33 -07:00
f7f5a62f54 Update comments 2023-10-15 16:18:33 -07:00
jan
91465b7175 don't keep track of y-mirroring separately from x 2023-10-15 16:18:33 -07:00
jan
93ab0a942d misc fixes 2023-10-15 16:18:33 -07:00
jan
9a077ea2df move to dicty layers and targets 2023-10-15 16:18:33 -07:00
jan
75821c4ff9 comment 2023-10-15 16:18:33 -07:00
jan
cbe5c07f8f add todo about underscore 2023-10-15 16:18:33 -07:00
jan
de0d35d3d7 cleanup 2023-10-15 16:18:33 -07:00
jan
c5c31a5f0f only mutable variant should have rename_top 2023-10-15 16:18:33 -07:00
jan
08291da167 fixes 2023-10-15 16:18:33 -07:00
jan
68318a1382 add functions for dealing with the topcell and its name 2023-10-15 16:18:33 -07:00
jan
31cf0047e7 add mktree 2023-10-15 16:18:33 -07:00
jan
f0a71bfb8b redo library class naming 2023-10-15 16:18:33 -07:00
jan
a07446808a should be union; we want to exclude dangling refs 2023-10-15 16:18:33 -07:00
jan
340fe7f656 fixes to subtree and lshift, as well as some cast() improvements 2023-10-15 16:18:33 -07:00
jan
d7e89ef5c8 lshift operator shouldn't special-case trees
Instead, just call .tops() if there are multiple cells, and fail if
there are multiple tops
2023-10-15 16:18:33 -07:00
jan
0efd9afd16 find_toplevel -> tops 2023-10-15 16:18:33 -07:00
jan
37e4c03547 fix return value 2023-10-15 16:18:33 -07:00
jan
94691dac85 top is always a string 2023-10-15 16:18:33 -07:00
jan
cbfbdf66a1 get rid of NamedPattern in favor of just returning a tuple 2023-10-15 16:18:33 -07:00
e5ed28a854 Need to check against self, since we may add new conflicts as we go 2023-10-15 16:18:33 -07:00
b4f36417fd Pipe-operator does not support forward references 2023-10-15 16:18:33 -07:00
4482ede3a7 use Self type 2023-10-15 16:18:33 -07:00
1463535676 modernize type annotations 2023-10-15 16:18:33 -07:00
7befe89af3 fixes based on mypy 2023-10-15 16:18:33 -07:00
f766a3ad64 add prune_empty and delete() 2023-10-15 16:18:33 -07:00
85a2eb6acc fixes/updates 2023-10-15 16:18:33 -07:00
069dde3648 Drop ports by default 2023-10-15 16:18:33 -07:00
f834aaee47 fix precache 2023-10-15 16:18:33 -07:00