Add pure python matrix mul function
authorAndrey Miroshnikov <andrey@technepisteme.xyz>
Wed, 11 Oct 2023 11:16:34 +0000 (11:16 +0000)
committerAndrey Miroshnikov <andrey@technepisteme.xyz>
Wed, 18 Oct 2023 13:46:00 +0000 (13:46 +0000)
src/openpower/decoder/isa/test_caller_svp64_matrix.py

index 007c4cb3576e28a5fa30bd1b5050314ecc864982..05d755de46d65c6c06e98476cc8ba7939002b46d 100644 (file)
@@ -9,6 +9,16 @@ from openpower.decoder.selectable_int import SelectableInt
 from openpower.simulator.program import Program
 from openpower.insndb.asm import SVP64Asm
 
+# Pure Python implementation of matrix multiply
+# Example values
+# x = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
+# y = [[1,2],[1,2],[3,4]]
+def matmult(a,b):
+    zip_b = zip(*b)
+    # uncomment next line if python 3 :
+    zip_b = list(zip_b)
+    return [[sum(ele_a*ele_b for ele_a, ele_b in zip(row_a, col_b))
+             for col_b in zip_b] for row_a in a]
 
 class DecoderTestCase(FHDLTestCase):