1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#!/usr/bin/python 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgdef gen(x, y): 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org type = "mat" + str(x) 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if x != y: 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org type = type + "x" + str(y) 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org print type + " outerProduct(vec" + str(y) + " u, vec" + str(x) + " v)\n{" 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org print " " + type + " m;" 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org for i in range(x): 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org print " m[" + str(i) + "] = u * v[" + str(i) + "];" 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org print " return m;\n}" 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgprint "#version 120" 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(2,2) 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(2,3) # mat2x3 means 2 columns, 3 rows 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(2,4) 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(3,2) 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(3,3) 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(3,4) 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(4,2) 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(4,3) 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orggen(4,4) 24