aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/repl.js8
-rw-r--r--src/p.bqn3
2 files changed, 6 insertions, 5 deletions
diff --git a/docs/repl.js b/docs/repl.js
index 6dbd6851..24baf91d 100644
--- a/docs/repl.js
+++ b/docs/repl.js
@@ -69,10 +69,10 @@ if (doc.doexplain) doc.doexplain.onclick = () => {
let makePlot,setPlot,initPlot,didInitPlot;
let startPlot = () => {
if (!makePlot) [makePlot,initPlot,setPlot] = run(
- [0,19,33,0,0,48,33,0,1,48,6,1,1,33,0,2,48,6,1,2,33,0,3,48,6,1,3,33,0,4,48,6,1,4,33,0,5,48,6,0,20,0,41,32,0,5,27,0,30,20,0,20,0,45,34,0,5,27,1,5,11,3,0,47,0,16,0,5,0,51,21,27,33,0,6,48,6,32,0,6,32,0,6,0,37,0,21,26,0,63,21,0,21,20,0,24,0,50,21,1,6,11,3,0,47,0,16,0,5,0,51,21,27,33,0,7,48,6,0,39,1,7,26,0,21,0,76,21,33,0,8,48,6,0,50,0,48,32,0,8,0,41,0,11,27,27,0,21,20,0,44,0,21,27,33,0,9,48,6,1,8,33,0,10,48,6,32,0,6,0,36,0,22,26,0,79,0,80,11,2,21,33,0,11,48,6,32,0,9,0,41,34,0,4,27,33,0,12,48,6,1,9,33,0,13,48,6,0,58,33,0,14,48,6,0,56,0,20,0,51,17,33,0,15,48,6,0,67,33,0,16,48,6,1,10,33,0,17,48,6,1,11,33,0,18,48,6,0,84,32,0,10,16,33,0,19,48,6,0,85,32,0,10,16,33,0,20,48,6,0,86,32,0,10,16,33,0,21,48,6,0,87,32,0,10,16,33,0,22,48,6,0,89,34,0,10,0,88,17,33,0,23,48,6,0,19,0,11,0,42,0,22,27,0,91,21,0,21,0,18,21,32,0,12,0,90,21,33,0,24,48,6,1,12,33,0,25,48,6,1,13,33,0,26,48,6,1,14,33,0,27,48,6,34,0,27,34,0,17,34,0,18,11,3,7,0,50,0,18,34,0,2,19,0,49,0,17,0,35,0,20,26,0,50,0,51,11,2,21,0,44,0,35,0,37,0,24,0,21,0,69,21,0,21,0,23,21,26,26,27,27,33,0,3,48,6,34,0,1,32,1,1,0,43,32,1,0,0,30,0,45,34,0,3,27,20,0,21,0,43,0,11,27,0,37,0,50,26,21,27,16,7,1,15,33,0,3,48,6,0,70,32,0,2,0,71,11,3,0,21,16,33,0,4,48,6,0,72,32,0,2,0,28,0,63,0,13,34,0,2,19,0,40,0,9,26,16,19,0,71,11,3,0,21,16,33,0,5,48,6,32,0,1,0,16,16,33,0,6,48,0,11,0,50,17,33,0,7,48,6,34,0,5,32,0,7,0,49,0,11,0,41,0,20,27,27,0,42,1,16,34,0,1,34,0,7,0,49,1,17,27,16,26,27,34,0,4,17,0,21,16,7,0,70,34,0,1,0,74,11,3,0,21,16,7,32,0,1,0,55,0,44,0,11,27,0,9,0,11,0,43,0,54,27,21,16,0,39,0,9,26,16,0,33,16,6,0,56,33,0,3,48,0,35,0,4,26,0,52,17,33,0,4,48,6,0,64,0,1,0,75,17,33,0,5,33,0,6,12,2,48,6,0,53,0,11,32,0,1,17,33,0,7,48,6,34,0,1,0,7,16,33,0,8,48,6,34,0,8,0,2,32,0,4,17,0,0,0,57,17,0,5,16,33,0,9,48,6,34,0,7,0,28,16,0,37,34,0,5,26,0,44,0,11,0,42,0,22,27,27,16,0,22,16,32,0,4,0,3,32,0,9,17,0,5,16,1,18,0,43,0,13,0,41,0,25,27,27,16,34,0,9,1,19,0,43,0,13,0,41,0,25,27,27,16,0,13,0,11,0,53,21,0,49,0,21,0,43,0,29,0,41,0,26,0,30,20,0,45,0,37,34,0,6,26,27,27,27,27,16,11,3,0,21,16,0,27,16,0,36,0,21,0,41,0,11,27,26,16,0,39,0,0,0,43,0,64,27,0,44,0,32,27,26,16,7,34,0,1,6,0,53,0,33,16,7,34,0,1,6,0,53,0,33,16,7,34,0,2,0,77,34,0,1,0,78,11,4,0,21,16,7,1,20,33,0,3,48,6,34,0,1,32,0,3,0,66,26,16,0,37,34,0,3,0,65,26,26,16,0,37,32,1,8,26,0,21,20,0,44,0,21,27,0,46,0,12,27,34,0,2,19,7,34,0,1,32,1,3,0,82,34,0,2,32,1,7,18,11,2,32,1,9,0,81,17,17,7,34,0,0,6,0,83,33,1,16,49,7,34,0,0,6,34,0,1,33,1,16,49,7,32,0,1,0,53,0,12,0,43,0,67,27,0,20,0,41,0,39,0,9,26,27,20,11,2,0,47,0,14,0,15,0,50,21,27,0,42,0,9,0,46,0,19,27,27,32,0,2,19,0,33,0,92,17,6,32,0,1,0,17,0,30,0,59,21,0,42,0,16,27,0,46,0,50,27,32,0,2,19,0,33,0,93,17,6,34,0,1,0,50,0,48,0,19,0,11,0,42,0,22,27,0,18,0,46,0,17,0,30,0,59,21,0,25,20,27,21,0,11,20,27,34,0,2,19,0,20,16,7,32,0,1,0,16,0,42,0,22,27,32,0,2,19,33,0,3,48,6,34,0,1,0,34,32,0,3,26,0,14,0,50,21,0,39,0,9,26,20,0,33,0,94,21,0,18,32,1,25,21,0,37,34,0,0,26,0,20,0,41,0,21,27,20,11,2,0,47,34,0,3,0,39,0,5,26,16,0,15,0,51,17,27,34,0,2,19,7,34,0,1,32,1,26,34,0,2,19,0,12,16,0,27,16,0,5,0,6,0,43,0,1,27,0,18,21,0,60,17,33,0,3,48,6,32,0,3,0,36,0,21,0,41,0,11,27,26,16,33,0,4,48,6,32,0,4,0,37,0,39,0,6,26,0,22,0,39,0,5,26,21,26,16,33,0,5,48,0,37,0,40,0,35,0,1,26,26,26,16,33,0,6,48,6,32,0,6,0,37,0,30,26,0,50,17,0,39,0,35,0,3,26,26,16,0,11,0,43,0,62,27,0,10,0,12,0,43,0,61,0,3,16,27,21,0,49,0,50,27,16,33,0,7,48,6,34,0,7,0,2,0,22,0,18,21,32,1,14,17,33,0,8,48,6,0,19,0,37,1,21,26,34,0,6,0,37,0,39,1,22,26,26,16,0,30,0,43,0,50,27,0,45,1,23,27,16,21,33,0,9,48,6,34,0,4,32,0,9,16,0,2,32,0,8,17,0,12,16,0,27,16,32,1,6,16,0,32,34,0,3,0,29,16,0,37,0,13,26,16,0,28,16,17,33,0,10,48,6,0,37,1,24,32,1,24,32,1,20,21,26,0,21,0,41,0,36,0,11,26,27,0,37,0,19,0,36,0,22,26,0,98,0,99,11,2,21,0,21,32,1,21,21,32,1,12,0,97,21,26,20,11,2,0,30,32,1,16,0,11,0,45,0,31,0,43,0,83,0,95,11,2,27,27,16,17,33,0,11,48,6,32,1,15,0,0,32,0,8,17,32,1,6,16,0,36,0,22,26,0,101,0,102,11,2,17,0,21,0,51,0,3,32,1,15,17,0,1,16,32,1,11,16,17,0,21,32,1,22,17,32,1,12,0,100,17,0,11,16,0,53,34,0,9,16,0,2,0,43,0,51,0,25,16,0,35,0,38,0,14,26,26,16,27,0,18,0,41,0,26,27,0,36,0,21,26,0,2,21,32,0,8,21,32,1,6,20,0,37,0,21,26,0,104,0,36,0,21,0,43,0,103,27,26,16,21,0,36,0,21,0,41,0,11,27,26,20,0,28,0,50,0,44,0,15,27,0,9,0,15,0,43,0,53,27,21,21,16,0,37,32,1,24,0,43,32,1,19,27,26,16,34,0,10,34,0,11,16,11,3,0,37,0,20,26,16,0,21,16,32,1,3,32,1,23,17,32,1,13,32,1,15,0,2,0,51,17,0,0,34,0,8,17,0,21,32,1,15,0,1,16,17,17,7,34,0,1,0,20,16,0,53,0,41,0,33,27,0,11,0,20,20,0,19,0,37,34,0,0,26,0,21,20,11,4,0,47,0,16,0,5,0,52,21,27,16,7,34,0,2,34,0,4,34,0,1,11,3,7,34,0,1,0,20,16,32,1,6,0,15,0,52,17,0,49,0,37,32,1,3,26,0,21,20,27,16,0,37,0,21,0,43,0,73,27,26,16,7,32,0,1,0,15,32,1,3,17,33,0,3,48,6,34,0,2,34,0,1,11,2,0,22,0,26,0,30,20,0,45,0,7,0,43,32,1,3,27,27,0,21,0,39,0,28,0,43,32,0,3,27,0,42,32,1,3,0,44,0,3,27,0,5,20,0,44,34,0,0,27,27,26,21,11,2,0,47,34,0,3,0,39,0,10,26,16,27,16,7,32,0,1,0,7,32,1,4,17,33,0,1,49,0,2,16,33,0,3,48,6,34,0,1,0,53,0,51,11,2,0,25,16,0,28,0,43,32,0,3,27,0,42,0,2,0,43,32,1,3,27,0,44,34,0,0,0,21,32,1,4,0,44,0,3,27,0,5,20,0,44,0,11,0,42,0,22,27,27,21,27,27,11,2,0,47,34,0,3,0,39,0,10,26,16,27,34,0,2,19,7,0,32,0,43,0,14,0,43,34,0,1,27,0,1,0,43,0,8,0,2,0,40,0,0,26,21,27,20,27,7,34,0,1,34,0,2,16,7,0,19,0,35,0,1,26,34,0,2,23,0,35,0,3,26,34,0,1,21,7,34,0,1,0,8,20,7,34,0,1,0,50,0,48,0,37,0,21,26,27,0,96,17,0,20,16,0,21,16,0,30,0,45,0,68,27,16,7]
- ,[runtime[0],runtime[1],runtime[2],runtime[3],runtime[4],runtime[6],runtime[7],runtime[8],runtime[9],runtime[10],runtime[11],runtime[12],runtime[13],runtime[14],runtime[15],runtime[16],runtime[18],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[27],runtime[30],runtime[31],runtime[32],runtime[35],runtime[36],runtime[37],runtime[41],runtime[42],runtime[43],runtime[44],runtime[45],runtime[46],runtime[47],runtime[49],runtime[51],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[57],runtime[58],runtime[59],runtime[61],1,2,3,0,-Infinity,Infinity,10,0.5,384,-1,1e300,4,1.5,' ','0','=','|','\0','M',str("t"),str("<"),str(">"),str("</"),str(" "),str("/>"),str("-."),str(" "),str("=\'"),str("\'"),str("x"),str("y"),str("svg"),str("viewBox"),str("line"),str("class=Paren|stroke=currentColor|stroke-width=1"),str("class=red|style=fill:none|stroke-width=1"),str("class=red|r=4"),str("class=code|stroke-width=1|rx=5"),str("g"),str("font-family=BQN,monospace|font-size=18px"),str("path"),str("d"),str("•Plot: 𝕨 and 𝕩 must consist of rows of numbers"),str("•Plot: 𝕨 and 𝕩 must have the same length"),str("•Plot: invalid depth mixing"),str("scatter"),str("L "),str("circle"),str("cx"),str("cy"),str("rect"),str("width"),str("height"),str("M "),str("VH")]
- ,[[0,1,0],[0,0,1],[0,0,[[],[2]]],[0,0,3],[0,0,4],[0,0,5],[0,0,6],[0,0,[[],[7]]],[0,0,8],[0,0,[[],[9]]],[0,0,10],[0,0,11],[0,0,12],[0,0,13],[0,0,14],[0,0,15],[1,0,[[],[16]]],[0,0,17],[0,0,[[],[18]]],[0,0,19],[1,1,20],[0,0,[[],[21]]],[0,0,22],[0,0,23],[0,0,24]]
- ,[[0,28],[365,4],[452,8],[572,3],[585,10],[836,3],[846,3],[856,3],[872,4],[923,3],[948,3],[959,3],[971,3],[1100,4],[1188,12],[1743,3],[1786,5],[1798,3],[1837,4],[1927,4],[2028,2],[2058,3],[2066,3],[2087,3],[2094,3]]
+ [0,19,33,0,0,48,33,0,1,48,6,1,1,33,0,2,48,6,1,2,33,0,3,48,6,1,3,33,0,4,48,6,1,4,33,0,5,48,6,0,20,0,42,32,0,5,27,0,30,20,0,20,0,46,34,0,5,27,1,5,11,3,0,48,0,16,0,5,0,52,21,27,33,0,6,48,6,32,0,6,32,0,6,0,37,0,21,26,0,65,21,0,21,20,0,24,0,51,21,1,6,11,3,0,48,0,16,0,5,0,52,21,27,33,0,7,48,6,0,39,1,7,26,0,21,0,78,21,33,0,8,48,6,0,51,0,49,32,0,8,0,42,0,11,27,27,0,21,20,0,45,0,21,27,33,0,9,48,6,1,8,33,0,10,48,6,32,0,6,0,36,0,22,26,0,81,0,82,11,2,21,33,0,11,48,6,32,0,9,0,42,34,0,4,27,33,0,12,48,6,1,9,33,0,13,48,6,0,59,33,0,14,48,6,0,57,0,20,0,52,17,33,0,15,48,6,0,69,33,0,16,48,6,1,10,33,0,17,48,6,1,11,33,0,18,48,6,0,86,32,0,10,16,33,0,19,48,6,0,87,32,0,10,16,33,0,20,48,6,0,88,32,0,10,16,33,0,21,48,6,0,89,32,0,10,16,33,0,22,48,6,0,91,34,0,10,0,90,17,33,0,23,48,6,0,19,0,11,0,43,0,22,27,0,93,21,0,21,0,18,21,32,0,12,0,92,21,33,0,24,48,6,1,12,33,0,25,48,6,1,13,33,0,26,48,6,1,14,33,0,27,48,6,34,0,27,34,0,17,34,0,18,11,3,7,0,51,0,18,34,0,2,19,0,50,0,17,0,35,0,20,26,0,51,0,52,11,2,21,0,45,0,35,0,37,0,24,0,21,0,71,21,0,21,0,23,21,26,26,27,27,33,0,3,48,6,34,0,1,32,1,1,0,44,32,1,0,0,30,0,46,34,0,3,27,20,0,21,0,44,0,11,27,0,37,0,51,26,21,27,16,7,1,15,33,0,3,48,6,0,72,32,0,2,0,73,11,3,0,21,16,33,0,4,48,6,0,74,32,0,2,0,28,0,65,0,13,34,0,2,19,0,41,0,9,26,16,19,0,73,11,3,0,21,16,33,0,5,48,6,32,0,1,0,16,16,33,0,6,48,0,11,0,51,17,33,0,7,48,6,34,0,5,32,0,7,0,50,0,11,0,42,0,20,27,27,0,43,1,16,34,0,1,34,0,7,0,50,1,17,27,16,26,27,34,0,4,17,0,21,16,7,0,72,34,0,1,0,76,11,3,0,21,16,7,32,0,1,0,56,0,45,0,11,27,0,9,0,11,0,44,0,55,27,21,16,0,39,0,9,26,16,0,33,16,6,0,57,33,0,3,48,0,35,0,4,26,0,53,17,33,0,4,48,6,0,66,0,1,0,77,17,33,0,5,33,0,6,12,2,48,6,0,54,0,11,32,0,1,17,33,0,7,48,6,34,0,1,0,7,16,33,0,8,48,6,34,0,8,0,2,32,0,4,17,0,0,0,58,17,0,5,16,33,0,9,48,6,34,0,7,0,28,16,0,37,34,0,5,26,0,45,0,11,0,43,0,22,27,27,16,0,22,16,32,0,4,0,3,32,0,9,17,0,5,16,1,18,0,44,0,13,0,42,0,25,27,27,16,34,0,9,1,19,0,44,0,13,0,42,0,25,27,27,16,0,13,0,11,0,54,21,0,50,0,21,0,44,0,29,0,42,0,26,0,30,20,0,46,0,37,34,0,6,26,27,27,27,27,16,11,3,0,21,16,0,27,16,0,36,0,21,0,42,0,11,27,26,16,0,39,0,0,0,44,0,66,27,0,45,0,32,27,26,16,7,34,0,1,6,0,54,0,33,16,7,34,0,1,6,0,54,0,33,16,7,34,0,2,0,79,34,0,1,0,80,11,4,0,21,16,7,1,20,33,0,3,48,6,34,0,1,32,0,3,0,68,26,16,0,37,34,0,3,0,67,26,26,16,0,37,32,1,8,26,0,21,20,0,45,0,21,27,0,47,0,12,27,34,0,2,19,7,34,0,1,32,1,3,0,84,34,0,2,32,1,7,18,11,2,32,1,9,0,83,17,17,7,34,0,0,6,0,85,33,1,16,49,7,34,0,0,6,34,0,1,33,1,16,49,7,32,0,1,0,54,0,12,0,44,0,69,27,0,20,0,42,0,39,0,9,26,27,20,11,2,0,48,0,14,0,15,0,51,21,27,0,43,0,9,0,47,0,19,27,27,32,0,2,19,0,33,0,94,17,6,32,0,1,0,17,0,30,0,60,21,0,43,0,16,27,0,47,0,51,27,32,0,2,19,0,33,0,95,17,6,34,0,1,0,51,0,49,0,19,0,11,0,43,0,22,27,0,18,0,47,0,17,0,30,0,60,21,0,25,20,27,21,0,11,20,27,34,0,2,19,0,20,16,7,32,0,1,0,16,0,43,0,22,27,32,0,2,19,33,0,3,48,6,34,0,1,0,34,32,0,3,26,0,14,0,51,21,0,39,0,9,26,20,0,33,0,96,21,0,18,32,1,25,21,0,37,34,0,0,26,0,20,0,42,0,21,27,20,11,2,0,48,34,0,3,0,39,0,5,26,16,0,15,0,52,17,27,34,0,2,19,7,34,0,1,32,1,26,34,0,2,19,0,12,16,0,27,16,0,5,0,6,0,44,0,1,27,0,18,21,0,61,17,33,0,3,48,6,32,0,3,0,36,0,21,0,42,0,11,27,26,16,33,0,4,48,6,1,21,33,0,5,48,6,32,0,4,0,37,0,39,0,6,26,0,22,0,39,0,5,26,21,34,0,5,20,26,16,33,0,6,48,0,37,0,41,0,35,0,1,26,26,26,16,33,0,7,48,6,32,0,7,0,37,0,30,26,0,51,17,0,39,0,35,0,3,26,26,16,0,11,0,44,0,64,27,0,10,0,12,0,44,0,63,0,3,16,27,21,0,50,0,51,27,16,33,0,8,48,6,34,0,8,0,2,0,22,0,18,21,32,1,14,17,33,0,9,48,6,0,19,0,37,1,22,26,34,0,7,0,37,0,39,1,23,26,26,16,0,30,0,44,0,51,27,0,46,1,24,27,16,21,33,0,10,48,6,34,0,4,32,0,10,16,0,2,32,0,9,17,0,12,16,0,27,16,32,1,6,16,0,32,34,0,3,0,29,16,0,37,0,13,26,16,0,28,16,17,33,0,11,48,6,0,37,1,25,32,1,24,32,1,20,21,26,0,21,0,42,0,36,0,11,26,27,0,37,0,19,0,36,0,22,26,0,100,0,101,11,2,21,0,21,32,1,21,21,32,1,12,0,99,21,26,20,11,2,0,30,32,1,16,0,11,0,46,0,31,0,44,0,85,0,97,11,2,27,27,16,17,33,0,12,48,6,32,1,15,0,0,32,0,9,17,32,1,6,16,0,36,0,22,26,0,103,0,104,11,2,17,0,21,0,52,0,3,32,1,15,17,0,1,16,32,1,11,16,17,0,21,32,1,22,17,32,1,12,0,102,17,0,11,16,0,54,34,0,10,16,0,2,0,44,0,52,0,25,16,0,35,0,38,0,14,26,26,16,27,0,18,0,42,0,26,27,0,36,0,21,26,0,2,21,32,0,9,21,32,1,6,20,0,37,0,21,26,0,106,0,36,0,21,0,44,0,105,27,26,16,21,0,36,0,21,0,42,0,11,27,26,20,0,28,0,51,0,45,0,15,27,0,9,0,15,0,44,0,54,27,21,21,16,0,37,32,1,24,0,44,32,1,19,27,26,16,34,0,11,34,0,12,16,11,3,0,37,0,20,26,16,0,21,16,32,1,3,32,1,23,17,32,1,13,32,1,15,0,2,0,52,17,0,0,34,0,9,17,0,21,32,1,15,0,1,16,17,17,7,34,0,1,0,20,16,0,54,0,42,0,33,27,0,11,0,20,20,0,19,0,37,34,0,0,26,0,21,20,11,4,0,48,0,16,0,5,0,53,21,27,16,7,34,0,2,34,0,4,34,0,1,11,3,7,34,0,1,0,20,16,32,1,6,0,15,0,53,17,0,50,0,37,32,1,3,26,0,21,20,27,16,0,37,0,21,0,44,0,75,27,26,16,7,32,0,1,0,15,32,1,3,17,33,0,3,48,6,34,0,2,34,0,1,11,2,0,22,0,26,0,30,20,0,46,0,7,0,44,32,1,3,27,27,0,21,0,39,0,28,0,44,32,0,3,27,0,43,32,1,3,0,45,0,3,27,0,5,20,0,45,34,0,0,27,27,26,21,11,2,0,48,34,0,3,0,39,0,10,26,16,27,16,7,32,0,1,0,7,32,1,4,17,33,0,1,49,0,2,16,33,0,3,48,6,34,0,1,0,54,0,52,11,2,0,25,16,0,28,0,44,32,0,3,27,0,43,0,2,0,44,32,1,3,27,0,45,34,0,0,0,21,32,1,4,0,45,0,3,27,0,5,20,0,45,0,11,0,43,0,22,27,27,21,27,27,11,2,0,48,34,0,3,0,39,0,10,26,16,27,34,0,2,19,7,0,32,0,44,0,14,0,44,34,0,1,27,0,1,0,44,0,8,0,2,0,41,0,0,26,21,27,20,27,7,32,0,1,0,7,16,0,39,0,6,26,0,2,0,18,21,0,62,0,3,16,17,33,0,3,48,6,34,0,1,0,54,34,0,3,11,2,0,45,0,1,27,0,46,0,40,0,6,0,22,0,5,21,26,27,16,7,34,0,1,34,0,2,16,7,0,19,0,35,0,1,26,34,0,2,23,0,35,0,3,26,34,0,1,21,7,34,0,1,0,8,20,7,34,0,1,0,51,0,49,0,37,0,21,26,27,0,98,17,0,20,16,0,21,16,0,30,0,46,0,70,27,16,7]
+ ,[runtime[0],runtime[1],runtime[2],runtime[3],runtime[4],runtime[6],runtime[7],runtime[8],runtime[9],runtime[10],runtime[11],runtime[12],runtime[13],runtime[14],runtime[15],runtime[16],runtime[18],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[27],runtime[30],runtime[31],runtime[32],runtime[35],runtime[36],runtime[37],runtime[41],runtime[42],runtime[43],runtime[44],runtime[45],runtime[46],runtime[47],runtime[49],runtime[50],runtime[51],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[57],runtime[58],runtime[59],runtime[61],1,2,3,0,-Infinity,Infinity,10,0.5,384,-1,1e300,5000000000000000,4,1.5,' ','0','=','|','\0','M',str("t"),str("<"),str(">"),str("</"),str(" "),str("/>"),str("-."),str(" "),str("=\'"),str("\'"),str("x"),str("y"),str("svg"),str("viewBox"),str("line"),str("class=Paren|stroke=currentColor|stroke-width=1"),str("class=red|style=fill:none|stroke-width=1"),str("class=red|r=4"),str("class=code|stroke-width=1|rx=5"),str("g"),str("font-family=BQN,monospace|font-size=18px"),str("path"),str("d"),str("•Plot: 𝕨 and 𝕩 must consist of rows of numbers"),str("•Plot: 𝕨 and 𝕩 must have the same length"),str("•Plot: invalid depth mixing"),str("scatter"),str("L "),str("circle"),str("cx"),str("cy"),str("rect"),str("width"),str("height"),str("M "),str("VH")]
+ ,[[0,1,0],[0,0,1],[0,0,[[],[2]]],[0,0,3],[0,0,4],[0,0,5],[0,0,6],[0,0,[[],[7]]],[0,0,8],[0,0,[[],[9]]],[0,0,10],[0,0,11],[0,0,12],[0,0,13],[0,0,14],[0,0,15],[1,0,[[],[16]]],[0,0,17],[0,0,[[],[18]]],[0,0,19],[1,1,20],[0,0,21],[0,0,[[],[22]]],[0,0,23],[0,0,24],[0,0,25]]
+ ,[[0,28],[365,4],[452,8],[572,3],[585,10],[836,3],[846,3],[856,3],[872,4],[923,3],[948,3],[959,3],[971,3],[1100,4],[1188,13],[1754,3],[1797,5],[1809,3],[1848,4],[1938,4],[2039,2],[2069,4],[2126,3],[2134,3],[2155,3],[2162,3]]
);
if (!didInitPlot) { initPlot('\0'); didInitPlot=1; }
}
diff --git a/src/p.bqn b/src/p.bqn
index 2c9972e4..a3fa568f 100644
--- a/src/p.bqn
+++ b/src/p.bqn
@@ -26,7 +26,8 @@ PairRec ← {
Plot ← {
xy ← 1e300 (⊣-⊸⌈⌊) ⍉> 𝕨 PairRec 𝕩 # organize and clip
pts ← <∘∾˘ xy
- win ← -˜`¨ bounds ← (⌊´≍⌈´)¨ pts # min and range; min and max
+ AB ← {e←(÷5e15)(⊣×⌈´)|𝕩⋄(⌊≍⌈)˝⌾(-⟜0‿e)𝕩} # ensure 0 < window size
+ win ← -˜`¨ bounds ← (AB ⌊´≍⌈´)¨ pts # min and range; min and max
ar ← 1⍟((÷4)⊸>∨1.5⊸<) ÷˜´ 1⊑¨win # height÷width
dim ← width (⊣≍×) ar
Scale ← ({¬𝕏}⌾(1⊸⊑) {𝕩÷˜𝕨-˜⊢}´¨ win) {𝕎𝕩}¨ ⊢