{"ScriptPreparationCode":"var maxIteration = 500, pixelId = 0;\r\nvar target = { x: -1.7490863748149414, y: -1e-25, dx: 3e-15, dy: 2e-15};","TestCases":[{"Name":"double.js","Code":"D = Double.Double;\r\nvar canvas = document.getElementById(\u0027withDoubleJs\u0027);\r\nvar buffer = canvas.getContext(\u00272d\u0027).createImageData(canvas.width, canvas.height);\r\nfor (var j = 0; j \u003C buffer.height; j\u002B\u002B) {\r\n for (var i = 0; i \u003C buffer.width; i\u002B\u002B) {\r\n var iteration = 0;\r\n var x = D.Zero, y = D.Zero;\r\n var xx = D.Zero, xy = D.Zero, yy = D.Zero;\r\n var tx = new D(target.x), ty = new D(target.y);\r\n var tdx = new D(target.dx), tdy = new D(target.dy);\r\n var cx = tx.sub(tdx).add(tdx.mul(2 * i).div(buffer.width));\r\n var cy = ty.add(tdy).sub(tdy.mul(2 * j).div(buffer.height));\r\n while (iteration\u002B\u002B \u003C maxIteration \u0026\u0026 xx.add(yy).lt(4)) {\r\n x = xx.sub(yy).add(cx);\r\n y = xy.add(xy).add(cy);\r\n xx = x.mul(x);\r\n yy = y.mul(y);\r\n xy = x.mul(y);\r\n }\r\n var color = (iteration == maxIteration) ? 0 : 256 * (maxIteration - (iteration * 25) % maxIteration) / maxIteration;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = 255;\r\n }\r\n}","IsDeferred":false},{"Name":"decimal.js","Code":"Decimal.set({ precision: 31 });\r\nvar Dec = Decimal;\r\nvar canvas = document.getElementById(\u0027withDecimalJs\u0027);\r\nvar buffer = canvas.getContext(\u00272d\u0027).createImageData(canvas.width, canvas.height);\r\nfor (var j = 0; j \u003C buffer.height; j\u002B\u002B) {\r\n for (var i = 0; i \u003C buffer.width; i\u002B\u002B) {\r\n var iteration = 0;\r\n var x = new Dec(0), y = new Dec(0);\r\n var xx = new Dec(0), xy = new Dec(0), yy = new Dec(0);\r\n var tx = new Dec(target.x), ty = new Dec(target.y);\r\n var tdx = new Dec(target.dx), tdy = new Dec(target.dy);\r\n var cx = tx.sub(tdx).add(tdx.mul(2 * i).div(buffer.width));\r\n var cy = ty.add(tdy).sub(tdy.mul(2 * j).div(buffer.height));\r\n while (iteration\u002B\u002B \u003C maxIteration \u0026\u0026 xx.add(yy).lt(4)) {\r\n x = xx.sub(yy).add(cx);\r\n y = xy.add(xy).add(cy);\r\n xx = x.mul(x);\r\n yy = y.mul(y);\r\n xy = x.mul(y);\r\n }\r\n var color = (iteration == maxIteration) ? 0 : 256 * (maxIteration - (iteration * 25) % maxIteration) / maxIteration;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = 255;\r\n }\r\n}","IsDeferred":false},{"Name":"bignumber.js","Code":"BigNumber.set({ DECIMAL_PLACES: 31 });\r\nvar BN = BigNumber;\r\nvar canvas = document.getElementById(\u0027withBigNumberJs\u0027);\r\nvar buffer = canvas.getContext(\u00272d\u0027).createImageData(canvas.width, canvas.height);\r\nfor (var j = 0; j \u003C buffer.height; j\u002B\u002B) {\r\n for (var i = 0; i \u003C buffer.width; i\u002B\u002B) {\r\n var iteration = 0;\r\n var x = new BN(0), y = new BN(0);\r\n var xx = new BN(0), xy = new BN(0), yy = new BN(0);\r\n var tx = new BN(target.x), ty = new BN(target.y);\r\n var tdx = new BN(target.dx), tdy = new BN(target.dy);\r\n var cx = tx.minus(tdx).plus(tdx.times(2 * i).div(buffer.width)).dp(31);\r\n var cy = ty.plus(tdy).minus(tdy.times(2 * j).div(buffer.height)).dp(31);\r\n while (iteration\u002B\u002B \u003C maxIteration \u0026\u0026 xx.plus(yy).lt(4)) {\r\n x = xx.minus(yy).plus(cx);\r\n y = xy.plus(xy).plus(cy);\r\n xx = x.times(x).dp(31);\r\n yy = y.times(y).dp(31);\r\n xy = x.times(y).dp(31);\r\n }\r\n var color = (iteration == maxIteration) ? 0 : 256 * (maxIteration - (iteration * 25) % maxIteration) / maxIteration;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = 255;\r\n }\r\n}","IsDeferred":false},{"Name":"Big.js","Code":"Big.DP = 31;\r\nvar canvas = document.getElementById(\u0027withBigJs\u0027);\r\nvar buffer = canvas.getContext(\u00272d\u0027).createImageData(canvas.width, canvas.height);\r\nfor (var j = 0; j \u003C buffer.height; j\u002B\u002B) {\r\n for (var i = 0; i \u003C buffer.width; i\u002B\u002B) {\r\n var iteration = 0;\r\n var x = new Big(0), y = new Big(0);\r\n var xx = new Big(0), xy = new Big(0), yy = new Big(0);\r\n var tx = new Big(target.x), ty = new Big(target.y);\r\n var tdx = new Big(target.dx), tdy = new Big(target.dy);\r\n var cx = tx.sub(tdx).add(tdx.mul(2 * i).div(buffer.width)).round(31);\r\n var cy = ty.add(tdy).sub(tdy.mul(2 * j).div(buffer.height)).round(31);\r\n while (iteration\u002B\u002B \u003C maxIteration \u0026\u0026 xx.add(yy).lt(4)) {\r\n x = xx.sub(yy).add(cx);\r\n y = xy.add(xy).add(cy);\r\n xx = x.mul(x).round(31);\r\n yy = y.mul(y).round(31);\r\n xy = x.mul(y).round(31);\r\n }\r\n var color = (iteration == maxIteration) ? 0 : 256 * (maxIteration - (iteration * 25) % maxIteration) / maxIteration;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = 255;\r\n }\r\n}","IsDeferred":false},{"Name":"bigfloat.js BF32","Code":"BF = bigfloat.BigFloat32;\r\nvar canvas = document.getElementById(\u0027withBigFloat32\u0027);\r\nvar buffer = canvas.getContext(\u00272d\u0027).createImageData(canvas.width, canvas.height);\r\nfor (var j = 0; j \u003C buffer.height; j\u002B\u002B) {\r\n for (var i = 0; i \u003C buffer.width; i\u002B\u002B) {\r\n var iteration = 0;\r\n var x = new Big(0), y = new Big(0);\r\n var xx = new Big(0), xy = new Big(0), yy = new Big(0);\r\n var tx = new Big(target.x), ty = new Big(target.y);\r\n var tdx = new Big(target.dx), tdy = new Big(target.dy);\r\n var cx = tx.sub(tdx).add(tdx.mul(2 * i).div(buffer.width)).round(31);\r\n var cy = ty.add(tdy).sub(tdy.mul(2 * j).div(buffer.height)).round(31);\r\n while (iteration\u002B\u002B \u003C maxIteration \u0026\u0026 xx.add(yy).cmp(4) \u003C 0) {\r\n x = xx.sub(yy).add(cx);\r\n y = xy.add(xy).add(cy);\r\n xx = x.mul(x).round(31);\r\n yy = y.mul(y).round(31);\r\n xy = x.mul(y).round(31);\r\n }\r\n var color = (iteration == maxIteration) ? 0 : 256 * (maxIteration - (iteration * 25) % maxIteration) / maxIteration;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = color;\r\n buffer.data[pixelId\u002B\u002B] = 255;\r\n }\r\n}","IsDeferred":false}],"UseTinyBench":false}