{"ScriptPreparationCode":"var An = 200, Ann = An*An;\r\nvar A = new Float64Array(Ann);\r\nfor(let i=0;i\u003CAnn;i\u002B\u002B)A[i]=Math.random()-0.5;","TestCases":[{"Name":"transpose simple","Code":"const uFlat = new Float64Array(A), vFlat = new Float64Array(Ann);\r\nlet m = An, n = An;\r\nfor (let i = 0; i \u003C m; i\u002B\u002B) {\r\n for (let j = 0; j \u003C n; j\u002B\u002B) {\r\n vFlat[j * m \u002B i] = uFlat[i * n \u002B j]\r\n }\r\n}","IsDeferred":false},{"Name":"transpose optimized","Code":"const uFlat = new Float64Array(A), vFlat = new Float64Array(Ann);\r\nlet m = An, n = An;\r\nlet vIndex = 0;\r\nfor (let j = 0; j \u003C n; j\u002B\u002B) {\r\n let uIndex = j;\r\n for (let i = 0; i \u003C m; i\u002B\u002B) {\r\n vFlat[vIndex\u002B\u002B] = uFlat[uIndex];\r\n uIndex \u002B= n;\r\n }\r\n}","IsDeferred":false}]}