{"ScriptPreparationCode":"var imageWidth = 50;\r\nvar imageHeight = 50;\r\nvar testElements = [];\r\nvar testImages = [];\r\nfor (let i = 0; i \u003C 500; i\u002B\u002B) {\r\n let element = document.createElement(\u0027canvas\u0027);\r\n element.width = imageWidth;\r\n element.height = imageHeight;\r\n element.style.width = imageWidth \u002B \u0027px\u0027;\r\n element.style.height = imageHeight \u002B \u0027px\u0027;\r\n testElements.push(element);\r\n var context = testElements[i].getContext(\u00222d\u0022);\r\n testImages.push(context.getImageData(0, 0, imageWidth, imageHeight));\r\n}\r\n\r\nvar imageData = new ImageData(imageWidth, imageHeight);\r\n\r\nvar weightNegativeThreshold = 0.04;\r\nvar weightPositiveThreshold = 0.96;\r\nvar pixelStride = 4;\r\nvar rowStride = imageWidth * pixelStride;\r\nvar pixelArrayLength = imageWidth * imageHeight * pixelStride;\r\n\r\nPseudo = {\r\n initialRandomSeed: 49734321,\r\n randomSeed: 49734321,\r\n\r\n resetRandomSeed: function()\r\n {\r\n Pseudo.randomSeed = Pseudo.initialRandomSeed;\r\n },\r\n\r\n random: function()\r\n {\r\n var randomSeed = Pseudo.randomSeed;\r\n randomSeed = ((randomSeed \u002B 0x7ed55d16) \u002B (randomSeed \u003C\u003C 12)) \u0026 0xffffffff;\r\n randomSeed = ((randomSeed ^ 0xc761c23c) ^ (randomSeed \u003E\u003E\u003E 19)) \u0026 0xffffffff;\r\n randomSeed = ((randomSeed \u002B 0x165667b1) \u002B (randomSeed \u003C\u003C 5)) \u0026 0xffffffff;\r\n randomSeed = ((randomSeed \u002B 0xd3a2646c) ^ (randomSeed \u003C\u003C 9)) \u0026 0xffffffff;\r\n randomSeed = ((randomSeed \u002B 0xfd7046c5) \u002B (randomSeed \u003C\u003C 3)) \u0026 0xffffffff;\r\n randomSeed = ((randomSeed ^ 0xb55a4f09) ^ (randomSeed \u003E\u003E\u003E 16)) \u0026 0xffffffff;\r\n Pseudo.randomSeed = randomSeed;\r\n return (randomSeed \u0026 0xfffffff) / 0x10000000;\r\n }\r\n};\r\n\r\nfunction _getRandomNeighboringPixelIndex(pixelIdx, pixelArrayLength)\r\n{\r\n var xOffset = Math.floor((Pseudo.random() - weightNegativeThreshold) / (weightPositiveThreshold - weightNegativeThreshold));\r\n var yOffset = Math.floor((Pseudo.random() - weightNegativeThreshold) / (weightPositiveThreshold - weightNegativeThreshold));\r\n return (pixelIdx \u002B pixelStride * xOffset \u002B rowStride * yOffset) % pixelArrayLength;\r\n}\r\n","TestCases":[{"Name":"ImageData","Code":"for(let j = 0; j \u003C 500; j\u002B\u002B) {\r\n //var context = testElements[j].getContext(\u00222d\u0022);\r\n //var imageData = context.getImageData(0, 0, imageWidth, imageHeight);\r\n var imageData = testImages[i];\r\n\r\n for(let i = 0; i \u003C pixelArrayLength; i \u002B= pixelStride) {\r\n let neighborPixelIndex = _getRandomNeighboringPixelIndex(i, pixelArrayLength);\r\n\r\n imageData.data[i] = imageData.data[neighborPixelIndex];\r\n imageData.data[i\u002B1] = imageData.data[neighborPixelIndex\u002B1];\r\n imageData.data[i\u002B2] = imageData.data[neighborPixelIndex\u002B2];\r\n imageData.data[i\u002B3] = imageData.data[neighborPixelIndex\u002B3];\r\n }\r\n \r\n //context.putImageData(imageData, 0, 0);\r\n}","IsDeferred":false},{"Name":"Uint8ClampedArray","Code":"{}","IsDeferred":false}]}