(no commit message)
authorlkcl <lkcl@web>
Sat, 2 Oct 2021 22:25:32 +0000 (23:25 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 2 Oct 2021 22:25:32 +0000 (23:25 +0100)
3d_gpu/architecture/dynamic_simd.mdwn

index 1cf9a37c96c510ba76ddec3e55a670ba77c32bcc..2ef2b6929d9ad1fddff810828387a61ff5be84a5 100644 (file)
@@ -180,6 +180,11 @@ This means one of two things:
   that they *pass through* SIMD behaviour entirely to a lower level,
   *completely intact*.
 
+Method (2) allows the Liskov Substitution Principle to be
+put to surprisingly good effect. If that was possible to
+achieve then **almost no modifications to nmigen would
+be required**.
+
 Analysis of the internals of nmigen shows that m.If, m.Else, m.FSM and m.Switch are all redirected to ast.py `Switch`.  Within that function Mux and other "global" functions (similar to python operator functions).  The hypothesis is therefore proposed that if `Value.mux` is added in an identical way to how `operator.add` calls `__add__` this may turn out to be all that (or most of what) is needed.
 
 <https://github.com/nmigen/nmigen/blob/59ef6e6a1c4e389a41148554f2dd492328820ecd/nmigen/hdl/dsl.py#L447>