summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/asy.list
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-08-10 16:06:35 +0000
committerKarl Berry <karl@freefriends.org>2019-08-10 16:06:35 +0000
commitbbb53f06c6f48d4c675d250829032e09f4065a86 (patch)
tree0583c905a5d67f3e1447456048b2e479311e4e83 /Build/source/utils/asymptote/asy.list
parentefd1dbbaa1332a9534c25024a0c295f423714851 (diff)
asy 2.52 sources
git-svn-id: svn://tug.org/texlive/trunk@51856 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/asy.list')
-rw-r--r--Build/source/utils/asymptote/asy.list1257
1 files changed, 665 insertions, 592 deletions
diff --git a/Build/source/utils/asymptote/asy.list b/Build/source/utils/asymptote/asy.list
index 1130b2e9c99..202908ffd86 100644
--- a/Build/source/utils/asymptote/asy.list
+++ b/Build/source/utils/asymptote/asy.list
@@ -1,7 +1,5 @@
void drawstrokepath(picture pic=<default>, path g, pen strokepen, pen p=<default>);
real legendlinelength;
-coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
-coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
bool prc(string format=<default>);
light currentlight;
pen royalblue;
@@ -12,8 +10,8 @@ align NoAlign;
pair relative(picture pic=<default>, pair z);
filltype RadialShade(pen penc, pen penr);
real[] arrowbasepoints(path base, path left, path right, real default=<default>);
+object embed3(string, frame, string, string, string, light, projection);
real bp;
-projection projection(triple camera, triple up=<default>, triple target=<default>, triple normal=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>, transformation projector(triple camera, triple up, triple target));
pen mean(pen[] p, real opacity(real[])=<default>);
pen[] mean(pen[][] palette, real opacity(real[])=<default>);
pen squarecap;
@@ -27,9 +25,12 @@ picture legenditem(Legend legenditem, real linelength);
marginT EndMargin(path, pen);
pen mediumgrey;
pen darkcyan;
+coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
+coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
real legendhskip;
void addSaveFunction(void s()());
pen olive;
+void copyPairOrTriple(pairOrTriple dest, pairOrTriple src);
pen zerowinding;
pen deepmagenta;
path[] margin(path[] g, real xmargin, real ymargin);
@@ -53,16 +54,18 @@ pen mediumcyan;
pen Pentype(int n);
triple gettriple(string name=<default>, triple default=<default>, string prompt=<default>, bool store=<default>);
pen Yellow;
+bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+bool Arrow(picture, path, pen, marginT(path, pen));
+pair[] pairs(real[] x, real[] y);
+void eval(code s, bool embedded=<default>);
+void eval(string s, bool embedded=<default>);
real cm;
pen mediumgreen;
pen heavygreen;
-string ask(string prompt);
-frame[] fit2(picture[] pictures, picture all);
pen dashdotted;
pen deepblue;
string graphicscale(real x);
pen mediumblue;
-pen heavyblue;
transform invert;
pair NNW;
pair SE;
@@ -73,10 +76,13 @@ bool ArcArrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<defa
bool ArcArrows(picture, path, pen, marginT(path, pen));
void filloutside(picture pic=<default>, path[] g, pen p=<default>, bool copy=<default>);
void filloutside(frame f, path[] g, pen p=<default>, bool copy=<default>);
+bool ArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+bool ArcArrow(picture, path, pen, marginT(path, pen));
filltype RadialShadeDraw(real xmargin=<default>, real ymargin=<default>, pen penc, pen penr, pen drawpen=<default>);
marginT BeginDotMargin(path, pen);
marker[] Mark;
marker Mark(int n);
+projection projection(triple camera, triple up=<default>, triple target=<default>, triple normal=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>, transformation projector(triple camera, triple up, triple target));
pen darkolive;
pen Dotted;
pen Dotted(pen p=<default>);
@@ -96,7 +102,6 @@ bool EndBar(picture, path, pen, marginT(path, pen))(real size=<default>);
file stdin;
int debuggerlines;
frame bbox(picture pic=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>);
-frame pack(pair align=<default> ... object[] inset);
path unitcircle;
arrowhead DefaultHead;
pen white;
@@ -106,14 +111,11 @@ transform Rotate(transform t);
Legend Legend(string label, pen plabel=<default>, pen p=<default>, frame mark=<default>, bool above=<default>);
void exitfunction();
void drawarrow(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT margin(path, pen)=<default>, bool center=<default>);
-object embed3(string, frame, string, string, string, light, projection);
string cputimeformat;
pair arcpoint(path p, real L);
bool interior(int windingnumber, pen fillrule);
pen fuchsia;
pen brown;
-bool EndArrow(picture, path, pen, marginT(path, pen));
-bool EndArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
void bar(picture pic, pair a, pair d, pen p=<default>);
picture bar(pair a, pair d, pen p=<default>);
pen deepcyan;
@@ -128,8 +130,14 @@ path arrowbase(path r, pair y, real t, real size);
pen[] monoPen;
bool CW;
pen Cyan;
+string outprefix(string prefix=<default>);
+object object(Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+object object(frame f);
+object object(Label L);
marginT EndPenMargin(path, pen);
pair NNE;
+bool EndArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+bool EndArrow(picture, path, pen, marginT(path, pen));
pen roundjoin;
void addArrow(picture pic, arrowhead arrowhead, path g, pen p, real size, real angle, filltype filltype, real position);
pen lightgray;
@@ -147,23 +155,16 @@ pair up;
pen ZapfChancery(string series=<default>, string shape=<default>);
pair left;
bool prconly(string format=<default>);
-pair[] pairs(real[] x, real[] y);
-void eval(code s, bool embedded=<default>);
-void eval(string s, bool embedded=<default>);
-bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
-bool Arrow(picture, path, pen, marginT(path, pen));
pen deepgreen;
pen lightmagenta;
real bracedefaultratio;
transform Scale(transform t);
string getstring(string name=<default>, string default=<default>, string prompt=<default>, bool store=<default>);
marginT DotMargins(path, pen);
+bool debugging;
+void shipout(string prefix=<default>, picture pic=<default>, frame orientation(frame)=<default>, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>);
+void shipout(string prefix=<default>, frame f, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>, transform t=<default>);
path[] MarkPath;
-frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>);
-pen Bookman(string series=<default>, string shape=<default>);
-path box(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-path box(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-path box(pair a, pair b);
pen deepgray;
string defaultformat(int n, string trailingzero=<default>, bool fixed=<default>, bool signed=<default>);
string defaultformat;
@@ -174,7 +175,6 @@ path[] align(path[] g, transform t=<default>, pair position, pair align, pen p=<
object align(object F, pair align);
transform scaleless(transform t);
pen RGB(int r, int g, int b);
-void copyPairOrTriple(pairOrTriple dest, pairOrTriple src);
pen thin();
real arcarrowangle;
void restoredefaults();
@@ -223,13 +223,18 @@ marginT DotMargin(path, pen);
pen squarepen;
pen deepyellow;
real barsize(pen p=<default>);
-bool BeginArcArrow(picture, path, pen, marginT(path, pen));
-bool BeginArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
real legendmargin;
bool None(picture, path, pen, marginT(path, pen));
pen AvantGarde(string series=<default>, string shape=<default>);
real circleprecision;
pen Black;
+pen Bookman(string series=<default>, string shape=<default>);
+path box(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+path box(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+path box(pair a, pair b);
+frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>);
+string ask(string prompt);
+frame[] fit2(picture[] pictures, picture all);
pen Pen(int n);
pair ENE;
pen Courier(string series=<default>, string shape=<default>);
@@ -251,9 +256,9 @@ real calculateScaling(string dir, coord[] coords, real size, bool warn=<default>
real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>);
real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>);
real expansionfactor;
+bool BeginArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+bool BeginArcArrow(picture, path, pen, marginT(path, pen));
position BeginPoint;
-bool ArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
-bool ArcArrow(picture, path, pen, marginT(path, pen));
real arrowhookfactor;
bool finite(real x);
bool finite(pair z);
@@ -286,8 +291,6 @@ pen springgreen;
pen heavygrey;
void markuniform(picture pic=<default>, frame f, path g)(pair z(real t), real a, real b, int n);
void markuniform(picture pic=<default>, frame f, path g)(bool centered=<default>, int n, bool rotated=<default>);
-bool BeginArrow(picture, path, pen, marginT(path, pen));
-bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
real circlescale;
bool ignore;
pen darkblue;
@@ -297,27 +300,6 @@ int JOIN_OUT;
projection currentprojection;
real arrowsizelimit;
pair endpoint(path p);
-arrowhead HookHead;
-arrowhead HookHead(real dir=<default>, real barb=<default>);
-real[] concat(... real[][]);
-pair[] concat(... pair[][]);
-pen[] concat(... pen[][]);
-marker[] concat(... marker[][]);
-path[] concat(... path[][]);
-coord[] concat(... coord[][]);
-coord[] concat(... coord[][]);
-picture[] concat(... picture[][]);
-int[] concat(... int[][]);
-void()()[] concat(... void()()[][]);
-bool3[] concat(... bool3[][]);
-object[] concat(... object[][]);
-string[] concat(... string[][]);
-Label[] concat(... Label[][]);
-triple[] concat(... triple[][]);
-Legend[] concat(... Legend[][]);
-frame[] concat(... frame[][]);
-guide[] concat(... guide[][]);
-bool[] concat(... bool[][]);
slice firstcut(path p, path knife);
frame UpsideDown(frame f);
pair viewportmargin;
@@ -326,16 +308,15 @@ void save()();
real dotfactor;
pen palecyan;
node node(void d(frame f, transform t, transform T, pair lb, pair rt), string key=<default>);
+frame pack(pair align=<default> ... object[] inset);
marginT BeginMargin(path, pen);
path buildcycle(... path[] p);
marker markthin(path g, pen p=<default>, real thin(real fraction)=<default>, filltype filltype=<default>);
void activatequote(picture pic=<default>);
int undefined;
-string outprefix(string prefix=<default>);
-object object(Label L);
-object object(Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-object object(frame f);
void drawarrow2(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>);
+bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+bool BeginArrow(picture, path, pen, marginT(path, pen));
pen roundcap;
void buildRestoreThunk()();
void overloadedMessage(file file);
@@ -358,6 +339,8 @@ bool[] array(int n, bool value, int depth=<default>);
string[] array(int n, string value, int depth=<default>);
pair[][] array(int n, pair[] value, int depth=<default>);
bool3[] array(int n, bool3 value, int depth=<default>);
+coord[] array(int n, coord value, int depth=<default>);
+coord[] array(int n, coord value, int depth=<default>);
object[] array(int n, object value, int depth=<default>);
marker[] array(int n, marker value, int depth=<default>);
Legend[] array(int n, Legend value, int depth=<default>);
@@ -367,8 +350,6 @@ triple[] array(int n, triple value, int depth=<default>);
path[] array(int n, path value, int depth=<default>);
frame[] array(int n, frame value, int depth=<default>);
pen[][] array(int n, pen[] value, int depth=<default>);
-coord[] array(int n, coord value, int depth=<default>);
-coord[] array(int n, coord value, int depth=<default>);
Label[] array(int n, Label value, int depth=<default>);
picture[] array(int n, picture value, int depth=<default>);
int[] array(int n, int value, int depth=<default>);
@@ -391,6 +372,27 @@ Label Label(string s, string size=<default>, pair position, align align=<default
Label Label(Label L, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
hsv hsv(real h, real s, real v);
hsv hsv(pen p);
+arrowhead HookHead;
+arrowhead HookHead(real dir=<default>, real barb=<default>);
+picture[] concat(... picture[][]);
+real[] concat(... real[][]);
+object[] concat(... object[][]);
+pair[] concat(... pair[][]);
+Label[] concat(... Label[][]);
+pen[] concat(... pen[][]);
+coord[] concat(... coord[][]);
+coord[] concat(... coord[][]);
+Legend[] concat(... Legend[][]);
+path[] concat(... path[][]);
+int[] concat(... int[][]);
+void()()[] concat(... void()()[][]);
+bool3[] concat(... bool3[][]);
+string[] concat(... string[][]);
+triple[] concat(... triple[][]);
+marker[] concat(... marker[][]);
+frame[] concat(... frame[][]);
+guide[] concat(... guide[][]);
+bool[] concat(... bool[][]);
pair N;
real dotsize(pen p=<default>);
real pt;
@@ -405,9 +407,8 @@ frame dotframe(pen p=<default>, filltype filltype=<default>);
frame dotframe;
real arcarrowfactor;
real mm;
-bool debugging;
-void shipout(string prefix=<default>, picture pic=<default>, frame orientation(frame)=<default>, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>);
-void shipout(string prefix=<default>, frame f, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>, transform t=<default>);
+pen heavyblue;
+filltype dotfilltype;
plain plain;
int getint(string name=<default>, int default=<default>, string prompt=<default>, bool store=<default>);
int bitreverse(int a, int bits);
@@ -426,10 +427,10 @@ path[] strokepath(path g, pen p=<default>);
real erf(real x);
real Yn(int n, real x);
real Jn(int n, real x);
-light light(pen[] diffuse, pen[] ambient=<default>, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, triple[] position);
-light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real x, real y, real z);
+light light(pen diffuse=<default>, pen specular=<default>, pen background=<default>, real x, real y, real z);
light light(explicit light light);
-light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default> ... triple[] position);
+light light(pen diffuse=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default> ... triple[] position);
+light light(pen[] diffuse, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, triple[] position);
real remainder(real x, real y);
int choose(int n, int k);
real hypot(real x, real y);
@@ -676,8 +677,6 @@ bool[] operator !(bool[] a);
bool operator !(bool b);
int[] sequence(int n);
pen[][] sequence(pen[] f(int), int n);
-coord[] sequence(coord f(int), int n);
-coord[] sequence(coord f(int), int n);
Label[] sequence(Label f(int), int n);
picture[] sequence(picture f(int), int n);
int[] sequence(int f(int), int n);
@@ -690,6 +689,8 @@ bool[] sequence(bool f(int), int n);
string[] sequence(string f(int), int n);
pair[][] sequence(pair[] f(int), int n);
bool3[] sequence(bool3 f(int), int n);
+coord[] sequence(coord f(int), int n);
+coord[] sequence(coord f(int), int n);
object[] sequence(object f(int), int n);
marker[] sequence(marker f(int), int n);
Legend[] sequence(Legend f(int), int n);
@@ -742,27 +743,27 @@ void drawPRCsphere(frame f, real[][] t, bool half=<default>, pen[] p, real opaci
string[] spinner;
real[] times(path p, real x);
real[] times(path p, explicit pair z);
-void drawbeziertriangle(frame f, triple[][] p, triple center, bool straight, pen[] p, real opacity, real shininess, real prcshininess, pen[] colors, int interaction, bool prc=<default>);
-void draw(frame f, triple[][] p, triple center, bool straight, pen[] p, real opacity, real shininess, real prcshininess, pen[] colors, int interaction, bool prc=<default>);
+void drawbeziertriangle(frame f, triple[][] p, triple center, bool straight, pen[] p, real opacity, real shininess, real metallic, real fresnel0, real prcshininess, pen[] colors, int interaction, bool prc=<default>);
+void draw(frame f, triple[][] p, triple center, bool straight, pen[] p, real opacity, real shininess, real metallic, real fresnel0, real prcshininess, pen[] colors, int interaction, bool prc=<default>);
void draw(frame f, triple[] p, real[] knot, real[] weights=<default>, pen p);
-void draw(frame f, triple[][] p, real[] uknot, real[] vknot, real[][] weights=<default>, pen[] p, real opacity, real shininess, real prcshininess, pen[] colors);
-void draw(frame f, triple[] v, int[][] vi, triple[] n, int[][] ni, pen[] p, real opacity, real shininess, real prcshininess, pen[] c=<default>, int[][] ci=<default>);
+void draw(frame f, triple[][] p, real[] uknot, real[] vknot, real[][] weights=<default>, pen[] p, real opacity, real shininess, real metallic, real fresnel0, real prcshininess, pen[] colors);
+void draw(frame f, triple[] v, int[][] vi, triple[] n, int[][] ni, pen[] p, real opacity, real shininess, real metallic, real fresnel0, real prcshininess, pen[] c=<default>, int[][] ci=<default>);
void draw(picture pic=<default>, path[] g, pen fillrule=<default>, pen[] p);
object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), pair position, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+void draw(frame f, explicit path[] g, pen p=<default>);
+void draw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+void draw(pair origin, picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
+object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
void draw(picture pic=<default>, guide[] g, pen p=<default>, Label legend=<default>, marker marker=<default>);
void draw(pair origin, picture pic=<default>, guide[] g, pen p=<default>, Label legend=<default>, marker marker=<default>);
-void draw(frame f, explicit path[] g, pen p=<default>);
+void draw(frame f, guide[] g, pen p=<default>);
void draw(picture pic=<default>, explicit path[] g, pen p=<default>, Label legend=<default>, marker marker=<default>);
void draw(pair origin, picture pic=<default>, explicit path[] g, pen p=<default>, Label legend=<default>, marker marker=<default>);
-object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-void draw(frame f, guide[] g, pen p=<default>);
-void draw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
-void draw(pair origin, picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
void draw(frame f, path g, pen p=<default>);
void draw(frame f, path g, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen)));
void deconstruct(frame f, frame preamble=<default>, transform t=<default>);
void deconstruct(picture pic=<default>);
-void shipout3(string prefix, frame f, string format=<default>, real width, real height, real angle, real zoom, triple m, triple m, pair shift, real[][] t, real[] background, triple[] lights, real[][] diffuse, real[][] ambient, real[][] specular, bool view=<default>);
+void shipout3(string prefix, frame f, string format=<default>, real width, real height, real angle, real zoom, triple m, triple m, pair shift, real[][] t, real[] background, triple[] lights, real[][] diffuse, real[][] specular, bool view=<default>);
void shipout3(string prefix, frame f);
int CTZ(int a);
void _shipout(string prefix=<default>, frame f, frame preamble=<default>, string format=<default>, bool wait=<default>, bool view=<default>, transform t=<default>);
@@ -793,17 +794,17 @@ void prepend(frame dest, frame src);
void add(frame dest, frame src);
void add(picture dest=<default>, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(frame dest, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>);
+void add(picture pic=<default>, Label L);
void add(picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture pic=<default>, void d(frame f, transform t), bool exact=<default>);
-void add(picture pic=<default>, void d(frame f, real[][] t, picture pic, projection P), bool exact=<default>);
void add(picture pic=<default>, void d(picture, real[][]), bool exact=<default>);
-void add(frame f, transform t=<default>, Label L);
void add(picture dest, picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture dest, picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture dest=<default>, object F, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-void add(picture pic=<default>, Label L);
void add(frame dest, frame src, filltype filltype, bool above=<default>);
void add(frame dest, frame src, bool group, filltype filltype=<default>, bool above=<default>);
+void add(picture pic=<default>, void d(frame f, real[][] t, picture pic, projection P), bool exact=<default>);
+void add(frame f, transform t=<default>, Label L);
void add(frame dest, frame src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void add(picture pic=<default>, void d(picture, transform), bool exact=<default>);
@@ -916,9 +917,9 @@ pair size(frame f);
int size(path p);
int size(path[] p);
int size(path3 p);
+void size(picture dest, picture src);
pair size(picture pic, bool user=<default>);
void size(picture pic=<default>, transform t);
-void size(picture dest, picture src);
void size(picture pic=<default>, real x, real y=<default>, bool keepAspect=<default>);
void size(picture pic=<default>, real xsize, real ysize, pair min, pair max);
string texify(string s);
@@ -1044,60 +1045,60 @@ string VERSION;
bool alias(pair[][] a, pair[][] b);
bool alias(guide[] a, guide[] b);
bool alias(marginT a, marginT b);
-bool alias(coord[] a, coord[] b);
-bool alias(coord[] a, coord[] b);
-bool alias(node a, node b);
-bool alias(Label a, Label b);
-bool alias(picture[] a, picture[] b);
+bool alias(simplex a, simplex b);
+bool alias(scaleT a, scaleT b);
+bool alias(arrowhead a, arrowhead b);
bool alias(pair[] a, pair[] b);
-bool alias(scaling a, scaling b);
-bool alias(scaling a, scaling b);
-bool alias(bounds a, bounds b);
-bool alias(transformation a, transformation b);
-bool alias(marker a, marker b);
-bool alias(Legend[] a, Legend[] b);
+bool alias(coord a, coord b);
+bool alias(coord a, coord b);
+bool alias(Legend a, Legend b);
+bool alias(position a, position b);
+bool alias(marker[] a, marker[] b);
bool alias(int[] a, int[] b);
bool alias(string[][] a, string[][] b);
bool alias(slice a, slice b);
-bool alias(coords3 a, coords3 b);
-bool alias(ScaleT a, ScaleT b);
-bool alias(side a, side b);
-bool alias(cputime a, cputime b);
+bool alias(freezableBounds a, freezableBounds b);
+bool alias(projection a, projection b);
+bool alias(picture a, picture b);
+bool alias(Label[] a, Label[] b);
bool alias(real[][] a, real[][] b);
bool alias(bool3 a, bool3 b);
bool alias(bool3[] a, bool3[] b);
-bool alias(projection a, projection b);
-bool alias(pairOrTriple a, pairOrTriple b);
-bool alias(object a, object b);
-bool alias(object[] a, object[] b);
+bool alias(autoscaleT a, autoscaleT b);
+bool alias(align a, align b);
+bool alias(processtime a, processtime b);
bool alias(string[] a, string[] b);
bool alias(frame[] a, frame[] b);
-bool alias(coords2 a, coords2 b);
-bool alias(coords2 a, coords2 b);
+bool alias(scaling a, scaling b);
+bool alias(scaling a, scaling b);
+bool alias(bounds a, bounds b);
bool alias(light a, light b);
-bool alias(scaleT a, scaleT b);
-bool alias(arrowhead a, arrowhead b);
+bool alias(node a, node b);
+bool alias(Label a, Label b);
+bool alias(picture[] a, picture[] b);
bool alias(bool[] a, bool[] b);
bool alias(void()()[] a, void()()[] b);
bool alias(pen[][] a, pen[][] b);
bool alias(filltype a, filltype b);
-bool alias(simplex a, simplex b);
-bool alias(Legend a, Legend b);
-bool alias(position a, position b);
-bool alias(marker[] a, marker[] b);
+bool alias(coord[] a, coord[] b);
+bool alias(coord[] a, coord[] b);
+bool alias(coords3 a, coords3 b);
+bool alias(marker a, marker b);
+bool alias(Legend[] a, Legend[] b);
bool alias(path[] a, path[] b);
bool alias(triple[] a, triple[] b);
-bool alias(coord a, coord b);
-bool alias(coord a, coord b);
-bool alias(picture a, picture b);
-bool alias(Label[] a, Label[] b);
+bool alias(ScaleT a, ScaleT b);
+bool alias(side a, side b);
+bool alias(cputime a, cputime b);
bool alias(real[] a, real[] b);
bool alias(pen[] a, pen[] b);
bool alias(hsv a, hsv b);
-bool alias(freezableBounds a, freezableBounds b);
-bool alias(autoscaleT a, autoscaleT b);
-bool alias(align a, align b);
-bool alias(processtime a, processtime b);
+bool alias(coords2 a, coords2 b);
+bool alias(coords2 a, coords2 b);
+bool alias(transformation a, transformation b);
+bool alias(pairOrTriple a, pairOrTriple b);
+bool alias(object a, object b);
+bool alias(object[] a, object[] b);
real pi;
int randMax;
pen heavycyan;
@@ -1121,27 +1122,27 @@ pen palered;
real[] map(real f(pair), pair[] a);
int[] map(int f(real), real[] a);
bool3[] map(bool3 f(bool3), bool3[] a);
-object[] map(object f(object), object[] a);
frame[] map(frame f(frame), frame[] a);
-coord[] map(coord f(coord), coord[] a);
-coord[] map(coord f(coord), coord[] a);
-picture[] map(picture f(picture), picture[] a);
pen[][] map(pen[] f(pen[]), pen[][] a);
triple[] map(triple f(triple), triple[] a);
pen[] map(pen f(pen), pen[] a);
-marker[] map(marker f(marker), marker[] a);
+coord[] map(coord f(coord), coord[] a);
+coord[] map(coord f(coord), coord[] a);
+Legend[] map(Legend f(Legend), Legend[] a);
pair[] map(pair f(pair), pair[] a);
+Label[] map(Label f(Label), Label[] a);
string[] map(string f(string), string[] a);
+object[] map(object f(object), object[] a);
void()()[] map(void f()()(void()()), void()()[] a);
pair[][] map(pair[] f(pair[]), pair[][] a);
real[] map(real f(real), real[] a);
+picture[] map(picture f(picture), picture[] a);
int[] map(int f(int), int[] a);
string[][] map(string[] f(string[]), string[][] a);
-Legend[] map(Legend f(Legend), Legend[] a);
+marker[] map(marker f(marker), marker[] a);
bool[] map(bool f(bool), bool[] a);
path[] map(path f(path), path[] a);
real[][] map(real[] f(real[]), real[][] a);
-Label[] map(Label f(Label), Label[] a);
guide[] map(guide f(guide), guide[] a);
real identity(real x);
real[] identity(real[] a);
@@ -1257,32 +1258,30 @@ int search(int[] a, int key);
int search(real[] a, real key);
int search(string[] a, string key);
int search(void()()[] a, void key()(), bool less(void()(), void()()));
+int search(object[] a, object key, bool less(object, object));
int search(real[] a, real key, bool less(real, real));
int search(guide[] a, guide key, bool less(guide, guide));
+int search(Label[] a, Label key, bool less(Label, Label));
int search(pair[] a, pair key, bool less(pair, pair));
-int search(marker[] a, marker key, bool less(marker, marker));
-int search(frame[] a, frame key, bool less(frame, frame));
int search(coord[] a, coord key, bool less(coord, coord));
int search(coord[] a, coord key, bool less(coord, coord));
-int search(picture[] a, picture key, bool less(picture, picture));
+int search(Legend[] a, Legend key, bool less(Legend, Legend));
+int search(frame[] a, frame key, bool less(frame, frame));
int search(int[] a, int key, bool less(int, int));
int search(bool3[] a, bool3 key, bool less(bool3, bool3));
-int search(object[] a, object key, bool less(object, object));
-int search(Label[] a, Label key, bool less(Label, Label));
int search(string[] a, string key, bool less(string, string));
int search(path[] a, path key, bool less(path, path));
int search(pen[] a, pen key, bool less(pen, pen));
-int search(Legend[] a, Legend key, bool less(Legend, Legend));
+int search(marker[] a, marker key, bool less(marker, marker));
int search(bool[] a, bool key, bool less(bool, bool));
int search(triple[] a, triple key, bool less(triple, triple));
+int search(picture[] a, picture key, bool less(picture, picture));
int[] sort(int[] a);
int[][] sort(int[][] a);
real[] sort(real[] a);
real[][] sort(real[][] a);
string[] sort(string[] a);
string[][] sort(string[][] a);
-coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
-coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>);
picture[] sort(picture[] a, bool less(picture, picture), bool stable=<default>);
path[] sort(path[] a, bool less(path, path), bool stable=<default>);
@@ -1293,6 +1292,8 @@ bool[] sort(bool[] a, bool less(bool, bool), bool stable=<default>);
void()()[] sort(void()()[] a, bool less(void()(), void()()), bool stable=<default>);
frame[] sort(frame[] a, bool less(frame, frame), bool stable=<default>);
bool3[] sort(bool3[] a, bool less(bool3, bool3), bool stable=<default>);
+coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
+coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
object[] sort(object[] a, bool less(object, object), bool stable=<default>);
marker[] sort(marker[] a, bool less(marker, marker), bool stable=<default>);
Legend[] sort(Legend[] a, bool less(Legend, Legend), bool stable=<default>);
@@ -1335,10 +1336,10 @@ pair max(explicit path p);
pair max(path[] p);
triple max(path3 p);
pair max(picture pic, bool user=<default>);
-real max(real M, scaling s, coord[] c);
-real max(real M, scaling s, coord[] c);
int max(... int[] a);
real max(... real[] a);
+real max(real M, scaling s, coord[] c);
+real max(real M, scaling s, coord[] c);
void restore();
pen basealign(int n);
int basealign(pen p=<default>);
@@ -1370,9 +1371,9 @@ pair min(explicit path p);
pair min(path[] p);
triple min(path3 p);
real min(... real[] a);
-pair min(picture pic, bool user=<default>);
real min(real m, scaling s, coord[] c);
real min(real m, scaling s, coord[] c);
+pair min(picture pic, bool user=<default>);
int min(... int[] a);
void srand(int seed);
bool operator >(int a, int b);
@@ -1438,8 +1439,6 @@ triple[] copy(triple[] a, int depth=<default>);
bool[] copy(bool[] a, int depth=<default>);
real[][] copy(real[][] a, int depth=<default>);
pen[] copy(pen[] a, int depth=<default>);
-coord[] copy(coord[] a, int depth=<default>);
-coord[] copy(coord[] a, int depth=<default>);
Label[] copy(Label[] a, int depth=<default>);
picture[] copy(picture[] a, int depth=<default>);
pen[][] copy(pen[][] a, int depth=<default>);
@@ -1451,6 +1450,8 @@ string[][] copy(string[][] a, int depth=<default>);
frame[] copy(frame[] a, int depth=<default>);
pair[] copy(pair[] a, int depth=<default>);
bool3[] copy(bool3[] a, int depth=<default>);
+coord[] copy(coord[] a, int depth=<default>);
+coord[] copy(coord[] a, int depth=<default>);
object[] copy(object[] a, int depth=<default>);
marker[] copy(marker[] a, int depth=<default>);
Legend[] copy(Legend[] a, int depth=<default>);
@@ -1539,15 +1540,15 @@ triple operator *(real[][] t, triple v);
triple operator *(real x, triple v);
triple operator *(triple v, real x);
path3 operator *(real[][] t, path3 g);
-picture operator *(real[][] t, picture orig);
-side operator *(real x, side s);
-Label operator *(real[][] t, Label L);
-path[] operator *(transform t, explicit path[] p);
-bounds operator *(transform t, bounds b);
-pair[] operator *(transform t, pair[] z);
picture operator *(transform t, picture orig);
object operator *(transform t, explicit object F);
+bounds operator *(transform t, bounds b);
Label operator *(transform t, Label L);
+path[] operator *(transform t, explicit path[] p);
+pair[] operator *(transform t, pair[] z);
+picture operator *(real[][] t, picture orig);
+side operator *(real x, side s);
+Label operator *(real[][] t, Label L);
real latitude(triple v, bool warn=<default>);
int sum(int[] a);
real sum(real[] a);
@@ -1625,12 +1626,12 @@ void write(string s=<default>, explicit path[] x, void suffix(file)=<default>);
void write(file file, void suffix(file)=<default>);
void write(file file=<default>, string s=<default>, pen[] p);
void write(void suffix(file)=<default>);
+void write(pairOrTriple a);
void write(file file, string s=<default>, explicit path[] x, void suffix(file)=<default>);
void write(file file=<default>, Label L, void suffix(file)=<default>);
void write(file file, string s=<default>, cputime c, string format=<default>, void suffix(file)=<default>);
void write(string s=<default>, bool3 b, void suffix(file)=<default>);
void write(file file, string s=<default>, bool3 b, void suffix(file)=<default>);
-void write(pairOrTriple a);
void write(string s=<default>, explicit guide[] x, void suffix(file)=<default>);
void write(file file=<default>, align align, void suffix(file)=<default>);
bool operator !=(bool a, bool b);
@@ -1670,41 +1671,41 @@ bool operator !=(file a, file b);
bool operator !=(path a, path b);
bool operator !=(path3 a, path3 b);
bool operator !=(bool3 a, bool3 b);
-bool operator !=(projection a, projection b);
-bool operator !=(pairOrTriple a, pairOrTriple b);
-bool operator !=(object a, object b);
-bool operator !=(coords2 a, coords2 b);
-bool operator !=(coords2 a, coords2 b);
-bool operator !=(light a, light b);
-bool operator !=(scaleT a, scaleT b);
-bool operator !=(arrowhead a, arrowhead b);
-bool operator !=(filltype a, filltype b);
-bool operator !=(simplex a, simplex b);
-bool operator !=(Legend a, Legend b);
-bool operator !=(position a, position b);
-bool operator !=(coord a, coord b);
-bool operator !=(coord a, coord b);
-bool operator !=(picture a, picture b);
-bool operator !=(hsv a, hsv b);
-bool operator !=(freezableBounds a, freezableBounds b);
bool operator !=(autoscaleT a, autoscaleT b);
bool operator !=(align a, align b);
bool operator !=(processtime a, processtime b);
-bool operator !=(bool3 a, bool b);
-bool operator !=(marginT a, marginT b);
-bool operator !=(node a, node b);
-bool operator !=(Label a, Label b);
bool operator !=(scaling a, scaling b);
bool operator !=(scaling a, scaling b);
bool operator !=(bounds a, bounds b);
-bool operator !=(transformation a, transformation b);
-bool operator !=(marker a, marker b);
-bool operator !=(bool a, bool3 b);
-bool operator !=(slice a, slice b);
+bool operator !=(light a, light b);
+bool operator !=(node a, node b);
+bool operator !=(Label a, Label b);
+bool operator !=(filltype a, filltype b);
bool operator !=(coords3 a, coords3 b);
+bool operator !=(marker a, marker b);
bool operator !=(ScaleT a, ScaleT b);
bool operator !=(side a, side b);
bool operator !=(cputime a, cputime b);
+bool operator !=(hsv a, hsv b);
+bool operator !=(coords2 a, coords2 b);
+bool operator !=(coords2 a, coords2 b);
+bool operator !=(transformation a, transformation b);
+bool operator !=(pairOrTriple a, pairOrTriple b);
+bool operator !=(object a, object b);
+bool operator !=(bool3 a, bool b);
+bool operator !=(marginT a, marginT b);
+bool operator !=(simplex a, simplex b);
+bool operator !=(scaleT a, scaleT b);
+bool operator !=(arrowhead a, arrowhead b);
+bool operator !=(coord a, coord b);
+bool operator !=(coord a, coord b);
+bool operator !=(Legend a, Legend b);
+bool operator !=(position a, position b);
+bool operator !=(bool a, bool3 b);
+bool operator !=(slice a, slice b);
+bool operator !=(freezableBounds a, freezableBounds b);
+bool operator !=(projection a, projection b);
+bool operator !=(picture a, picture b);
bool operator ==(bool a, bool b);
bool[] operator ==(bool a, bool[] b);
bool[] operator ==(bool[] a, bool b);
@@ -1742,41 +1743,41 @@ bool operator ==(file a, file b);
bool operator ==(path a, path b);
bool operator ==(path3 a, path3 b);
bool operator ==(bool3 a, bool3 b);
-bool operator ==(projection a, projection b);
-bool operator ==(pairOrTriple a, pairOrTriple b);
-bool operator ==(object a, object b);
-bool operator ==(coords2 a, coords2 b);
-bool operator ==(coords2 a, coords2 b);
-bool operator ==(light a, light b);
-bool operator ==(scaleT a, scaleT b);
-bool operator ==(arrowhead a, arrowhead b);
-bool operator ==(filltype a, filltype b);
-bool operator ==(simplex a, simplex b);
-bool operator ==(Legend a, Legend b);
-bool operator ==(position a, position b);
-bool operator ==(coord a, coord b);
-bool operator ==(coord a, coord b);
-bool operator ==(picture a, picture b);
-bool operator ==(hsv a, hsv b);
-bool operator ==(freezableBounds a, freezableBounds b);
bool operator ==(autoscaleT a, autoscaleT b);
bool operator ==(align a, align b);
bool operator ==(processtime a, processtime b);
-bool operator ==(bool3 a, bool b);
-bool operator ==(marginT a, marginT b);
-bool operator ==(node a, node b);
-bool operator ==(Label a, Label b);
bool operator ==(scaling a, scaling b);
bool operator ==(scaling a, scaling b);
bool operator ==(bounds a, bounds b);
-bool operator ==(transformation a, transformation b);
-bool operator ==(marker a, marker b);
-bool operator ==(bool a, bool3 b);
-bool operator ==(slice a, slice b);
+bool operator ==(light a, light b);
+bool operator ==(node a, node b);
+bool operator ==(Label a, Label b);
+bool operator ==(filltype a, filltype b);
bool operator ==(coords3 a, coords3 b);
+bool operator ==(marker a, marker b);
bool operator ==(ScaleT a, ScaleT b);
bool operator ==(side a, side b);
bool operator ==(cputime a, cputime b);
+bool operator ==(hsv a, hsv b);
+bool operator ==(coords2 a, coords2 b);
+bool operator ==(coords2 a, coords2 b);
+bool operator ==(transformation a, transformation b);
+bool operator ==(pairOrTriple a, pairOrTriple b);
+bool operator ==(object a, object b);
+bool operator ==(bool3 a, bool b);
+bool operator ==(marginT a, marginT b);
+bool operator ==(simplex a, simplex b);
+bool operator ==(scaleT a, scaleT b);
+bool operator ==(arrowhead a, arrowhead b);
+bool operator ==(coord a, coord b);
+bool operator ==(coord a, coord b);
+bool operator ==(Legend a, Legend b);
+bool operator ==(position a, position b);
+bool operator ==(bool a, bool3 b);
+bool operator ==(slice a, slice b);
+bool operator ==(freezableBounds a, freezableBounds b);
+bool operator ==(projection a, projection b);
+bool operator ==(picture a, picture b);
bool operator ^(bool a, bool b);
bool[] operator ^(bool a, bool[] b);
bool[] operator ^(bool[] a, bool b);
@@ -1896,29 +1897,29 @@ object operator cast(Label L);
Label operator cast(object F);
guide[] operator cast(path[] g);
hsv operator cast(pen p);
+position operator cast(pair x);
+pair operator cast(position P);
bool3[] operator cast(bool[] b);
-position operator cast(int x);
-object operator cast(string s);
-position operator cast(real x);
-Label operator cast(string s);
+object operator cast(frame f);
+align operator cast(pair dir);
guide[] operator cast(pair[] z);
path[] operator cast(guide[] g);
bool operator cast(bool3 b);
-pair operator cast(pairOrTriple a);
-triple operator cast(pairOrTriple a);
-frame operator cast(object F);
+align operator cast(triple dir);
path[] operator cast(guide g);
-position operator cast(pair x);
path[] operator cast(pair[] z);
path[] operator cast(path p);
-pair operator cast(position P);
bool[] operator cast(bool3[] b);
-object operator cast(frame f);
+position operator cast(int x);
+object operator cast(string s);
align operator cast(side side);
bool3 operator cast(bool b);
-align operator cast(pair dir);
+position operator cast(real x);
+Label operator cast(string s);
+pair operator cast(pairOrTriple a);
+triple operator cast(pairOrTriple a);
pen operator cast(hsv hsv);
-align operator cast(triple dir);
+frame operator cast(object F);
pen deepred;
bool error(file f);
string operator ecast(int);
@@ -1947,38 +1948,38 @@ pen operator init();
frame operator init();
file operator init();
marginT operator init();
-node operator init();
-Label operator init();
-filltype operator init();
simplex operator init();
-Legend operator init();
-position operator init();
-slice operator init();
+scaleT operator init();
+arrowhead operator init();
+filltype operator init();
coords3 operator init();
-ScaleT operator init();
-side operator init();
-cputime operator init();
+marker operator init();
+slice operator init();
+projection operator init();
+picture operator init();
hsv operator init();
-autoscaleT operator init();
-align operator init();
-processtime operator init();
coords2 operator init();
coords2 operator init();
-light operator init();
-scaleT operator init();
-arrowhead operator init();
+transformation operator init();
+pairOrTriple operator init();
+object operator init();
scaling operator init();
scaling operator init();
bounds operator init();
-transformation operator init();
-marker operator init();
+light operator init();
+node operator init();
+Label operator init();
coord operator init();
coord operator init();
-picture operator init();
+Legend operator init();
+position operator init();
+ScaleT operator init();
+side operator init();
+cputime operator init();
bool3 operator init();
-projection operator init();
-pairOrTriple operator init();
-object operator init();
+autoscaleT operator init();
+align operator init();
+processtime operator init();
sCAD operator init();
frame NoBox(frame f);
real animationdelay;
@@ -1995,8 +1996,8 @@ real[][] intersections(pair a, pair b, path p);
real maxrefinements;
real duplicateFuzz;
path subdivide(path p);
-path[][] containmentTree(path[] paths);
bool isDuplicate(pair a, pair b, real relSize);
+path[][] containmentTree(path[] paths);
real fuzz;
path removeDuplicates(path p);
int countIntersections(path[] p, pair start, pair end);
@@ -2004,20 +2005,19 @@ binarytree binarytree(... key[] keys);
key nil;
key key(int n, bool active=<default>);
real minDistDefault;
+object draw(picture pic=<default>, binarytreeNode node, pair pos, int height, real minDist, real levelDist, real nodeDiameter, pen p=<default>, bool condensed=<default>);
+void draw(picture pic=<default>, binarytree tree, real minDist=<default>, real nodeMargin=<default>, pen p=<default>, bool condensed=<default>);
real nodeMarginDefault;
-binarytreeNode operator init();
-key operator init();
-binarytree operator init();
-binarytreeNode binarytreeNode(int key);
key operator cast(int n);
int operator cast(key k);
int[] operator cast(key[] k);
-object draw(picture pic=<default>, binarytreeNode node, pair pos, int height, real minDist, real levelDist, real nodeDiameter, pen p=<default>, bool condensed=<default>);
-void draw(picture pic=<default>, binarytree tree, real minDist=<default>, real nodeMargin=<default>, pen p=<default>, bool condensed=<default>);
+binarytreeNode binarytreeNode(int key);
+binarytreeNode operator init();
+key operator init();
+binarytree operator init();
binarytree searchtree(... int[] keys);
real epsilon;
void add(picture pic=<default>, face[] faces, projection P=<default>);
-line intersection(face a, face b);
face operator init();
line operator init();
half operator init();
@@ -2025,7 +2025,80 @@ splitface operator init();
bsp operator init();
picture operator cast(face f);
face operator cast(path3 p);
+line intersection(face a, face b);
splitface split(face a, face cut, projection P);
+list_data viridis;
+list_data magma;
+list_data inferno;
+list_data cividis;
+seg_data wistia;
+seg_data winter;
+list_data tab20c;
+list_data tab20;
+list_data tab10;
+seg_data nipy_spectral;
+seg_data gist_stern;
+seg_data gist_ncar;
+seg_data gist_earth;
+list_data bwr;
+list_data brg;
+list_data YlOrBr;
+list_data YlGn;
+list_data RdGy;
+list_data Purples;
+list_data Paired;
+list_data Oranges;
+list_data OrRd;
+seg_data CMRmap;
+list_data BuPu;
+list_data Blues;
+real[] makeMappingArray(int N, triple[] data, real gamma=<default>);
+list_data Accent;
+list_data twilight;
+seg_data binary;
+list_data YlGnBu;
+list_data PiYG;
+seg_data copper;
+seg_data gray;
+seg_data summer;
+list_data Spectral;
+list_data PRGn;
+list_data RdPu;
+list_data RdYlGn;
+list_data seismic;
+list_data PuOr;
+list_data PuBu;
+seg_data coolwarm;
+seg_data jet;
+list_data Reds;
+list_data Set1;
+list_data Set3;
+list_data twilight_shifted;
+seg_data cool;
+list_data Pastel1;
+seg_data operator init();
+list_data operator init();
+list_data BuGn;
+list_data GnBu;
+list_data Pastel2;
+list_data Greens;
+seg_data autumn;
+seg_data hsv;
+list_data Dark2;
+list_data RdYlBu;
+list_data RdBu;
+seg_data bone;
+seg_data spring;
+list_data YlOrRd;
+list_data BrBG;
+seg_data pink;
+list_data Set2;
+list_data PuBuGn;
+list_data Greys;
+list_data plasma;
+list_data PuRd;
+list_data tab20b;
+seg_data hot;
void addseg(pair[][] gds, segment seg);
pen[] extend(pen[] palette, pen below, pen above);
guide[][] connect(pair[][][] points, real[] c, guide join(... guide[]));
@@ -2035,15 +2108,15 @@ segment case1(pair p0, pair p1, int edge);
real eps;
segment checktriangle(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge=<default>);
segment case2(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge);
-void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen[] p);
-void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen p=<default>);
-segment operator init();
-pen[][] interior(picture pic=<default>, guide[][] g, pen[] palette);
guide[][] contour(pair[][] z, real[][] f, real[][] midpoint=<default>, real[] c, guide join(... guide[])=<default>);
guide[][] contour(real[][] f, real[][] midpoint=<default>, pair a, pair b, real[] c, guide join(... guide[])=<default>);
guide[][] contour(real f(real, real), pair a, pair b, real[] c, int nx=<default>, int ny=<default>, guide join(... guide[])=<default>);
guide[][] contour(real f(pair), pair a, pair b, real[] c, int nx=<default>, int ny=<default>, guide join(... guide[])=<default>);
guide[][] contour(pair[] z, real[] f, real[] c, guide join(... guide[])=<default>);
+void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen[] p);
+void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen p=<default>);
+segment operator init();
+pen[][] interior(picture pic=<default>, guide[][] g, pen[] palette);
void fill(picture pic=<default>, guide[][] g, pen[][] palette);
vertex[][] contour3(triple[][][] v, real[][][] f, real[][][] midpoint=<default>, projection P=<default>);
vertex[][] contour3(real[][][] f, real[][][] midpoint=<default>, triple a, triple b, projection P=<default>);
@@ -2054,15 +2127,15 @@ vertex operator init();
object operator init();
surface surface(vertex[][] g);
real eps;
-real treeLevelStep;
real treeMinNodeWidth;
-void draw(TreeNode root, pair pos);
+void drawAll(TreeNode node, frame f);
real treeNodeStep;
-TreeNode operator init();
+void draw(TreeNode root, pair pos);
TreeNode makeNode(TreeNode parent=<default>, frame f);
TreeNode makeNode(TreeNode parent=<default>, Label label);
+TreeNode operator init();
void add(TreeNode child, TreeNode parent);
-void drawAll(TreeNode node, frame f);
+real treeLevelStep;
real layout(int level, TreeNode node);
string link(string label, string text=<default>);
string embed(string name, string text=<default>, string options=<default>, real width=<default>, real height=<default>);
@@ -2070,6 +2143,7 @@ string embedplayer(string name, string text=<default>, string options=<default>,
string link(string label, string text=<default>);
string hyperlink(string url, string text);
string embed(string name, string text=<default>, string options=<default>, real width=<default>, real height=<default>, string image=<default>);
+bool XYAlign;
void drawMomArrow(picture pic=<default>, path p, align align, position pos=<default>, real offset=<default>, real length=<default>, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real margin=<default>);
void drawVertexOX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
void drawVertexBoxO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
@@ -2088,67 +2162,66 @@ real linemargin;
bool overpaint;
bool currentarrow(picture, path, pen, marginT(path, pen));
real doublelinespacing;
-pen doublelinepen;
-pen ghostpen;
real photonamplitude;
real gluonamplitude;
real photonratio;
-bool XYAlign;
pen gluonpen;
+real momarrowsize(pen p=<default>);
void drawVertexX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>);
void drawVertexO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
+real bigvertexsize;
real momarrowlength;
path photon(path p, real amp=<default>, real width=<default>);
path gluon(path p, real amp=<default>, real width=<default>);
-real momarrowsize(pen p=<default>);
-void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
+bool YAlign;
void drawFermion(picture pic=<default>, path p, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
pen backgroundpen;
-real momarrowfactor;
-void drawPhoton(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
bool appendsuffix;
+void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
+real momarrowfactor;
pen vertexpen;
-void texshipout(string stem, picture pic=<default>, bool xalign=<default>);
+void drawPhoton(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
+void drawGluon(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
path momArrowPath(path p, align align, position pos, real offset=<default>, real length=<default>);
-real bigvertexsize;
real gluonratio;
-void drawGluon(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
+void texshipout(string stem, picture pic=<default>, bool xalign=<default>);
void fmdefaults();
+pen doublelinepen;
+pen ghostpen;
pen scalarpen;
-bool YAlign;
void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
void drawScalar(picture pic=<default>, path p, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
pen fermionpen;
+void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
string includegraphicscommand;
pen photonpen;
-void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
pen bigvertexpen;
Dir Down;
Dir Left;
block bevel(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real dh=<default>, real dw=<default>, real minwidth=<default>, real minheight=<default>);
block roundrectangle(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real ds=<default>, real dw=<default>, real minwidth=<default>, real minheight=<default>);
block diamond(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real ds=<default>, real dw=<default>, real height=<default>, real minwidth=<default>, real minheight=<default>);
+real defaultexcursion;
real mincirclediameter;
real minblockheight;
Dir Up;
Dir Right;
real minblockwidth;
block circle(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real dr=<default>, real mindiameter=<default>);
-path path(pair[] point ... flowdir[] dir);
-void draw(picture pic=<default>, block block, pen p=<default>);
block operator --(block b1, Label label);
block operator --(block b1, Dir dir);
block operator --(block b, bool arrowbar(picture, path, pen, marginT(path, pen)));
block rectangle(object header, object body, pair center=<default>, pen headerpen=<default>, pen bodypen=<default>, pen drawpen=<default>, real dx=<default>, real minheaderwidth=<default>, real minheaderheight=<default>, real minbodywidth=<default>, real minbodyheight=<default>);
block rectangle(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real dx=<default>, real minwidth=<default>, real minheight=<default>);
+path path(pair[] point ... flowdir[] dir);
+void draw(picture pic=<default>, block block, pen p=<default>);
+flowdir Vertical;
flowdir operator init();
block operator init();
Dir operator init();
-flowdir Vertical;
block blockconnector(block, block)(picture pic, transform t, pen p=<default>, marginT margin(path, pen)=<default>);
block parallelogram(object body, pair center=<default>, pen fillpen=<default>, pen drawpen=<default>, real dx=<default>, real slope=<default>, real minwidth=<default>, real minheight=<default>);
flowdir Horizontal;
-real defaultexcursion;
arc arccircle(point A, point M, point B);
arc arccircle(point A, point B, real angle, bool direction=<default>);
void lineinversion();
@@ -2167,12 +2240,52 @@ point intouch(side side);
triangle intouch(triangle t);
triangle extouch(triangle t);
triangle extouch(side side);
+triangle antipedal(triangle t, point M);
triangle pedal(triangle t, point M);
line pedal(side side, point M);
-point isogonal(side side, point M);
-line isogonal(vertex V, point M);
-triangle isogonal(triangle t, point M);
+point isogonalconjugate(triangle t, point M);
point isotomicconjugate(triangle t, point M);
+point[] fermat(triangle t);
+pair[] intersectionpoints(pair A, pair B, real a, real b, real c, real d, real f, real g);
+pair[] intersectionpoints(pair A, pair B, real[] equation);
+point[] intersectionpoints(line l, path g);
+point[] intersectionpoints(bqe bqe1, bqe bqe2);
+point[] intersectionpoints(triangle t, line l, bool extended=<default>);
+point[] intersectionpoints(line l, triangle t, bool extended=<default>);
+point[] intersectionpoints(line l, circle c);
+point[] intersectionpoints(circle c, line l);
+point[] intersectionpoints(line l, ellipse el);
+point[] intersectionpoints(ellipse el, line l);
+point[] intersectionpoints(line l, parabola p);
+point[] intersectionpoints(parabola p, line l);
+point[] intersectionpoints(line l, hyperbola h);
+point[] intersectionpoints(hyperbola h, line l);
+point[] intersectionpoints(line l, conic co);
+point[] intersectionpoints(conic co, line l);
+point[] intersectionpoints(conic co1, conic co2);
+point[] intersectionpoints(triangle t, conic co, bool extended=<default>);
+point[] intersectionpoints(conic co, triangle t, bool extended=<default>);
+point[] intersectionpoints(ellipse a, ellipse b);
+point[] intersectionpoints(ellipse a, circle b);
+point[] intersectionpoints(circle a, ellipse b);
+point[] intersectionpoints(ellipse a, parabola b);
+point[] intersectionpoints(parabola a, ellipse b);
+point[] intersectionpoints(ellipse a, hyperbola b);
+point[] intersectionpoints(hyperbola a, ellipse b);
+point[] intersectionpoints(circle a, parabola b);
+point[] intersectionpoints(parabola a, circle b);
+point[] intersectionpoints(circle a, hyperbola b);
+point[] intersectionpoints(hyperbola a, circle b);
+point[] intersectionpoints(parabola a, parabola b);
+point[] intersectionpoints(parabola a, hyperbola b);
+point[] intersectionpoints(hyperbola a, parabola b);
+point[] intersectionpoints(hyperbola a, hyperbola b);
+point[] intersectionpoints(circle c1, circle c2);
+point[] intersectionpoints(conic co, arc a);
+point[] intersectionpoints(arc a, conic co);
+point[] intersectionpoints(arc a1, arc a2);
+point[] intersectionpoints(line l, arc a);
+point[] intersectionpoints(arc a, line l);
transform projection(point A, point B);
transform projection(point A, point B, point C, point D, bool safe=<default>);
transform projection(line l);
@@ -2222,16 +2335,13 @@ abscissa angabscissa(hyperbola h, point M, path polarconicroutine(conic co, real
abscissa angabscissa(parabola p, point M);
abscissa angabscissa(explicit conic co, point M);
abscissa angabscissa(arc a, point M);
-circle incircle(point A, point B, point C);
-circle incircle(triangle t);
+point centroid(point A, point B, point C);
+point centroid(triangle t);
inversion inversion(real k, point C);
inversion inversion(point C, real k);
inversion inversion(circle c1, circle c2, real sgn=<default>);
inversion inversion(circle c1, circle c2, circle c3);
inversion inversion(circle c);
-point arcsubtendedcenter(point A, point B, real angle);
-line altitude(vertex V);
-line altitude(side side);
path compassmark(pair O, pair A, real position, real angle=<default>);
vector vector(coordsys R=<default>, pair v);
vector vector(point M);
@@ -2240,7 +2350,6 @@ line isotomic(vertex V, point M);
point isotomic(side side, point M);
triangle isotomic(triangle t, point M);
transform hprojection(line l, bool safe=<default>);
-void clipdraw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, real xmargin=<default>, real ymargin=<default>, Label legend=<default>, marker marker=<default>);
line median(vertex V);
line median(side side);
real arclength(circle c);
@@ -2250,6 +2359,8 @@ real arclength(parabola p, real angle);
real arclength(parabola p, real angle1, real angle2);
real arclength(parabola p);
real arclength(arc a);
+pair attract(pair m, path g, real fuzz=<default>);
+point attract(point M, path g, real fuzz=<default>);
bool degenerate(conic c);
bool degenerate(circle c);
bool degenerate(ellipse el);
@@ -2259,10 +2370,12 @@ void perpendicularmark(picture pic=<default>, point z, explicit pair align, path
void perpendicularmark(picture pic=<default>, point z, vector align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
void perpendicularmark(picture pic=<default>, line l1, line l2, real size=<default>, pen p=<default>, int quarter=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
void markrightangle(picture pic=<default>, point A, point O, point B, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>);
-line sector(int n=<default>, int p=<default>, line l1, line l2, real angle=<default>, bool sharp=<default>);
point ppoint(arc a, real x);
+line sector(int n=<default>, int p=<default>, line l1, line l2, real angle=<default>, bool sharp=<default>);
line hline(coordsys R=<default>);
line hline;
+point circumcenter(point A, point B, point C);
+point circumcenter(triangle t);
real binomial(real n, real k);
point point(coordsys R, pair p, real m=<default>);
point point(explicit pair p, real m);
@@ -2298,36 +2411,36 @@ point bisectorpoint(side side);
transform scale(real k, point M);
transform scale(real k, point A, point B, point C, point D, bool safe=<default>);
transform scale(real k, line l1, line l2, bool safe=<default>);
-point angpoint(conic co, real angle);
-point angpoint(explicit circle c, real x);
-point angpoint(explicit ellipse el, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>);
-point angpoint(explicit parabola p, real x);
-point angpoint(explicit hyperbola h, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>);
-point angpoint(arc a, real angle);
-pen addpenline;
-pen addpenline(pen p);
-string conictype(bqe bqe);
bool operator ==(coordsys c1, coordsys c2);
bool operator ==(explicit point M, explicit point N);
bool operator ==(explicit vector u, explicit vector v);
bool operator ==(line l1, line l2);
-mass masscenter(... mass[] M);
+point arcsubtendedcenter(point A, point B, real angle);
triangle triangleAbc(real alpha, real b, real c, real angle=<default>, point A=<default>);
vector unit(point M);
vector unit(vector u);
transform reflect(line l);
transform reflect(line l1, line l2, bool safe=<default>);
+real EPS;
+point isogonal(side side, point M);
+line isogonal(vertex V, point M);
+triangle isogonal(triangle t, point M);
+bqe canonical(bqe bqe);
+void clipdraw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, real xmargin=<default>, real ymargin=<default>, Label legend=<default>, marker marker=<default>);
+real sharpdegrees(line l1, line l2);
+triangle incentral(triangle t);
+point origin;
+point origin(coordsys R=<default>);
+string massformat(string format=<default>, string s, mass M);
+line complementary(explicit line l);
+line[] complementary(explicit segment s);
+arc complementary(arc a);
+void write(explicit line l);
+void write(explicit segment s);
+void write(trilinear tri);
point midpoint(segment s);
point midpoint(side side);
int ellipsenodesnumberfactor;
-line tangent(circle c, abscissa x);
-line tangent(circle c, point M);
-line tangent(circle c, explicit vector v);
-line tangent(ellipse el, abscissa x);
-line tangent(parabola p, abscissa x);
-line tangent(hyperbola h, abscissa x);
-line tangent(explicit arc a, abscissa x);
-line tangent(explicit arc a, point M);
pair operator cast(point P);
pair[] operator cast(point[] P);
point operator cast(pair p);
@@ -2373,43 +2486,30 @@ point operator cast(vertex V);
point operator cast(trilinear tri);
circle operator cast(inversion i);
inversion operator cast(circle c);
-triangle incentral(triangle t);
point curpoint(line l, real x);
point curpoint(explicit circle c, real x);
point curpoint(explicit ellipse el, real x);
point curpoint(explicit parabola p, real x);
point curpoint(conic co, real x);
point curpoint(arc a, real x);
-string massformat(string format=<default>, string s, mass M);
-point origin;
-point origin(coordsys R=<default>);
-real degrees(explicit point M, coordsys R=<default>, bool warn=<default>);
-real degrees(vector v, coordsys R=<default>, bool warn=<default>);
-real degrees(line l, coordsys R=<default>);
-real degrees(line l1, line l2);
-real degrees(arc a);
-point foot(vertex V);
-point foot(side side);
-ellipse ellipse(point F1, point F2, real a);
-ellipse ellipse(point F1, point F2, point M);
-ellipse ellipse(point C, real a, real b, real angle=<default>);
-ellipse ellipse(bqe bqe);
-ellipse ellipse(point M1, point M2, point M3, point M4, point M5);
-point[] fermat(triangle t);
-point excenter(point A, point B, point C);
-point excenter(side side);
-triangle triangle(line l1, line l2, line l3);
-real[] intersect(path g, explicit pair p, real fuzz=<default>);
-real[] intersect(path g, explicit point P, real fuzz=<default>);
-void write(explicit line l);
-void write(explicit segment s);
-void write(trilinear tri);
-int parabolanodesnumber(parabola p, real angle1, real angle2);
-line complementary(explicit line l);
-line[] complementary(explicit segment s);
-arc complementary(arc a);
+point angpoint(conic co, real angle);
+point angpoint(explicit circle c, real x);
+point angpoint(explicit ellipse el, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>);
+point angpoint(explicit parabola p, real x);
+point angpoint(explicit hyperbola h, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>);
+point angpoint(arc a, real angle);
+pen addpenline;
+pen addpenline(pen p);
+point relpoint(line l, real x);
+point relpoint(explicit circle c, real x);
+point relpoint(explicit ellipse el, real x);
+point relpoint(explicit parabola p, real x);
+point relpoint(explicit hyperbola h, real x);
+point relpoint(explicit conic co, explicit real x);
+point relpoint(explicit conic co, explicit int x);
+point relpoint(arc a, real x);
+bool collinear(vector u, vector v);
pair coordinates(point M);
-string defaultmassformat;
int circlenodesnumberfactor;
coordsys operator init();
point operator init();
@@ -2428,16 +2528,19 @@ mass operator init();
triangle operator init();
trilinear operator init();
inversion operator init();
-point relpoint(line l, real x);
-point relpoint(explicit circle c, real x);
-point relpoint(explicit ellipse el, real x);
-point relpoint(explicit parabola p, real x);
-point relpoint(explicit hyperbola h, real x);
-point relpoint(explicit conic co, explicit real x);
-point relpoint(explicit conic co, explicit int x);
-point relpoint(arc a, real x);
-bool collinear(vector u, vector v);
-real sharpdegrees(line l1, line l2);
+point excenter(point A, point B, point C);
+point excenter(side side);
+real degrees(explicit point M, coordsys R=<default>, bool warn=<default>);
+real degrees(vector v, coordsys R=<default>, bool warn=<default>);
+real degrees(line l, coordsys R=<default>);
+real degrees(line l1, line l2);
+real degrees(arc a);
+point foot(vertex V);
+point foot(side side);
+bool operator !=(explicit point M, explicit point N);
+bool operator !=(line l1, line l2);
+arc arcsubtended(point A, point B, real angle);
+int parabolanodesnumber(parabola p, real angle1, real angle2);
void draw(picture pic=<default>, Label L=<default>, line l, bool dirA=<default>, bool dirB=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen[] p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen p, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
@@ -2449,59 +2552,23 @@ void draw(picture pic=<default>, Label L=<default>, explicit conic co, align ali
void draw(picture pic=<default>, Label L=<default>, arc a, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>);
void draw(picture pic=<default>, triangle t, pen p=<default>, marker marker=<default>);
void draw(picture pic=<default>, triangle[] t, pen p=<default>, marker marker=<default>);
+bool inside(ellipse el, point M);
+bool inside(parabola p, point M);
transform vprojection(line l, bool safe=<default>);
+string conictype(bqe bqe);
circle circumcircle(point A, point B, point C);
circle circumcircle(triangle t);
pen addpenarc;
pen addpenarc(pen p);
line reverse(line l);
arc reverse(arc a);
-pair[] intersectionpoints(pair A, pair B, real a, real b, real c, real d, real f, real g);
-pair[] intersectionpoints(pair A, pair B, real[] equation);
-point[] intersectionpoints(line l, path g);
-point[] intersectionpoints(bqe bqe1, bqe bqe2);
-point[] intersectionpoints(triangle t, line l, bool extended=<default>);
-point[] intersectionpoints(line l, triangle t, bool extended=<default>);
-point[] intersectionpoints(line l, circle c);
-point[] intersectionpoints(circle c, line l);
-point[] intersectionpoints(line l, ellipse el);
-point[] intersectionpoints(ellipse el, line l);
-point[] intersectionpoints(line l, parabola p);
-point[] intersectionpoints(parabola p, line l);
-point[] intersectionpoints(line l, hyperbola h);
-point[] intersectionpoints(hyperbola h, line l);
-point[] intersectionpoints(line l, conic co);
-point[] intersectionpoints(conic co, line l);
-point[] intersectionpoints(conic co1, conic co2);
-point[] intersectionpoints(triangle t, conic co, bool extended=<default>);
-point[] intersectionpoints(conic co, triangle t, bool extended=<default>);
-point[] intersectionpoints(ellipse a, ellipse b);
-point[] intersectionpoints(ellipse a, circle b);
-point[] intersectionpoints(circle a, ellipse b);
-point[] intersectionpoints(ellipse a, parabola b);
-point[] intersectionpoints(parabola a, ellipse b);
-point[] intersectionpoints(ellipse a, hyperbola b);
-point[] intersectionpoints(hyperbola a, ellipse b);
-point[] intersectionpoints(circle a, parabola b);
-point[] intersectionpoints(parabola a, circle b);
-point[] intersectionpoints(circle a, hyperbola b);
-point[] intersectionpoints(hyperbola a, circle b);
-point[] intersectionpoints(parabola a, parabola b);
-point[] intersectionpoints(parabola a, hyperbola b);
-point[] intersectionpoints(hyperbola a, parabola b);
-point[] intersectionpoints(hyperbola a, hyperbola b);
-point[] intersectionpoints(circle c1, circle c2);
-point[] intersectionpoints(conic co, arc a);
-point[] intersectionpoints(arc a, conic co);
-point[] intersectionpoints(arc a1, arc a2);
-point[] intersectionpoints(line l, arc a);
-point[] intersectionpoints(arc a, line l);
void drawline(picture pic=<default>, triangle t, pen p=<default>);
-bool inside(ellipse el, point M);
-bool inside(parabola p, point M);
-void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
-void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
-void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
+circle incircle(point A, point B, point C);
+circle incircle(triangle t);
+real[] intersect(path g, explicit pair p, real fuzz=<default>);
+real[] intersect(path g, explicit point P, real fuzz=<default>);
+side opposite(vertex V);
+vertex opposite(side side);
line[] operator ^^(line l1, line l2);
line[] operator ^^(line l1, line[] l2);
line[] operator ^^(line[] l2, line l1);
@@ -2538,6 +2605,9 @@ mass operator +(explicit mass M, real x);
mass operator +(explicit mass M, int x);
point intersectionpoint(line l1, line l2);
bool concurrent(... line[] l);
+void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>);
circle circle(explicit point C, real r);
circle circle(point A, point B);
circle circle(segment s);
@@ -2565,53 +2635,26 @@ arc arc(ellipse el, point M, point N, bool direction=<default>);
arc arc(explicit arc a, abscissa x1, abscissa x2);
arc arc(explicit arc a, point M, point N);
path arc(explicit pair B, explicit pair A, explicit pair C, real r);
-point isogonalconjugate(triangle t, point M);
-transform xscale(real k, point M);
-bool between(point M, point O, point N);
-point operator -(explicit point P);
-point operator -(explicit point P1, explicit point P2);
-point operator -(explicit point P1, explicit pair p2);
-point operator -(explicit pair p1, explicit point P2);
-point operator -(point M, explicit vector v);
-vector operator -(explicit vector v);
-point operator -(explicit pair m, explicit vector v);
-vector operator -(explicit vector v1, explicit vector v2);
-line operator -(line l, vector u);
-conic operator -(conic c, explicit point M);
-conic operator -(conic c, explicit pair m);
-conic operator -(conic c, vector v);
-circle operator -(explicit circle c, explicit point M);
-circle operator -(explicit circle c, pair m);
-circle operator -(explicit circle c, vector m);
-abscissa operator -(explicit abscissa a);
-abscissa operator -(real x, explicit abscissa a);
-abscissa operator -(explicit abscissa a, real x);
-abscissa operator -(int x, explicit abscissa a);
-arc operator -(explicit arc a, point M);
-arc operator -(explicit arc a, vector v);
-mass operator -(mass M1, mass M2);
-mass operator -(explicit mass M, real x);
-mass operator -(explicit mass M, int x);
-real[] realquarticroots(real a, real b, real c, real d, real e);
coordsys canonicalcartesiansystem(ellipse el);
coordsys canonicalcartesiansystem(parabola p);
coordsys canonicalcartesiansystem(hyperbola h);
coordsys canonicalcartesiansystem(explicit conic co);
-bool operator !=(explicit point M, explicit point N);
-bool operator !=(line l1, line l2);
-arc arcsubtended(point A, point B, real angle);
-point centroid(point A, point B, point C);
-point centroid(triangle t);
hyperbola hyperbola(point P1, point P2, real ae, bool byfoci=<default>);
hyperbola hyperbola(point C, real a, real b, real angle=<default>);
hyperbola hyperbola(bqe bqe);
hyperbola hyperbola(point M1, point M2, point M3, point M4, point M5);
+line vline(coordsys R=<default>);
+line vline;
transform rotate(explicit pair dir);
transform rotate(explicit vector dir);
transform rotate(explicit point dir);
void addMargins(picture pic=<default>, real lmargin=<default>, real bmargin=<default>, real rmargin=<default>, real tmargin=<default>, bool rigid=<default>, bool allObject=<default>);
-point circumcenter(point A, point B, point C);
-point circumcenter(triangle t);
+ellipse ellipse(point F1, point F2, real a);
+ellipse ellipse(point F1, point F2, point M);
+ellipse ellipse(point C, real a, real b, real angle=<default>);
+ellipse ellipse(bqe bqe);
+ellipse ellipse(point M1, point M2, point M3, point M4, point M5);
+triangle triangle(line l1, line l2, line l3);
path fromCenter(conic co, real angle1, real angle2, int n, bool direction);
abscissa nodabscissa(real x);
abscissa nodabscissa(int x);
@@ -2621,12 +2664,25 @@ abscissa nodabscissa(ellipse el, point M);
abscissa nodabscissa(parabola p, point M);
abscissa nodabscissa(conic co, point M);
abscissa nodabscissa(arc a, point M);
-side opposite(vertex V);
-vertex opposite(side side);
+transform xscale(real k, point M);
+bool between(point M, point O, point N);
+triangle cevian(triangle t, point P);
+point cevian(side side, point P);
+line cevian(vertex V, point P);
line Ox(coordsys R=<default>);
line Ox;
real abs(coordsys R, pair m);
real abs(explicit point M);
+line tangent(circle c, abscissa x);
+line tangent(circle c, point M);
+line tangent(circle c, explicit vector v);
+line tangent(ellipse el, abscissa x);
+line tangent(parabola p, abscissa x);
+line tangent(hyperbola h, abscissa x);
+line tangent(explicit arc a, abscissa x);
+line tangent(explicit arc a, point M);
+line altitude(vertex V);
+line altitude(side side);
trilinear trilinear(triangle t, real a, real b, real c);
trilinear trilinear(triangle t, point M);
trilinear trilinear(triangle t, real f(real, real, real), real a=<default>, real b=<default>, real c=<default>);
@@ -2636,11 +2692,33 @@ real angle(explicit vector v, coordsys R=<default>, bool warn=<default>);
real angle(line l, coordsys R=<default>);
real angle(line l1, line l2);
real angle(arc a);
-line vline(coordsys R=<default>);
-line vline;
+mass masscenter(... mass[] M);
triangle tangential(triangle t);
-real EPS;
-bqe canonical(bqe bqe);
+point operator -(explicit point P);
+point operator -(explicit point P1, explicit point P2);
+point operator -(explicit point P1, explicit pair p2);
+point operator -(explicit pair p1, explicit point P2);
+point operator -(point M, explicit vector v);
+vector operator -(explicit vector v);
+point operator -(explicit pair m, explicit vector v);
+vector operator -(explicit vector v1, explicit vector v2);
+line operator -(line l, vector u);
+conic operator -(conic c, explicit point M);
+conic operator -(conic c, explicit pair m);
+conic operator -(conic c, vector v);
+circle operator -(explicit circle c, explicit point M);
+circle operator -(explicit circle c, pair m);
+circle operator -(explicit circle c, vector m);
+abscissa operator -(explicit abscissa a);
+abscissa operator -(real x, explicit abscissa a);
+abscissa operator -(explicit abscissa a, real x);
+abscissa operator -(int x, explicit abscissa a);
+arc operator -(explicit arc a, point M);
+arc operator -(explicit arc a, vector v);
+mass operator -(mass M1, mass M2);
+mass operator -(explicit mass M, real x);
+mass operator -(explicit mass M, int x);
+real[] realquarticroots(real a, real b, real c, real d, real e);
line[] tangents(circle c, point M);
line[] tangents(ellipse el, point M);
line[] tangents(parabola p, point M);
@@ -2649,9 +2727,10 @@ triangle triangleabc(real a, real b, real c, real angle=<default>, point A=<defa
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit pair align=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit vector align, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
bool isparabola(bqe bqe);
+point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M);
+transform scaleO(real x);
real approximate(real t);
real[] approximate(real[] T);
-coordsys defaultcoordsys;
bool simeq(point A, point B, real fuzz=<default>);
bool simeq(point a, real b, real fuzz=<default>);
real epsgeo;
@@ -2685,6 +2764,7 @@ abscissa operator /(int x, explicit abscissa a);
arc operator /(explicit arc a, real x);
mass operator /(explicit mass M, real x);
mass operator /(explicit mass M, int x);
+coordsys defaultcoordsys;
coordsys currentcoordsys;
point changecoordsys(coordsys R, point M);
vector changecoordsys(coordsys R, vector v);
@@ -2693,7 +2773,6 @@ bqe changecoordsys(coordsys R, bqe bqe);
conic changecoordsys(coordsys R, conic co);
bool samecoordsys(bool warn=<default> ... point[] M);
bool samecoordsys(bool warn=<default> ... bqe[] bqes);
-point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M);
pair locate(point P);
point locate(pair p);
pair locate(explicit vector v);
@@ -2703,18 +2782,13 @@ conic conic(point F, line l, real e);
conic conic(point M1, point M2, point M3, point M4, point M5);
conic conic(bqe bqe);
transform rotateO(real a);
-transform scaleO(real x);
transform xscaleO(real x);
-line extend(line l);
+bool byvertices;
transform yscaleO(real x);
real linemargin;
real linemargin();
+string defaultmassformat;
bool defined(point P);
-triangle antipedal(triangle t, point M);
-bool operator @(point m, line l);
-bool operator @(point M, conic co);
-bool operator @(point M, explicit circle c);
-bool operator @(point M, arc a);
bool finite(explicit point p);
point orthocentercenter(point A, point B, point C);
point orthocentercenter(triangle t);
@@ -2730,15 +2804,14 @@ void Drawline(picture pic=<default>, Label L=<default>, pair P, bool dirP=<defau
void distance(picture pic=<default>, Label L=<default>, point A, point B, bool rotated=<default>, real offset=<default>, pen p=<default>, pen joinpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>);
real distance(point M, line l);
real distance(line l, point M);
-real[] bangles(picture pic=<default>, parabola p);
-real[][] bangles(picture pic=<default>, hyperbola h);
-pair attract(pair m, path g, real fuzz=<default>);
-point attract(point M, path g, real fuzz=<default>);
-point incenter(point A, point B, point C);
-point incenter(triangle t);
+bool operator @(point m, line l);
+bool operator @(point M, conic co);
+bool operator @(point M, explicit circle c);
+bool operator @(point M, arc a);
coordsys coordsys(line l);
coordsys coordsys(conic co);
coordsys coordsys(ellipse el);
+line extend(line l);
line Oy(coordsys R=<default>);
line Oy;
void dot(picture pic=<default>, Label L, explicit point Z, align align=<default>, string format=<default>, pen p=<default>);
@@ -2777,7 +2850,6 @@ int hyperbolanodesnumberfactor;
int hyperbolanodesnumber(hyperbola h, real angle1, real angle2);
path arcfromfocus(conic co, real angle1, real angle2, int n=<default>, bool direction=<default>);
bool byfoci;
-bool byvertices;
parabola parabola(point F, line l);
parabola parabola(point F, point vertex);
parabola parabola(point F, real a, real angle);
@@ -2793,6 +2865,8 @@ bqe equation(ellipse el);
bqe equation(parabola p);
bqe equation(hyperbola h);
bqe equation(explicit conic co);
+real[] bangles(picture pic=<default>, parabola p);
+real[][] bangles(picture pic=<default>, hyperbola h);
real focusToCenter(ellipse el, real a);
int relativesystem;
int curvilinearsystem;
@@ -2808,6 +2882,8 @@ path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction
void markarc(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, arc a, pen sectorpen=<default>, pen markpen=<default>, marginT margin(path, pen)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marker marker=<default>);
int arcnodesnumber(explicit arc a);
path arctopath(arc a, int n);
+point incenter(point A, point B, point C);
+point incenter(triangle t);
real inradius(point A, point B, point C);
real inradius(triangle t);
real exradius(point A, point B, point C);
@@ -2819,9 +2895,6 @@ int[] tricoef(side side);
point symmedian(triangle t);
point symmedian(side side);
line symmedian(vertex V);
-triangle cevian(triangle t, point P);
-point cevian(side side, point P);
-line cevian(vertex V, point P);
int angularsystem;
point gergonne(triangle t);
path Arc(pair c, real r, real angle1, real angle2, bool direction, int n=<default>);
@@ -2856,7 +2929,6 @@ void labelx(picture pic=<default>, Label L=<default>, real x, align align=<defau
void labelx(picture pic=<default>, Label L, string format=<default>, explicit pen p=<default>);
void tick(picture pic=<default>, pair z, pair dir, real size=<default>, pen p=<default>);
void tick(picture pic=<default>, Label L, real value, explicit pair z, pair dir, string format=<default>, real size=<default>, pen p=<default>);
-void xaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
void limits(picture pic=<default>, pair min, pair max, bool crop=<default>);
void crop(picture pic=<default>);
void ylimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
@@ -2874,7 +2946,7 @@ void RightTicks(frame, transform, Label, pair, path, path, pen, bool(picture, pa
void RightTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)();
void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
-tickvalues OmitTick(tickvalues)(... real[] x);
+tickvalues NoZero(tickvalues);
tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b);
void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks=<default>, real[] ticks=<default>, int N=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
@@ -2884,7 +2956,6 @@ void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, p
real zerotickfuzz;
void drawtick(frame f, transform T, path g, path g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend);
pair ticklabelshift(pair align, pen p=<default>);
-void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>);
string DefaultFormat(real);
string Format(real)(string s=<default>);
real upscale(real b, real a);
@@ -2899,11 +2970,11 @@ scaleT Linear(bool automin=<default>, bool automax=<default>, real s=<default>,
bool axiscoverage(int N, transform T, path g, ticklocate locate, real Step, pair side, int sign, real Size, Label F, string ticklabel(real), real norm, real limit);
void errorbar(picture pic, pair z, pair dp, pair dm, pen p=<default>, real size=<default>);
real linear(real)(real S(real x)=<default>, real Min, real Max);
-tickvalues None(tickvalues v);
-tickvalues OmitTickInterval(tickvalues)(real a, real b);
-tickvalues NoZero(tickvalues);
+void xaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
+void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
autoscaleT defaultS;
real ScaleY(picture pic=<default>, real y);
+void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>);
void yequals(picture pic=<default>, Label L=<default>, real y, bool extend=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
guide Spline(... guide[]);
bounds autoscale(real Min, real Max, scaleT scale=<default>);
@@ -2913,12 +2984,8 @@ void Right(picture, axisT);
void errorbars(picture pic=<default>, pair[] z, pair[] dp, pair[] dm=<default>, bool[] cond=<default>, pen p=<default>, real size=<default>);
void errorbars(picture pic=<default>, real[] x, real[] y, real[] dpx, real[] dpy, real[] dmx=<default>, real[] dmy=<default>, bool[] cond=<default>, pen p=<default>, real size=<default>);
void errorbars(picture pic=<default>, real[] x, real[] y, real[] dpy, bool[] cond=<default>, pen p=<default>, real size=<default>);
-void BottomTop(picture, axisT)(bool extend=<default>);
-void BottomTop(picture, axisT);
-scaleT Logarithmic;
void labelaxis(frame f, transform T, Label L, path g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
path Circle(pair c, real r, int n=<default>);
-void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
string LogFormat(real)(int base);
string LogFormat(real);
void checkconditionlength(int x, int y);
@@ -2926,14 +2993,18 @@ pair zero(real);
void label(picture pic, Label L, pair z, real x, align align, string format, pen p);
pair tickMin(picture pic);
tickvalues generateticks(int sign, Label F=<default>, string ticklabel(real)=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, real Size=<default>, real size=<default>, transform T, pair side, path g, real limit, pen p, ticklocate locate, int[] divisor, bool opposite);
-int Both;
ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, pair dir(real)=<default>);
int Max;
+scaleT Logarithmic;
void Top(picture, axisT)(bool extend=<default>);
void Top(picture, axisT);
string NoZeroFormat(real);
string trailingzero;
path[] segment(pair[] z, bool[] cond, guide join(... guide[])=<default>);
+picture vectorfield(path vector(real), path g, int n, bool truesize=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
+picture vectorfield(path vector(pair), pair a, pair b, int nx=<default>, int ny=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
+tickvalues OmitTickInterval(tickvalues)(real a, real b);
+pair tickMax(picture pic);
scientific operator init();
bounds operator init();
ticklocate operator init();
@@ -2941,24 +3012,24 @@ locateT operator init();
tickvalues operator init();
axisT operator init();
real ScaleX(picture pic=<default>, real x);
-pair tickMax(picture pic);
-real ytrans(transform t, real y);
-real maxlength(pair a, pair b, int nx, int ny);
-void XZero(picture, axisT)(bool extend=<default>);
-void XZero(picture, axisT);
real xtrans(transform t, real x);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>);
pair Scale(picture pic=<default>, pair z);
+void XZero(picture, axisT)(bool extend=<default>);
+void XZero(picture, axisT);
+real maxlength(pair a, pair b, int nx, int ny);
+real ytrans(transform t, real y);
+int Both;
+tickvalues None(tickvalues v);
scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<default>);
void xequals(picture pic=<default>, Label L=<default>, real x, bool extend=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
+tickvalues OmitTick(tickvalues)(... real[] x);
scaleT Log;
scaleT Log(bool automin=<default>, bool automax=<default>);
string signedtrailingzero;
string baselinetemplate;
-picture vectorfield(path vector(real), path g, int n, bool truesize=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
-picture vectorfield(path vector(pair), pair a, pair b, int nx=<default>, int ny=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
void xlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
void scale(picture pic=<default>, scaleT x, scaleT y=<default>, scaleT z=<default>);
void scale(picture pic=<default>, bool xautoscale=<default>, bool yautoscale=<default>, bool zautoscale=<default>);
@@ -2976,13 +3047,15 @@ void ytick(picture pic=<default>, Label L, explicit pair z, pair dir=<default>,
void ytick(picture pic=<default>, Label L, real y, pair dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
guide Straight(... guide[]);
scaleT Broken(real a, real b, bool automin=<default>, bool automax=<default>);
+void BottomTop(picture, axisT)(bool extend=<default>);
+void BottomTop(picture, axisT);
axisT axis;
void axis(picture pic=<default>, Label L=<default>, path g, path g2=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>), ticklocate locate, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>);
string DefaultLogFormat(real)(int base);
string DefaultLogFormat(real);
+void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
int Value;
string OmitFormat(real)(string s=<default> ... real[] x);
-void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>);
void labelz(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
void labelx3(picture pic=<default>, Label L=<default>, real x, align align=<default>, string format=<default>, pen p=<default>);
void ztick3(picture pic=<default>, real z, triple dir=<default>, real size=<default>, pen p=<default>);
@@ -2993,9 +3066,6 @@ void ytick3(picture pic=<default>, real y, triple dir=<default>, real size=<defa
void ytick3(picture pic=<default>, Label L, real y, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>);
void autoscale3(picture pic=<default>, void axis(picture, axisT));
-void zaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
-void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
-void xaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
triple defaultdir(triple X, triple Y, triple Z, bool opposite=<default>, projection P);
real ztrans(real[][] t, real z);
void XYZero(picture, axisT)(triple align=<default>, bool extend=<default>);
@@ -3013,45 +3083,49 @@ void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3,
void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks=<default>, real[] ticks=<default>, int N=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void xtick3(picture pic=<default>, real x, triple dir=<default>, real size=<default>, pen p=<default>);
-void xtick3(picture pic=<default>, Label L, real x, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
surface bispline(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>);
void axes3(picture pic=<default>, Label xlabel=<default>, Label ylabel=<default>, Label zlabel=<default>, bool extend=<default>, triple min=<default>, triple max=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>);
+void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
bool vperiodic(triple[][] a);
+void xtick3(picture pic=<default>, real x, triple dir=<default>, real size=<default>, pen p=<default>);
+void xtick3(picture pic=<default>, Label L, real x, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
bool uperiodic(triple[][] a);
-void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>);
+void zaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
triple tickMin3(picture pic);
void axis(picture pic=<default>, Label L=<default>, path3 g, path3 g2=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>), ticklocate locate, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>);
-void xtick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
-void xtick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
-picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, string name=<default>, render render=<default>);
-void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
+triple tickMax3(picture pic);
+void ytick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
+void ytick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+real xtrans(real[][] t, real x);
void(flatguide3)[][] lift(real f(real x, real y), guide[][] g, void join(flatguide3)(... void(flatguide3)[])=<default>);
void(flatguide3)[][] lift(real f(pair z), guide[][] g, void join(flatguide3)(... void(flatguide3)[])=<default>);
-real xtrans(real[][] t, real x);
-void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>);
real maxlength(triple f(pair z), pair a, pair b, int nu, int nv);
-locateT operator init();
triple Dir(real)(triple dir);
-void ytick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
-void ytick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
+locateT operator init();
void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen[] p, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>);
+void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
+void xtick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
+void xtick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, string name=<default>, render render=<default>);
path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
-real ytrans(real[][] t, real y);
ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, triple dir(real));
void label(picture pic, Label L, triple v, real x, align align, string format, pen p);
void XZZero(picture, axisT)(triple align=<default>, bool extend=<default>);
void XZZero(picture, axisT);
+void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>);
void Straight(flatguide3)(... void(flatguide3)[]);
-triple tickMax3(picture pic);
+real ytrans(real[][] t, real y);
path3 Circle(triple c, real r, triple normal=<default>, int n=<default>);
void labelaxis(picture pic, real[][] T, Label L, path3 g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
+void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>);
void XYEquals(picture, axisT)(real x, real y, triple align=<default>, bool extend=<default>);
real ScaleZ(picture pic=<default>, real z);
+void xaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
void Spline(flatguide3)(... void(flatguide3)[]);
void labelz3(picture pic=<default>, Label L=<default>, real z, align align=<default>, string format=<default>, pen p=<default>);
void graph(flatguide3)(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]));
@@ -3078,10 +3152,13 @@ void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, rea
void tick(picture pic=<default>, triple v, triple dir, real size=<default>, pen p=<default>);
void tick(picture pic=<default>, Label L, real value, triple v, triple dir, string format=<default>, real size=<default>, pen p=<default>);
void polargraph(flatguide3)(real r(real, real), real theta(real), real phi(real), int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-triple Scale(picture pic=<default>, triple v);
triple ticklabelshift(triple align, pen p=<default>);
triple polar(real r, real theta, real phi);
+triple Scale(picture pic=<default>, triple v);
void limits(picture pic=<default>, triple min, triple max);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
surface surface(triple[][] f, bool[][] cond=<default>);
surface surface(real[][] f, real[] x, real[] y, real[] xsplinetype(real[], real[])=<default>, real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
surface surface(real[][] f, pair a, pair b, real[] xsplinetype(real[], real[]), real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
@@ -3090,21 +3167,17 @@ surface surface(triple f(pair z), pair a, pair b, int nu=<default>, int nv=<defa
surface surface(triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, real[](real[], real[])[] usplinetype, real[](real[], real[])[] vsplinetype=<default>, bool cond(pair z)=<default>);
surface surface(real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, bool cond(pair z)=<default>);
surface surface(real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, real[] xsplinetype(real[], real[]), real[] ysplinetype(real[], real[])=<default>, bool cond(pair z)=<default>);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
-void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
real axiscoverage;
real Ticksize;
real ticksize;
int nmesh;
int nCircle;
-real epsilon;
real ylabelwidth;
+real epsilon;
real axislabelfactor;
bool NoCrop;
-bool Crop;
int ngraph;
+bool Crop;
guide hermite(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
real[] monotonic(real[] x, real[] y);
real[] clamped(real[], real[])(real slopea, real slopeb);
@@ -3115,68 +3188,68 @@ real[] Spline(real[] x, real[] y);
real[](real[], real[])[] Spline;
real[] notaknot(real[] x, real[] y);
real[] periodic(real[] x, real[] y);
-void checklengths(int x, int y, string text=<default>);
real[] natural(real[] x, real[] y);
+void checklengths(int x, int y, string text=<default>);
void checkincreasing(real[] x);
-position middle;
grid3(picture pic)[] YX_YZgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] YX_YZgrid;
grid3(picture pic)[] YZYgrid(position pos=<default>);
grid3(picture pic)[] YZYgrid;
+grid3(picture pic)[] XZXgrid(position pos=<default>);
+grid3(picture pic)[] XZXgrid;
grid3(picture pic)[] ZXZgrid(position pos=<default>);
grid3(picture pic)[] ZXZgrid;
grid3 ZYgrid(picture pic)(position pos=<default>);
grid3 ZYgrid(picture pic);
grid3 ZXgrid(picture pic)(position pos=<default>);
grid3 ZXgrid(picture pic);
+grid3 XZgrid(picture pic)(position pos=<default>);
+grid3 XZgrid(picture pic);
grid3 YXgrid(picture pic)(position pos=<default>);
grid3 YXgrid(picture pic);
grid3 XYgrid(picture pic)(position pos=<default>);
grid3 XYgrid(picture pic);
ticksgridT InTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
-grid3(picture pic)[] XZXgrid(position pos=<default>);
-grid3(picture pic)[] XZXgrid;
grid3(picture pic)[][] XYZgrid(position pos=<default>);
grid3(picture pic)[][] XYZgrid;
grid3(picture pic)[] YXYgrid(position pos=<default>);
grid3(picture pic)[] YXYgrid;
grid3(picture pic)[] ZX_ZYgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] ZX_ZYgrid;
+position middle;
+void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen pGrid=<default>, pen pgrid=<default>, bool above=<default>);
+void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen[] pGrid, pen[] pgrid, bool above=<default>);
+void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
ticksgridT OutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
+void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
+grid3 YZgrid(picture pic)(position pos=<default>);
+grid3 YZgrid(picture pic);
position top;
-triple X(picture pic);
-triple ZX(picture pic);
grid3 operator init();
ticksgridT operator init();
+triple ZX(picture pic);
+triple X(picture pic);
triple Y(picture pic);
grid3(picture pic)[] operator cast(grid3 gridroutine(picture pic));
grid3(picture pic)[][] operator cast(grid3(picture pic)[] gridroutine);
grid3(picture pic)[][] operator cast(grid3 gridroutine(picture pic));
position bottom;
-void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen pGrid=<default>, pen pgrid=<default>, bool above=<default>);
-void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen[] pGrid, pen[] pgrid, bool above=<default>);
grid3(picture pic)[] XY_XZgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] XY_XZgrid;
-grid3 YZgrid(picture pic)(position pos=<default>);
-grid3 YZgrid(picture pic);
grid3(picture pic)[] ZYZgrid(position pos=<default>);
grid3(picture pic)[] ZYZgrid;
grid3(picture pic)[] XYXgrid(position pos=<default>);
grid3(picture pic)[] XYXgrid;
ticksgridT InOutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
-grid3 XZgrid(picture pic)(position pos=<default>);
-grid3 XZgrid(picture pic);
-void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
-triple XY(picture pic);
-void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
-void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
triple YZ(picture pic);
+triple XY(picture pic);
triple Z(picture pic);
+void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>);
real fspline(real)(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
-real pwhermite(real)(real[] x, real[] y, real[] dy);
real fhorner(real)(horner sh);
-horner operator init();
horner hdiffdiv(real[] x, real[] y, real[] dy);
+horner operator init();
+real pwhermite(real)(real[] x, real[] y, real[] dy);
horner diffdiv(real[] x, real[] y);
void labelpath(frame f, Label L, path g, string justify=<default>, pen p=<default>);
void labelpath(picture pic=<default>, Label L, path g, string justify=<default>, pen p=<default>);
@@ -3185,10 +3258,9 @@ string Centered;
string LeftJustified;
surface labelpath(string s, path3 p, real angle=<default>, triple optional=<default>);
triple nextnormal(triple p, triple q);
-triple[] firstframe(path3 p, triple optional=<default>);
triple[] nextframe(path3 p, real reltimestart, triple[] start, real reltimeend, int subdiv=<default>);
+triple[] firstframe(path3 p, triple optional=<default>);
real eps;
-FitControl defaultControl;
void lm_lmpar(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, real delta, lm_real_type par, real[] x, real[] sdiag, real[] wa1, real[] wa2);
void lm_qrfac(int m, int n, real[] a, bool pivot, int[] ipvt, real[] rdiag, real[] acnorm, real[] wa);
void lm_print_quiet(int n_par, real[] par, int m_dat, real[] fvec, lm_data_type data, int iflag, int iter, int nfev);
@@ -3203,8 +3275,11 @@ string[] lm_shortmsg;
real LM_USERTOL;
real LM_DWARF;
real LM_MACHEP;
+FitControl defaultControl;
+real LM_SQRT_GIANT;
string[] lm_infmsg;
void lm_evaluate_default(real[] par, int m_dat, real[] fvec, lm_data_type data, lm_int_type info);
+void lm_qrsolv(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, real[] x, real[] sdiag, real[] wa);
lm_data_type operator init();
lm_int_type operator init();
lm_real_type operator init();
@@ -3212,11 +3287,9 @@ lm_control_type operator init();
FitControl operator init();
FitResult operator init();
void lm_minimize(int m_dat, int n_par, real[] par, void evaluate(real[] par, int m_dat, real[] fvec, lm_data_type data, lm_int_type info), void printout(int n_par, real[] par, int m_dat, real[] fvec, lm_data_type data, int iflag, int iter, int nfev), lm_data_type data, lm_control_type control);
-void lm_qrsolv(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, real[] x, real[] sdiag, real[] wa);
real LM_SQRT_DWARF;
FitResult fit(real[] xdata, real[] ydata, real[] errors, real function(real[], real), real[] parameters, FitControl control=<default>);
FitResult fit(real[] xdata, real[] ydata, real function(real[], real), real[] parameters, FitControl control=<default>);
-real LM_SQRT_GIANT;
marker CrossIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>);
marker StickIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, pair A, pair O, pair B, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
@@ -3279,20 +3352,20 @@ real sec(real x);
real csc(real x);
int quadrant(real degrees);
pair exp(explicit pair z);
-pair unityroot(int n, int k=<default>);
-string nopoint;
real cot(real x);
pair log(explicit pair z);
+triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);
real[] zero(int n);
real[][] zero(int n, int m);
-triple intersectionpoint(triple n0, triple P0, triple n1, triple P1);
real findroot(real f(real), real a, real b, real tolerance=<default>, real fa=<default>, real fb=<default>);
+string nopoint;
void drawline(picture pic=<default>, pair P, pair Q, pen p=<default>);
int[][] segment(bool[] b);
-rootfinder_settings operator init();
real acot(real x);
real intersect(pair p, pair q, pair z);
real intersect(triple P, triple Q, triple n, triple Z);
+rootfinder_settings operator init();
+pair unityroot(int n, int k=<default>);
bool polygon(path p);
bool square(real[][] m);
bool increasing(real[] a, bool strict=<default>);
@@ -3301,11 +3374,9 @@ path cuttings;
path cutafter(path p, path q);
path cutbefore(path p, path q);
obj operator *(real[][] T, obj o);
-void draw(picture pic=<default>, obj o, light light=<default>);
obj operator init();
+void draw(picture pic=<default>, obj o, light light=<default>);
real[][] finiteDifferenceJacobian(real[] f(real[]), real[] t, real[] h=<default>);
-solution integrate(real y, real c=<default>, real f(real t, real y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
-Solution integrate(real[] y, real[] f(real t, real[] y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
real adjust(real h, real error, real tolmin, real tolmax, RKTableau tableau);
real error(real error, real initial, real lowOrder, real norm, real diff);
RKTableau RK5F;
@@ -3322,8 +3393,11 @@ real phi2(real x);
RKTableau RK5DP;
void report(real old, real h, real t);
RKTableau E_PC;
+solution integrate(real y, real c=<default>, real f(real t, real y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
+Solution integrate(real[] y, real[] f(real t, real[] y), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>);
RKTableau E_RK2;
RKTableau RK3;
+RKTableau PC;
real phi3(real x);
coefficients operator init();
RKTableau operator init();
@@ -3333,9 +3407,8 @@ void write(solution S);
void write(Solution S);
void expfactors(real x, coefficients a);
RKTableau E_RK3BS;
-RKTableau Euler;
real[] solveBVP(real[] f(real, real[]), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>, real[] initial(real[]), real[] discrepancy(real[]), real[] guess, int iterations=<default>);
-RKTableau PC;
+RKTableau Euler;
pen[] cmyk(pen[] Palette);
pen[] BWRainbow2(int NColors=<default>);
pen[] Wheel(int NColors=<default>);
@@ -3354,17 +3427,17 @@ bounds Automatic(picture pic, real min, real max);
transform swap;
void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>);
pen[] Gradient(int NColors=<default> ... pen[] p);
+pen[] Rainbow(int NColors=<default>);
pen[] quantize(pen[] Palette, int n);
pen[] Grayscale(int NColors=<default>);
pen[] BWRainbow(int NColors, bool two);
pen[] BWRainbow(int NColors=<default>);
+bounds Range(picture pic, real min, real max)(bool automin=<default>, real min=<default>, bool automax=<default>, real max=<default>);
pen[] palette(real[] f, pen[] palette);
pen[][] palette(real[][] f, pen[] palette);
void palette(picture pic=<default>, Label L=<default>, bounds bounds, pair initial, pair final, void axis(picture, axisT)=<default>, pen[] palette, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>)=<default>, bool copy=<default>, bool antialias=<default>);
-bounds Range(picture pic, real min, real max)(bool automin=<default>, real min=<default>, bool automax=<default>, real max=<default>);
void PaletteTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, pen pTick=<default>, pen ptick=<default>);
void PaletteTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>);
-pen[] Rainbow(int NColors=<default>);
picture crosshatch(real H=<default>, pen p=<default>);
picture hatch(real H=<default>, pair dir=<default>, pen p=<default>);
real hatchepsilon;
@@ -3391,28 +3464,28 @@ int lcm(int m, int n);
bool operator >=(rational r, rational s);
bool[] operator >=(rational[] r, rational s);
rational operator +(rational r, rational s);
-bool operator <=(rational r, rational s);
-bool[] operator <=(rational[] r, rational s);
-rational operator init();
-rational min(rational a, rational b);
+int gcd(int m, int n);
rational operator cast(int p);
rational[] operator cast(int[] a);
rational[][] operator cast(int[][] a);
+rational operator init();
+rational min(rational a, rational b);
+bool operator !=(rational r, rational s);
void write(file fout=<default>, string s=<default>, rational r, void suffix(file)=<default>);
void write(file fout=<default>, string s=<default>, rational[] a, void suffix(file)=<default>);
void write(file fout=<default>, string s=<default>, rational[][] a, void suffix(file)=<default>);
-int gcd(int m, int n);
-bool operator !=(rational r, rational s);
bool operator ==(rational r, rational s);
bool[] operator ==(rational[] r, rational s);
bool operator ==(rational[] r, rational[] s);
bool operator ==(rational[][] r, rational[][] s);
-string string(rational r);
+bool operator <=(rational r, rational s);
+bool[] operator <=(rational[] r, rational s);
rational operator -(rational r);
rational operator -(rational r, rational s);
rational[] operator -(rational[] r);
rational max(rational a, rational b);
rational max(rational[] a);
+string string(rational r);
real operator ecast(rational r);
rational operator *(rational r, rational s);
void simplexWrite(rational[][] E, int[] Bindicies, int, int);
@@ -3423,8 +3496,10 @@ path roundedpath(path A, real R, real S=<default>);
simplex operator init();
void bibliography(string name);
void subitem(string s, pen p=<default>);
+void item(string s, pen p=<default>, bool step=<default>);
void asyfilecode(bool center=<default>, string s, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>, bool newslide=<default>);
void asyfigure(string s, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, filltype filltype=<default>, bool newslide=<default>);
+void code(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
void asyinclude(string s, real xsize=<default>, real ysize=<default>);
string[] codefile;
void figure(string[] s, string options=<default>, real margin=<default>, string[] captions=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
@@ -3439,13 +3514,12 @@ void remark(bool center=<default>, string s, pair align=<default>, pen p=<defaul
void outline(string s=<default>, pair position=<default>, pair align=<default>, pen p=<default>);
void erasestep(int erasenode);
bool checkposition();
-void code(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
-void nextpage(pen p=<default>);
void reversevideo();
void color(string name, string color);
bool empty();
void setpens(pen red=<default>, pen blue=<default>, pen steppen=<default>);
int preamblenodes;
+int page;
int[] firstnode;
pair titlepageposition;
pen foregroundcolor;
@@ -3460,8 +3534,8 @@ pair dateskip;
real itemskip;
pen datepen;
pen institutionpen;
-pen titlepagepen;
pen authorpen;
+pen titlepagepen;
pen codepen;
pair urlskip;
transform tinv;
@@ -3469,48 +3543,47 @@ picture background;
void background();
real pageheight;
real pagewidth;
-bool allowstepping;
void indexedfigure(string prefix, int first, int last, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>);
pen titlepen;
-void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
string bulletcolor(string color);
real minipagemargin;
void incrementposition(pair z);
+void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
void newslide(bool stepping=<default>);
void center(string s, pen p=<default>);
real titleskip;
-pair currentposition;
-int page;
void step();
void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>);
pair startposition;
void titlepage(string title, string author, string institution=<default>, string date=<default>, string url=<default>, bool newslide=<default>);
-void item(string s, pen p=<default>, bool step=<default>);
+pair currentposition;
void asycode(bool center=<default>, string s, string options=<default>, string caption=<default>, string preamble=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>, bool newslide=<default>);
pen itempen;
string asywrite(string s, string preamble=<default>);
bool reverse;
void numberpage(pen p=<default>);
+string cropcode(string s);
void usersetting();
-bool firststep;
-bool landscape;
void currentexitfunction();
+bool landscape;
+bool itemstep;
+bool firststep;
void normalvideo();
bool stepping;
real codeskip;
real figureborder;
string bullet;
-bool itemstep;
pen pagenumberpen;
int[] lastnode;
string texcolor(pen p);
void equations(string s, pen p=<default>);
+bool allowstepping;
real aboveequationskip;
+void nextpage(pen p=<default>);
real minipagewidth;
void bibliographystyle(string name);
real pagemargin;
pen urlpen;
-string cropcode(string s);
void title(string s, pair position=<default>, pair align=<default>, pen p=<default>, bool newslide=<default>);
pen steppagenumberpen;
pair pagenumberalign;
@@ -3547,7 +3620,6 @@ patch patchwithnormals(path3 external, triple normalat(triple));
real(real)[] bernstein;
real B23(real t);
real B13(real t);
-real B03(real t);
bool operator ==(edge a, edge b);
real B33(real t);
pathwithnormals_settings operator init();
@@ -3562,29 +3634,30 @@ string operator cast(edge[] edges);
string operator cast(positionedvector vv);
triple operator cast(evaluatedpoint p);
int ZLOW;
+real B03(real t);
real[] projecttospan_findcoeffs(triple toproject, triple v1, triple v2, bool warn=<default>);
+int YLOW;
int ZHIGH;
real angledegrees(triple a, triple b);
-int YLOW;
path3 pathbetween(positionedvector v1, positionedvector v2);
path3 pathbetween(path3 edgecycle, int vertex1, int vertex2);
-evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>);
int XLOW;
+evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>);
int[] makecircle(edge[] edges);
path[] cylinder(path3 base, real h, triple axis=<default>, projection P);
revolution cylinder(triple c=<default>, real r, real h, triple axis=<default>);
path line(path p, path q, real[] t);
+pen defaultbackpen;
revolution cone(triple c=<default>, real r, real h, triple axis=<default>, int n=<default>);
revolution operator *(real[][] t, revolution r);
revolution sphere(triple c=<default>, real r, int n=<default>);
-real[] tangent(path p, path q, bool side);
skeleton operator init();
revolution operator init();
void draw(picture pic=<default>, revolution r, int m=<default>, int n=<default>, pen frontpen=<default>, pen backpen=<default>, pen longitudinalpen=<default>, pen longitudinalbackpen=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>);
-pen defaultbackpen;
+real[] tangent(path p, path q, bool side);
surface surface(revolution r, int n=<default>, pen color(int i, real j)=<default>);
linefit leastsquares(real[] x, real[] y);
-real Gaussrand();
+pair Gaussrandpair();
void histogram(picture pic=<default>, real[] bins, real[] count, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
void histogram(picture pic=<default>, real[] data, real a, real b, int n, bool normalize=<default>, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
int[] frequency(real[] data, real[] bins);
@@ -3592,44 +3665,45 @@ int[] frequency(real[] data, real a, real b, int n);
int[][] frequency(real[] x, real[] y, real[] xbins, real[] ybins);
int[][] frequency(real[] x, real[] y, pair a, pair b, int nx, int ny=<default>);
int[][] frequency(pair[] z, pair a, pair b, int nx, int ny=<default>);
-real Gaussian(real x, real sigma);
-real Gaussian(real x);
real kurtosis(real[] A);
-real stdev(real[] A);
real variancebiased(real[] A);
real variance(real[] A);
real legendmarkersize;
real rms(real[] A);
-int bins(real[] data, int max=<default>);
+real stdev(real[] A);
+real Gaussrand();
real kurtosisexcess(real[] A);
linefit operator init();
+int bins(real[] data, int max=<default>);
real skewness(real[] A);
path topbox(pair a, pair b);
path halfbox(pair a, pair b);
-pair Gaussrandpair();
+real Gaussian(real x, real sigma);
+real Gaussian(real x);
real mean(real[] A);
+Relation r4a;
picture tableau(frame[] cards, bool number=<default>);
Braid apply(Relation r, Braid b, int step, int place);
+Component wye;
Component phi;
Component bm;
real gapfactor;
-real hwratio;
-Component wye;
+Component bp;
pair[] endpoints(guide[] a);
-Relation operator -(Relation r);
-pair max(pair[] z);
Relation r4b;
Component operator init();
Braid operator init();
Relation operator init();
Syzygy operator init();
pair min(pair[] z);
-Relation r4a;
-Component bp;
+real hwratio;
+Relation operator -(Relation r);
+pair max(pair[] z);
Relation r3;
pen Gray;
pen Tan;
pen Brown;
+pen Sepia;
pen OliveGreen;
pen SeaGreen;
pen JungleGreen;
@@ -3639,12 +3713,11 @@ pen CadetBlue;
pen BlueViolet;
pen RoyalPurple;
pen Plum;
-pen Thistle;
-pen Lavender;
+pen DarkOrchid;
pen Fuchsia;
pen Rhodamine;
-pen VioletRed;
pen CarnationPink;
+pen Salmon;
pen WildStrawberry;
pen RubineRed;
pen OrangeRed;
@@ -3655,33 +3728,33 @@ pen Melon;
pen Dandelion;
pen Goldenrod;
pen GreenYellow;
+pen Aquamarine;
+pen Orchid;
pen Peach;
pen Cerulean;
-pen MidnightBlue;
pen White;
pen Yellow;
+pen Thistle;
+pen Violet;
pen PineGreen;
pen RedViolet;
pen Red;
pen Magenta;
pen Turquoise;
+pen MidnightBlue;
+pen Maroon;
pen ProcessBlue;
-pen Violet;
pen Black;
pen Bittersweet;
-pen SkyBlue;
pen YellowOrange;
+pen SkyBlue;
+pen VioletRed;
pen ForestGreen;
-pen YellowGreen;
-pen Orchid;
-pen Aquamarine;
pen RawSienna;
-pen Maroon;
pen Periwinkle;
pen SpringGreen;
-pen DarkOrchid;
pen LimeGreen;
-pen Sepia;
+pen YellowGreen;
pen Mulberry;
pen Cyan;
pen Blue;
@@ -3693,13 +3766,13 @@ pen RedOrange;
pen RoyalBlue;
pen Apricot;
pen Purple;
+pen Lavender;
pen Green;
-pen Salmon;
int lookup(tree t, int key);
bool contains(tree t, int key);
-tree add(tree t, int key, int value);
tree operator init();
void write(file out=<default>, tree t);
+tree add(tree t, int key, int value);
tree newtree();
real trembleFrequency;
real trembleFuzz();
@@ -3708,8 +3781,8 @@ tremble operator init();
real trembleRandom;
real trembleAngle;
real degrees(rmf a, rmf b);
-path3 roundedpath(path3 A, real r);
int coloredNodes;
+path3 roundedpath(path3 A, real r);
coloredpath operator init();
coloredpath operator cast(path p);
coloredpath operator cast(guide p);
@@ -3719,35 +3792,33 @@ int coloredSegments;
real[] sample(path3 g, real r, real relstep=<default>);
string VERSION;
pen Tomato;
-pen Thistle;
pen Tan;
-pen SteelBlue;
pen Snow;
pen Sienna;
-pen Seashell;
pen SeaGreen;
pen SandyBrown;
pen RosyBrown;
pen PowderBlue;
pen Plum;
pen Pink;
+pen PeachPuff;
pen PaleVioletRed;
pen PaleTurquoise;
pen OrangeRed;
pen OldLace;
pen Navy;
pen NavajoWhite;
+pen Salmon;
pen Moccasin;
pen MistyRose;
pen MintCream;
-pen LightSlateGray;
+pen Lime;
+pen LightYellow;
pen LightSkyBlue;
-pen LightSalmon;
+pen LightSeaGreen;
pen LightPink;
-pen LightGreen;
-pen LawnGreen;
-pen LavenderBlush;
-pen Lavender;
+pen LightGrey;
+pen LightCyan;
pen Khaki;
pen HotPink;
pen Honeydew;
@@ -3758,28 +3829,29 @@ pen IndianRed;
pen Goldenrod;
pen Fuchsia;
pen DimGray;
+pen DeepSkyBlue;
pen DeepPink;
pen DarkTurquoise;
pen DarkSlateGray;
pen DarkSalmon;
+pen DarkOrchid;
+pen LawnGreen;
+pen DarkOrange;
+pen DarkOliveGreen;
pen DarkMagenta;
-pen Silver;
pen DarkGreen;
pen DarkGoldenrod;
pen DarkBlue;
pen Crimson;
-pen Cornsilk;
pen Coral;
pen PapayaWhip;
pen CadetBlue;
pen BurlyWood;
-pen LightCoral;
pen Brown;
pen BlueViolet;
pen Beige;
pen Azure;
-pen LemonChiffon;
-pen WhiteSmoke;
+pen Aquamarine;
pen OliveDrab;
pen DarkKhaki;
pen Peru;
@@ -3788,52 +3860,51 @@ pen DarkSeaGreen;
pen SkyBlue;
pen White;
pen Yellow;
-pen LightCyan;
+pen Thistle;
+pen WhiteSmoke;
+pen Violet;
+pen LightCoral;
pen Red;
pen Magenta;
-pen LightSeaGreen;
+pen LightSalmon;
pen DarkViolet;
-pen MidnightBlue;
pen Turquoise;
-pen LightSteelBlue;
-pen AntiqueWhite;
-pen DarkOliveGreen;
+pen MidnightBlue;
+pen LavenderBlush;
+pen Maroon;
+pen Seashell;
pen Ivory;
pen Bisque;
-pen Violet;
-pen Lime;
pen PaleGreen;
-pen GhostWhite;
pen PaleGoldenrod;
pen Black;
pen SlateBlue;
pen LightBlue;
-pen YellowGreen;
-pen LightGrey;
pen ForestGreen;
+pen LightGreen;
+pen LemonChiffon;
pen AliceBlue;
-pen Aquamarine;
+pen Orchid;
+pen Silver;
pen MediumVioletRed;
+pen MediumBlue;
pen SpringGreen;
-pen DarkOrchid;
pen FloralWhite;
pen Linen;
-pen Maroon;
pen Olive;
-pen MediumSpringGreen;
-pen BlanchedAlmond;
+pen AntiqueWhite;
+pen LightSlateGray;
+pen GhostWhite;
pen LimeGreen;
pen FireBrick;
+pen BlanchedAlmond;
+pen YellowGreen;
pen Gold;
-pen Orchid;
+pen MediumSpringGreen;
pen rgbint(int r, int g, int b);
pen Cyan;
pen Blue;
-pen Aqua;
pen Teal;
-pen MediumBlue;
-pen DarkOrange;
-pen PeachPuff;
pen Chartreuse;
pen DarkSlateBlue;
pen SlateGray;
@@ -3841,7 +3912,9 @@ pen Orange;
pen DarkGray;
pen CornflowerBlue;
pen MediumOrchid;
+pen Wheat;
pen Chocolate;
+pen Aqua;
pen MediumPurple;
pen DodgerBlue;
pen DarkRed;
@@ -3850,12 +3923,12 @@ pen MediumSlateBlue;
pen MediumSeaGreen;
pen RoyalBlue;
pen MediumAquamarine;
+pen Cornsilk;
pen Indigo;
pen Purple;
-pen DeepSkyBlue;
+pen Lavender;
+pen SteelBlue;
pen MediumTurquoise;
-pen LightYellow;
-pen Wheat;
+pen LightSteelBlue;
pen Green;
pen Gainsboro;
-pen Salmon;