summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/asy.list
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-27 22:27:57 +0000
committerKarl Berry <karl@freefriends.org>2019-03-27 22:27:57 +0000
commit9121faed0cf54a08882acf41120cf28fc3a32998 (patch)
treefe7f0c5e9ed02fe4a1fc389c27c88750c2807e43 /Build/source/utils/asymptote/asy.list
parentb8e24fbf964b4030f68a8484a53d405869693266 (diff)
asy 2.48 sources
git-svn-id: svn://tug.org/texlive/trunk@50622 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/asy.list')
-rw-r--r--Build/source/utils/asymptote/asy.list1169
1 files changed, 590 insertions, 579 deletions
diff --git a/Build/source/utils/asymptote/asy.list b/Build/source/utils/asymptote/asy.list
index 6497acd338e..5d55a8a6766 100644
--- a/Build/source/utils/asymptote/asy.list
+++ b/Build/source/utils/asymptote/asy.list
@@ -6,14 +6,15 @@ bool prc(string format=<default>);
light currentlight;
pen royalblue;
real arrowdir;
-frame pack(pair align=<default> ... object[] inset);
filltype filltype(int type=<default>, pen fillpen=<default>, pen drawpen=<default>, void fill2(frame f, path[] g, pen fillpen));
-void addArrow(picture pic, arrowhead arrowhead, path g, pen p, real size, real angle, filltype filltype, real position);
int Suppress;
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;
@@ -23,12 +24,11 @@ cputime cputime();
real inches;
pair SW;
real inch;
+picture legenditem(Legend legenditem, real linelength);
marginT EndMargin(path, pen);
pen mediumgrey;
pen darkcyan;
real legendhskip;
-string ask(string prompt);
-frame[] fit2(picture[] pictures, picture all);
void addSaveFunction(void s()());
pen olive;
pen zerowinding;
@@ -41,13 +41,10 @@ slice lastcut(path p, path knife);
pen darkgreen;
string verbatim(string s);
pen heavygray;
-bool ArcArrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
-bool ArcArrows(picture, path, pen, marginT(path, pen));
pen darkred;
pair E;
plain_scaling plain_scaling;
pen darkgray;
-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));
frame orientation(frame);
void progress(bool3 init=<default>);
pen salmon;
@@ -58,29 +55,27 @@ pen Pentype(int n);
triple gettriple(string name=<default>, triple default=<default>, string prompt=<default>, bool store=<default>);
pen Yellow;
real cm;
-bool EndBar(picture, path, pen, marginT(path, pen));
-bool EndBar(picture, path, pen, marginT(path, pen))(real size=<default>);
pen mediumgreen;
pen heavygreen;
+string ask(string prompt);
+frame[] fit2(picture[] pictures, picture all);
pen dashdotted;
-int debuggerlines;
-frame bbox(picture pic=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>);
pen deepblue;
string graphicscale(real x);
pen mediumblue;
pen heavyblue;
transform invert;
pair NNW;
-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>);
pair SE;
pen thick(pen p=<default>);
pen mediumred;
marginT EndDotMargin(path, pen);
+bool ArcArrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
+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>);
filltype RadialShadeDraw(real xmargin=<default>, real ymargin=<default>, pen penc, pen penr, pen drawpen=<default>);
marginT BeginDotMargin(path, pen);
-frame enclose(string prefix=<default>, object F, string format=<default>);
marker[] Mark;
marker Mark(int n);
pen darkolive;
@@ -91,10 +86,18 @@ transform fixedscaling(picture pic=<default>, pair min, pair max, pen p=<default
pen Symbol(string series=<default>, string shape=<default>);
int count;
path circle(pair c, real r);
+path ellipse(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+path ellipse(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+path ellipse(pair c, real a, real b);
pen beveljoin;
pen orange;
pen green;
+bool EndBar(picture, path, pen, marginT(path, pen));
+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;
@@ -103,11 +106,14 @@ transform Rotate(transform)(pair z);
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>);
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;
@@ -117,12 +123,7 @@ pen pink;
pen TimesRoman(string series=<default>, string shape=<default>);
pen palemagenta;
int mantissaBits;
-void copyPairOrTriple(pairOrTriple dest, pairOrTriple src);
pen lightolive;
-string outprefix(string prefix=<default>);
-object object(frame f);
-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>);
path arrowbase(path r, pair y, real t, real size);
pen[] monoPen;
bool CW;
@@ -130,8 +131,9 @@ pen Cyan;
marginT EndPenMargin(path, pen);
pair NNE;
pen roundjoin;
+void addArrow(picture pic, arrowhead arrowhead, path g, pen p, real size, real angle, filltype filltype, real position);
pen lightgray;
-pair relative(picture pic=<default>, pair z);
+picture arrow2(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>);
position MidPoint;
string Embed(string name, string text=<default>, string options=<default>, real width=<default>, real height=<default>);
pen deepgrey;
@@ -142,39 +144,35 @@ side NoSide;
file stdout;
frame Seascape(frame f);
pair up;
-void savedefaults()();
-bool MidArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
-bool MidArrow(picture, path, pen, marginT(path, pen));
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;
-picture legenditem(Legend legenditem, real linelength);
pen deepgray;
-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>);
string defaultformat(int n, string trailingzero=<default>, bool fixed=<default>, bool signed=<default>);
string defaultformat;
pen lightcyan;
pen paleblue;
-real legendmargin;
-bool None(picture, path, pen, marginT(path, pen));
-path box(pair a, pair b);
-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>);
-pen Bookman(string series=<default>, string shape=<default>);
-frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>);
frame align(frame f, pair align);
-object align(object F, pair align);
path[] align(path[] g, transform t=<default>, pair position, pair align, pen p=<default>);
+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();
@@ -188,15 +186,14 @@ real braceinnerangle;
guide operator ---(... guide[]);
int JOIN_IN;
real barfactor;
+void arrow(picture pic=<default>, Label L=<default>, pair b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
+picture arrow(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>);
+void unitsize(picture pic=<default>, real x, real y=<default>, real z=<default>);
pen lightgreen;
transform zeroTransform;
void endl(file file);
-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));
void usersetting();
bool prc0(string format=<default>);
-bool Bars(picture, path, pen, marginT(path, pen));
-bool Bars(picture, path, pen, marginT(path, pen))(real size=<default>);
pair rectify(pair dir);
arrowhead TeXHead;
void beep();
@@ -205,6 +202,9 @@ real labelmargin(pen p=<default>);
pen lightblue;
real bracemidangle;
path unitsquare;
+void savedefaults()();
+bool MidArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
+bool MidArrow(picture, path, pen, marginT(path, pen));
pen cyan;
pen grey;
transform rotation(transform t);
@@ -212,8 +212,6 @@ pair W;
pen magenta;
pair WSW;
pen nobasealign;
-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>);
frame Landscape(frame f);
real camerafactor;
pen lightred;
@@ -223,9 +221,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>);
pen Pen(int n);
pair ENE;
pen Courier(string series=<default>, string shape=<default>);
@@ -236,7 +243,6 @@ path arc(pair c, explicit pair z1, explicit pair z2, bool direction=<default>);
path arc(pair c, real r, real angle1, real angle2, bool direction);
pair right;
string outformat(string format=<default>);
-marker markthin(path g, pen p=<default>, real thin(real fraction)=<default>, filltype filltype=<default>);
filltype Fill;
filltype Fill(real xmargin=<default>, real ymargin=<default>, pen p=<default>);
pen Palatino(string series=<default>, string shape=<default>);
@@ -249,12 +255,17 @@ real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<de
real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>);
real expansionfactor;
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);
bool finite(triple v);
filltype UnFill(real xmargin=<default>, real ymargin=<default>);
filltype UnFill;
+frame enclose(string prefix=<default>, object F, string format=<default>);
+bool Bars(picture, path, pen, marginT(path, pen));
+bool Bars(picture, path, pen, marginT(path, pen))(real size=<default>);
pair I;
pair SSW;
transform Slant(transform t);
@@ -272,29 +283,44 @@ path[] operator ^^(explicit path[] p, explicit path[] q);
real arrow2sizelimit;
filltype FillDraw;
filltype FillDraw(real xmargin=<default>, real ymargin=<default>, pen fillpen=<default>, pen drawpen=<default>);
-bool debugging;
-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>);
-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 pause(string w=<default>);
int ocgindex;
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 ignore;
+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;
-frame dotframe(pen p=<default>, filltype filltype=<default>);
-frame dotframe;
+bool ignore;
pen darkblue;
-path ellipse(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-path ellipse(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
-path ellipse(pair c, real a, real b);
real reltime(path p, real l);
void marknodes(picture pic=<default>, frame f, path g);
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;
@@ -305,21 +331,17 @@ pen palecyan;
node node(void d(frame f, transform t, transform T, pair lb, pair rt), string key=<default>);
marginT BeginMargin(path, pen);
path buildcycle(... path[] p);
-void unitsize(picture pic=<default>, real x, real y=<default>, real z=<default>);
-void arrow(picture pic=<default>, Label L=<default>, pair b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>);
-picture arrow(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>);
-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));
-bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
+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>);
pen roundcap;
void buildRestoreThunk()();
void overloadedMessage(file file);
-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));
frame currentpatterns;
real arrowfactor;
pen heavyred;
@@ -339,8 +361,9 @@ 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>);
-Label[] array(int n, Label value, int depth=<default>);
-picture[] array(int n, picture 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>);
real[][] array(int n, real[] value, int depth=<default>);
real[] array(int n, real value, int depth=<default>);
triple[] array(int n, triple value, int depth=<default>);
@@ -349,9 +372,8 @@ 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>);
-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>);
+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>);
string[][] array(int n, string[] value, int depth=<default>);
pair[] array(int n, pair value, int depth=<default>);
@@ -360,42 +382,18 @@ pen[] array(int n, pen value, int depth=<default>);
string[] array(string s);
real[] uniform(real a, real b, int n);
pair viewportsize;
-picture arrow2(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>);
-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);
picture currentpicture;
pen palegreen;
-Label Label(Label L, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(Label L, pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(string s, string size=<default>, explicit position position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(Label L, explicit position position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
-Label Label;
Label Label(explicit pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
+Label Label;
Label Label(string s=<default>, string size=<default>, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(string s, string size=<default>, pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<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>);
-marker[] concat(... marker[][]);
-real[] concat(... real[][]);
-picture[] concat(... picture[][]);
-pair[] concat(... pair[][]);
-object[] concat(... object[][]);
-pen[] concat(... pen[][]);
-Label[] concat(... Label[][]);
-path[] concat(... path[][]);
-coord[] concat(... coord[][]);
-coord[] concat(... coord[][]);
-Legend[] concat(... Legend[][]);
-int[] concat(... int[][]);
-void()()[] concat(... void()()[][]);
-bool3[] concat(... bool3[][]);
-string[] concat(... string[][]);
-triple[] concat(... triple[][]);
-frame[] concat(... frame[][]);
-guide[] concat(... guide[][]);
-bool[] concat(... bool[][]);
pair N;
real dotsize(pen p=<default>);
real pt;
@@ -406,6 +404,8 @@ pen palegray;
pen miterjoin;
arrowhead SimpleHead;
real arrowangle;
+frame dotframe(pen p=<default>, filltype filltype=<default>);
+frame dotframe;
real arcarrowfactor;
real mm;
plain plain;
@@ -418,18 +418,18 @@ int OR(int a, int b);
real[][] scale3(real s);
int AND(int a, int b);
real[] cubicroots(real a, real b, real c, real d);
-void attach(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void attach(picture dest=<default>, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>);
+void attach(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
real[] quadraticroots(real a, real b, real c);
pair[] quadraticroots(explicit pair a, explicit pair b, explicit pair c);
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=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default>, bool viewport=<default> ... triple[] position);
-light light(pen[] diffuse, pen[] ambient=<default>, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, bool viewport=<default>, triple[] position);
-light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, bool viewport=<default>, real x, real y, real z);
+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(explicit light light);
+light light(pen diffuse=<default>, pen ambient=<default>, 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);
@@ -615,8 +615,8 @@ void clear();
void clear(string file, string text);
void unfill(frame f, path[] g, bool copy=<default>);
void unfill(picture pic=<default>, path[] g, bool copy=<default>);
-bool Bar(picture, path, pen, marginT(path, pen));
bool Bar(picture, path, pen, marginT(path, pen))(real size=<default>);
+bool Bar(picture, path, pen, marginT(path, pen));
bool eol(file f);
bool eof(file f);
pen paleyellow;
@@ -653,9 +653,9 @@ marker dot(pen p=<default>, filltype filltype=<default>);
void dot(picture pic=<default>, pair z, pen p=<default>, filltype filltype=<default>);
void dot(frame f, pair z, pen p=<default>, filltype filltype=<default>);
void dot(picture pic=<default>, Label L, pen p=<default>, filltype filltype=<default>);
-marker dot;
void dot(picture pic=<default>, Label[] L=<default>, pair[] z, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
void dot(picture pic=<default>, path[] g, pen p=<default>, filltype filltype=<default>);
+marker dot;
void dot(picture pic=<default>, Label L, pair z, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
pair ESE;
pair project(triple v, real[][] t);
@@ -678,9 +678,8 @@ 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);
-object[] sequence(object f(int), int n);
-marker[] sequence(marker f(int), int n);
-Legend[] sequence(Legend 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);
string[][] sequence(string[] f(int), int n);
pair[] sequence(pair f(int), int n);
@@ -691,8 +690,9 @@ 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);
-Label[] sequence(Label f(int), int n);
-picture[] sequence(picture 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);
real[][] sequence(real[] f(int), int n);
real[] sequence(real f(int), int n);
int[] sequence(int n, int m);
@@ -748,21 +748,21 @@ 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(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>), 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(frame f, path g, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen)));
+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(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(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>), pair position, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<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(frame f, 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>);
+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 viewportlighting, 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[][] ambient, 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>);
@@ -787,27 +787,27 @@ void texpreamble(string s);
real braceouterangle;
void tex(frame f, string s);
void tex(frame f, string s, pair min, pair max);
-void tex(picture pic=<default>, string s);
void tex(picture pic=<default>, string s, pair min, pair max);
+void tex(picture pic=<default>, string s);
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 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(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(picture pic=<default>, void d(picture, real[][]), bool exact=<default>);
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 src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-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 src, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-void add(picture pic=<default>, Label L);
void add(picture pic=<default>, void d(picture, transform), bool exact=<default>);
-void add(picture dest, picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-void add(frame f, transform t=<default>, Label L);
-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 src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
void endgroup3(frame f);
void _begingroup3(frame f, string name, real compression, real granularity, bool closed, bool tessellate, bool dobreak, bool nobreak, triple center, int interaction);
void endgroup(frame f);
@@ -867,8 +867,8 @@ transform rotate(real angle, pair z=<default>);
bool IgnoreAspect;
void postscript(frame f, string s);
void postscript(frame f, string s, pair min, pair max);
-void postscript(picture pic=<default>, string s);
void postscript(picture pic=<default>, string s, pair min, pair max);
+void postscript(picture pic=<default>, string s);
transform slant(real s);
transform yscale(real y);
transform inverse(transform t);
@@ -916,9 +916,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);
@@ -1043,61 +1043,61 @@ pen currentpen;
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(light a, light b);
-bool alias(autoscaleT a, autoscaleT b);
-bool alias(align a, align b);
-bool alias(Legend[] a, Legend[] b);
+bool alias(node a, node b);
+bool alias(Label a, Label b);
+bool alias(picture[] a, picture[] 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(node a, node b);
-bool alias(Label a, Label b);
-bool alias(processtime a, processtime b);
+bool alias(transformation a, transformation b);
+bool alias(marker a, marker b);
+bool alias(Legend[] a, Legend[] b);
bool alias(int[] a, int[] b);
bool alias(string[][] a, string[][] b);
-bool alias(filltype a, filltype b);
-bool alias(coords3 a, coords3 b);
-bool alias(object[] a, object[] b);
-bool alias(marker a, marker b);
+bool alias(slice a, slice b);
+bool alias(projection a, projection 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(bool3 a, bool3 b);
bool alias(bool3[] a, bool3[] b);
-bool alias(ScaleT a, ScaleT b);
-bool alias(side a, side b);
-bool alias(arrowhead a, arrowhead b);
+bool alias(autoscaleT a, autoscaleT b);
+bool alias(pairOrTriple a, pairOrTriple b);
+bool alias(object a, object b);
+bool alias(object[] a, object[] b);
bool alias(string[] a, string[] b);
bool alias(frame[] a, frame[] b);
-bool alias(hsv a, hsv 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(marker[] a, marker[] b);
+bool alias(light a, light b);
+bool alias(coords3 a, coords3 b);
+bool alias(arrowhead a, arrowhead b);
bool alias(bool[] a, bool[] b);
bool alias(void()()[] a, void()()[] b);
bool alias(pen[][] a, pen[][] b);
-bool alias(marginT a, marginT b);
+bool alias(filltype a, filltype b);
bool alias(simplex a, simplex b);
-bool alias(scaleT a, scaleT b);
-bool alias(Label[] a, Label[] b);
+bool alias(Legend a, Legend b);
+bool alias(position a, position b);
+bool alias(marker[] a, marker[] 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(Legend a, Legend b);
-bool alias(position a, position b);
+bool alias(picture a, picture b);
+bool alias(Label[] a, Label[] b);
bool alias(real[] a, real[] b);
bool alias(pen[] a, pen[] b);
-bool alias(slice a, slice b);
+bool alias(hsv a, hsv b);
bool alias(freezableBounds a, freezableBounds b);
-bool alias(projection a, projection b);
-bool alias(picture a, picture b);
-bool alias(picture[] a, picture[] b);
+bool alias(scaleT a, scaleT b);
+bool alias(align a, align b);
+bool alias(processtime a, processtime b);
real pi;
int randMax;
pen heavycyan;
@@ -1108,7 +1108,7 @@ real realEpsilon;
pair NE;
real realMin;
real realMax;
-simplex simplex(real[] c, real[][] A, real[] b, bool phase1=<default>);
+simplex simplex(real[] c, real[][] A, real[] b, bool phase1=<default>, bool dual=<default>);
simplex simplex(real[] c, real[][] A, int[] s, real[] b);
simplex simplex;
real nan;
@@ -1121,27 +1121,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);
-Legend[] map(Legend f(Legend), Legend[] 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);
-Label[] map(Label f(Label), Label[] a);
+marker[] map(marker f(marker), marker[] a);
pair[] map(pair f(pair), pair[] a);
-object[] map(object f(object), object[] a);
string[] map(string f(string), string[] a);
-picture[] map(picture f(picture), picture[] a);
void()()[] map(void f()()(void()()), void()()[] a);
pair[][] map(pair[] f(pair[]), pair[][] a);
real[] map(real f(real), real[] a);
-marker[] map(marker f(marker), marker[] a);
int[] map(int f(int), int[] a);
string[][] map(string[] f(string[]), string[][] a);
+Legend[] map(Legend f(Legend), Legend[] 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,24 +1257,24 @@ 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(picture[] a, picture key, bool less(picture, picture));
int search(real[] a, real key, bool less(real, real));
int search(guide[] a, guide key, bool less(guide, guide));
-int search(object[] a, object key, bool less(object, object));
int search(pair[] a, pair key, bool less(pair, pair));
-int search(Label[] a, Label key, bool less(Label, Label));
+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(Legend[] a, Legend key, bool less(Legend, Legend));
+int search(picture[] a, picture key, bool less(picture, picture));
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(bool[] a, bool key, bool less(bool, bool));
int search(triple[] a, triple key, bool less(triple, triple));
-int search(marker[] a, marker key, bool less(marker, marker));
int[] sort(int[] a);
int[][] sort(int[][] a);
real[] sort(real[] a);
@@ -1283,9 +1283,8 @@ 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>);
-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>);
+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>);
pen[][] sort(pen[][] a, bool less(pen[], pen[]), bool stable=<default>);
pair[][] sort(pair[][] a, bool less(pair[], pair[]), bool stable=<default>);
@@ -1294,8 +1293,9 @@ 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>);
-Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>);
-picture[] sort(picture[] a, bool less(picture, picture), 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>);
int[] sort(int[] a, bool less(int, int), bool stable=<default>);
string[][] sort(string[][] a, bool less(string[], string[]), bool stable=<default>);
real[] sort(real[] a, bool less(real, real), bool stable=<default>);
@@ -1334,10 +1334,10 @@ pair max(frame f);
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);
-pair max(picture pic, bool user=<default>);
real max(... real[] a);
void restore();
pen basealign(int n);
@@ -1369,8 +1369,8 @@ pair min(frame f);
pair min(explicit path p);
pair min(path[] p);
triple min(path3 p);
-pair min(picture pic, bool user=<default>);
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);
int min(... int[] a);
@@ -1440,9 +1440,8 @@ 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>);
-object[] copy(object[] a, int depth=<default>);
-marker[] copy(marker[] a, int depth=<default>);
-Legend[] copy(Legend[] 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>);
path[] copy(path[] a, int depth=<default>);
string[] copy(string[] a, int depth=<default>);
@@ -1452,8 +1451,9 @@ 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>);
-Label[] copy(Label[] a, int depth=<default>);
-picture[] copy(picture[] 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>);
pair[][] copy(pair[][] a, int depth=<default>);
real[] abs(pair[] a);
real[] abs(triple[] a);
@@ -1539,15 +1539,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);
-picture operator *(transform t, picture orig);
-object operator *(transform t, explicit object F);
path[] operator *(transform t, explicit path[] p);
bounds operator *(transform t, bounds b);
-Label operator *(transform t, Label L);
pair[] operator *(transform t, pair[] z);
-picture operator *(real[][] t, picture orig);
+picture operator *(transform t, picture orig);
+object operator *(transform t, explicit object F);
+Label operator *(transform t, Label L);
real latitude(triple v, bool warn=<default>);
int sum(int[] a);
real sum(real[] a);
@@ -1626,13 +1626,13 @@ 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(file file, string s=<default>, explicit path[] x, void suffix(file)=<default>);
-void write(file file=<default>, align align, void suffix(file)=<default>);
-void write(pairOrTriple a);
+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>, Label L, void suffix(file)=<default>);
+void write(file file=<default>, align align, void suffix(file)=<default>);
bool operator !=(bool a, bool b);
bool[] operator !=(bool a, bool[] b);
bool[] operator !=(bool[] a, bool b);
@@ -1670,40 +1670,40 @@ 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 !=(ScaleT a, ScaleT b);
-bool operator !=(side a, side b);
-bool operator !=(arrowhead a, arrowhead 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 !=(autoscaleT a, autoscaleT b);
bool operator !=(pairOrTriple a, pairOrTriple b);
bool operator !=(object a, object b);
-bool operator !=(marginT a, marginT b);
+bool operator !=(coords2 a, coords2 b);
+bool operator !=(coords2 a, coords2 b);
+bool operator !=(light a, light b);
+bool operator !=(coords3 a, coords3 b);
+bool operator !=(arrowhead a, arrowhead b);
+bool operator !=(filltype a, filltype b);
bool operator !=(simplex a, simplex b);
-bool operator !=(scaleT a, scaleT 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 !=(slice a, slice b);
-bool operator !=(freezableBounds a, freezableBounds b);
-bool operator !=(projection a, projection b);
+bool operator !=(coord a, coord b);
+bool operator !=(coord a, coord b);
bool operator !=(picture a, picture b);
-bool operator !=(bool3 a, bool b);
-bool operator !=(light a, light b);
-bool operator !=(autoscaleT a, autoscaleT b);
+bool operator !=(hsv a, hsv b);
+bool operator !=(freezableBounds a, freezableBounds b);
+bool operator !=(scaleT a, scaleT 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 !=(node a, node b);
-bool operator !=(Label a, Label b);
-bool operator !=(processtime a, processtime b);
-bool operator !=(bool a, bool3 b);
-bool operator !=(filltype a, filltype b);
-bool operator !=(coords3 a, coords3 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 !=(projection a, projection b);
+bool operator !=(ScaleT a, ScaleT b);
+bool operator !=(side a, side b);
bool operator !=(cputime a, cputime b);
bool operator ==(bool a, bool b);
bool[] operator ==(bool a, bool[] b);
@@ -1742,40 +1742,40 @@ 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 ==(ScaleT a, ScaleT b);
-bool operator ==(side a, side b);
-bool operator ==(arrowhead a, arrowhead 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 ==(autoscaleT a, autoscaleT b);
bool operator ==(pairOrTriple a, pairOrTriple b);
bool operator ==(object a, object b);
-bool operator ==(marginT a, marginT b);
+bool operator ==(coords2 a, coords2 b);
+bool operator ==(coords2 a, coords2 b);
+bool operator ==(light a, light b);
+bool operator ==(coords3 a, coords3 b);
+bool operator ==(arrowhead a, arrowhead b);
+bool operator ==(filltype a, filltype b);
bool operator ==(simplex a, simplex b);
-bool operator ==(scaleT a, scaleT 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 ==(slice a, slice b);
-bool operator ==(freezableBounds a, freezableBounds b);
-bool operator ==(projection a, projection b);
+bool operator ==(coord a, coord b);
+bool operator ==(coord a, coord b);
bool operator ==(picture a, picture b);
-bool operator ==(bool3 a, bool b);
-bool operator ==(light a, light b);
-bool operator ==(autoscaleT a, autoscaleT b);
+bool operator ==(hsv a, hsv b);
+bool operator ==(freezableBounds a, freezableBounds b);
+bool operator ==(scaleT a, scaleT 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 ==(node a, node b);
-bool operator ==(Label a, Label b);
-bool operator ==(processtime a, processtime b);
-bool operator ==(bool a, bool3 b);
-bool operator ==(filltype a, filltype b);
-bool operator ==(coords3 a, coords3 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 ==(projection a, projection b);
+bool operator ==(ScaleT a, ScaleT b);
+bool operator ==(side a, side b);
bool operator ==(cputime a, cputime b);
bool operator ^(bool a, bool b);
bool[] operator ^(bool a, bool[] b);
@@ -1846,10 +1846,10 @@ triple[] operator +(triple[] a);
pen operator +(pen a, pen b);
transform operator +(transform a, transform b);
pen operator +(pen p, real w);
-marginT operator +(path, pen)(marginT ma(path, pen), marginT mb(path, pen));
pen[] operator +(pen a, pen[] b);
pen operator +(real w, pen p);
string operator +(... string[] a);
+marginT operator +(path, pen)(marginT ma(path, pen), marginT mb(path, pen));
pen[] operator +(pen[] a, pen b);
real operator cast(int);
pair operator cast(int);
@@ -1892,33 +1892,33 @@ string[][][] operator cast(file);
guide operator cast(cycleToken tok);
guide operator cast(curlSpecifier spec);
guide operator cast(tensionSpecifier t);
-align operator cast(side side);
-guide[] operator cast(path[] g);
-pair operator cast(pairOrTriple a);
-triple operator cast(pairOrTriple a);
-pen operator cast(hsv hsv);
-frame operator cast(object F);
-bool3[] operator cast(bool[] b);
-hsv operator cast(pen p);
-position operator cast(pair x);
object operator cast(Label L);
Label operator cast(object F);
-pair operator cast(position P);
-object operator cast(frame f);
+guide[] operator cast(path[] g);
+hsv operator cast(pen 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);
guide[] operator cast(pair[] z);
path[] operator cast(guide[] g);
bool operator cast(bool3 b);
-align operator cast(pair dir);
+pair operator cast(pairOrTriple a);
+triple operator cast(pairOrTriple a);
+frame operator cast(object F);
path[] operator cast(guide g);
+position operator cast(pair x);
path[] operator cast(pair[] z);
-align operator cast(triple dir);
path[] operator cast(path p);
+pair operator cast(position P);
bool[] operator cast(bool3[] b);
+object operator cast(frame f);
+align operator cast(side side);
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);
+align operator cast(pair dir);
+pen operator cast(hsv hsv);
+align operator cast(triple dir);
pen deepred;
bool error(file f);
string operator ecast(int);
@@ -1946,44 +1946,44 @@ path3 operator init();
pen operator init();
frame operator init();
file operator init();
-light operator init();
-autoscaleT operator init();
-align operator init();
marginT operator init();
-simplex operator init();
-scaleT operator init();
+node operator init();
+Label operator init();
filltype operator init();
-coords3 operator init();
-marker operator init();
-cputime operator init();
+simplex operator init();
+Legend operator init();
+position operator init();
slice operator init();
projection operator init();
-picture operator init();
+ScaleT operator init();
+side operator init();
+cputime operator init();
hsv operator init();
+scaleT operator init();
+align operator init();
+processtime operator init();
coords2 operator init();
coords2 operator init();
-transformation operator init();
-pairOrTriple operator init();
-object operator init();
+light operator init();
+coords3 operator init();
+arrowhead operator init();
scaling operator init();
scaling operator init();
bounds operator init();
-node operator init();
-Label operator init();
-processtime operator init();
+transformation operator init();
+marker operator init();
coord operator init();
coord operator init();
-Legend operator init();
-position operator init();
+picture operator init();
bool3 operator init();
-ScaleT operator init();
-side operator init();
-arrowhead operator init();
+autoscaleT operator init();
+pairOrTriple operator init();
+object operator init();
sCAD operator init();
frame NoBox(frame f);
real animationdelay;
-animation operator init();
frame BBox(frame)(real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>);
+animation operator init();
void annotate(picture pic=<default>, string title, string text, pair position);
void babel(string s);
path[] bezulate(path[] p);
@@ -2005,26 +2005,26 @@ key nil;
key key(int n, bool active=<default>);
real minDistDefault;
real nodeMarginDefault;
-binarytreeNode operator init();
-key operator init();
-binarytree operator init();
-binarytreeNode binarytreeNode(int key);
+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>);
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>);
+picture operator cast(face f);
+face operator cast(path3 p);
line intersection(face a, face b);
face operator init();
line operator init();
half operator init();
splitface operator init();
bsp operator init();
-picture operator cast(face f);
-face operator cast(path3 p);
splitface split(face a, face cut, projection P);
void addseg(pair[][] gds, segment seg);
pen[] extend(pen[] palette, pen below, pen above);
@@ -2033,16 +2033,16 @@ void collect(pair[][][] points, real[] c);
segment case3(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge=<default>);
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);
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>);
-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);
+segment operator init();
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>);
@@ -2056,10 +2056,10 @@ surface surface(vertex[][] g);
real eps;
real treeMinNodeWidth;
real treeNodeStep;
+void add(TreeNode child, TreeNode parent);
TreeNode operator init();
TreeNode makeNode(TreeNode parent=<default>, frame f);
TreeNode makeNode(TreeNode parent=<default>, Label label);
-void add(TreeNode child, TreeNode parent);
real treeLevelStep;
void draw(TreeNode root, pair pos);
void drawAll(TreeNode node, frame f);
@@ -2070,7 +2070,6 @@ 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>);
@@ -2094,24 +2093,26 @@ pen ghostpen;
real photonamplitude;
real gluonamplitude;
real photonratio;
+bool XYAlign;
pen gluonpen;
pen fermionpen;
void drawVertexX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>);
+real bigvertexsize;
void drawVertexO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
-real momarrowfactor;
real momarrowlength;
-void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
-path photon(path p, real amp=<default>, real width=<default>);
void texshipout(string stem, picture pic=<default>, bool xalign=<default>);
+path photon(path p, real amp=<default>, real width=<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>);
path gluon(path p, real amp=<default>, real width=<default>);
real momarrowsize(pen p=<default>);
-void fmdefaults();
+void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
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>);
+void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
bool appendsuffix;
-path momArrowPath(path p, align align, position pos, real offset=<default>, real length=<default>);
+void fmdefaults();
+real momarrowfactor;
pen vertexpen;
-real bigvertexsize;
+path momArrowPath(path p, align align, position pos, real offset=<default>, real length=<default>);
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>);
pen backgroundpen;
@@ -2121,7 +2122,6 @@ void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=
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>);
string includegraphicscommand;
pen photonpen;
-void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
pen bigvertexpen;
Dir Down;
Dir Left;
@@ -2169,8 +2169,50 @@ triangle extouch(triangle t);
triangle extouch(side side);
triangle pedal(triangle t, point M);
line pedal(side side, point M);
-point isogonalconjugate(triangle t, point M);
+point isogonal(side side, point M);
+line isogonal(vertex V, point M);
+triangle isogonal(triangle t, point M);
point isotomicconjugate(triangle t, point M);
+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);
@@ -2220,18 +2262,17 @@ 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);
-point arcsubtendedcenter(point A, point B, real angle);
+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);
-real EPS;
-bqe canonical(bqe bqe);
+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>);
-triangle cevian(triangle t, point P);
-point cevian(side side, point P);
-line cevian(vertex V, point P);
vector vector(coordsys R=<default>, pair v);
vector vector(point M);
path square(pair z1, pair z2);
@@ -2249,7 +2290,6 @@ real arclength(parabola p, real angle);
real arclength(parabola p, real angle1, real angle2);
real arclength(parabola p);
real arclength(arc a);
-point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M);
bool degenerate(conic c);
bool degenerate(circle c);
bool degenerate(ellipse el);
@@ -2259,8 +2299,8 @@ 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;
real binomial(real n, real k);
@@ -2298,36 +2338,28 @@ 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);
+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);
+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);
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 sharpdegrees(line l1, line l2);
-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);
-mass masscenter(... mass[] M);
-circle incircle(point A, point B, point C);
-circle incircle(triangle t);
+real EPS;
+bqe canonical(bqe bqe);
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>);
@@ -2335,9 +2367,17 @@ 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);
+bool operator !=(explicit point M, explicit point N);
+bool operator !=(line l1, line l2);
+arc arcsubtended(point A, point B, real angle);
triangle incentral(triangle t);
point origin;
point origin(coordsys R=<default>);
@@ -2345,48 +2385,7 @@ string massformat(string format=<default>, string s, mass M);
void write(explicit line l);
void write(explicit segment s);
void write(trilinear tri);
-point midpoint(segment s);
-point midpoint(side side);
-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);
-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);
-int parabolanodesnumber(parabola p, real angle1, real angle2);
-line complementary(explicit line l);
-line[] complementary(explicit segment s);
-arc complementary(arc a);
-pair coordinates(point M);
-string defaultmassformat;
-int circlenodesnumberfactor;
-coordsys operator init();
-point operator init();
-vector operator init();
-line operator init();
-segment operator init();
-bqe operator init();
-conic operator init();
-circle operator init();
-ellipse operator init();
-parabola operator init();
-hyperbola operator init();
-abscissa operator init();
-arc operator init();
-mass operator init();
-triangle operator init();
-trilinear operator init();
-inversion operator init();
-triangle triangle(line l1, line l2, line l3);
+int ellipsenodesnumberfactor;
pair operator cast(point P);
pair[] operator cast(point[] P);
point operator cast(pair p);
@@ -2432,61 +2431,46 @@ point operator cast(vertex V);
point operator cast(trilinear tri);
circle operator cast(inversion i);
inversion operator cast(circle c);
-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);
-line vline(coordsys R=<default>);
-line vline;
-real[] intersect(path g, explicit pair p, real fuzz=<default>);
-real[] intersect(path g, explicit point P, real fuzz=<default>);
-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>);
+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);
+int parabolanodesnumber(parabola p, real angle1, real angle2);
+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);
+point midpoint(segment s);
+point midpoint(side side);
+string defaultmassformat;
+int circlenodesnumberfactor;
+coordsys operator init();
+point operator init();
+vector operator init();
+line operator init();
+segment operator init();
+bqe operator init();
+conic operator init();
+circle operator init();
+ellipse operator init();
+parabola operator init();
+hyperbola operator init();
+abscissa operator init();
+arc operator init();
+mass operator init();
+triangle operator init();
+trilinear operator init();
+inversion operator init();
+real sharpdegrees(line l1, line l2);
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>);
@@ -2498,11 +2482,19 @@ 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>);
-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>);
-side opposite(vertex V);
-vertex opposite(side side);
+pair coordinates(point M);
+transform vprojection(line l, bool safe=<default>);
+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);
+void drawline(picture pic=<default>, triangle t, pen p=<default>);
+bool inside(ellipse el, point M);
+bool inside(parabola p, point M);
+circle incircle(point A, point B, point C);
+circle incircle(triangle t);
line[] operator ^^(line l1, line l2);
line[] operator ^^(line l1, line[] l2);
line[] operator ^^(line[] l2, line l1);
@@ -2539,6 +2531,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);
@@ -2566,6 +2561,9 @@ 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);
@@ -2591,24 +2589,23 @@ 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);
-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);
+coordsys canonicalcartesiansystem(ellipse el);
+coordsys canonicalcartesiansystem(parabola p);
+coordsys canonicalcartesiansystem(hyperbola h);
+coordsys canonicalcartesiansystem(explicit conic co);
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);
+real[] intersect(path g, explicit pair p, real fuzz=<default>);
+real[] intersect(path g, explicit point P, real fuzz=<default>);
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>);
-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 circumcenter(point A, point B, point C);
+point circumcenter(triangle t);
+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);
@@ -2618,16 +2615,20 @@ abscissa nodabscissa(ellipse el, point M);
abscissa nodabscissa(parabola p, point M);
abscissa nodabscissa(conic co, point M);
abscissa nodabscissa(arc a, point M);
-point isogonal(side side, point M);
-line isogonal(vertex V, point M);
-triangle isogonal(triangle t, point M);
-transform xscale(real k, point M);
-point circumcenter(point A, point B, point C);
-point circumcenter(triangle t);
+side opposite(vertex V);
+vertex opposite(side side);
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);
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>);
@@ -2637,12 +2638,8 @@ 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);
-coordsys canonicalcartesiansystem(ellipse el);
-coordsys canonicalcartesiansystem(parabola p);
-coordsys canonicalcartesiansystem(hyperbola h);
-coordsys canonicalcartesiansystem(explicit conic co);
-real[] bangles(picture pic=<default>, parabola p);
-real[][] bangles(picture pic=<default>, hyperbola h);
+line vline(coordsys R=<default>);
+line vline;
triangle tangential(triangle t);
line[] tangents(circle c, point M);
line[] tangents(ellipse el, point M);
@@ -2696,6 +2693,7 @@ 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);
@@ -2725,7 +2723,6 @@ bool sameside(point M, point N, point O);
bool sameside(point M, point P, line l);
point[] sameside(point M, line l1, line l2);
path currentpolarconicroutine(conic co, real angle1, real angle2, int n, bool direction);
-bool between(point M, point O, point N);
int ellipsenodesnumber(real a, real b);
int ellipsenodesnumber(real a, real b, real angle1, real angle2, bool dir);
path NoModifier(path);
@@ -2733,6 +2730,8 @@ 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);
@@ -2742,13 +2741,13 @@ coordsys coordsys(conic co);
coordsys coordsys(ellipse el);
line Oy(coordsys R=<default>);
line Oy;
+real centerToFocus(ellipse el, real a);
void dot(picture pic=<default>, Label L, explicit point Z, align align=<default>, string format=<default>, pen p=<default>);
real dot(point A, point B);
real dot(point A, explicit pair B);
real dot(explicit pair A, point B);
void dot(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>);
void dot(picture pic=<default>, triangle t, pen p=<default>);
-real centerToFocus(ellipse el, real a);
line parallel(point M, line l);
line parallel(point M, explicit vector dir);
line parallel(point M, explicit pair dir);
@@ -2816,12 +2815,13 @@ real exradius(side side);
circle excircle(point A, point B, point C);
circle excircle(side side);
int[] numarray;
-line altitude(vertex V);
-line altitude(side side);
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,10 +2856,10 @@ 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>);
-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>);
void YZero(picture, axisT)(bool extend=<default>);
void YZero(picture, axisT);
void YEquals(picture, axisT)(real y, bool extend=<default>);
@@ -2874,7 +2874,8 @@ 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 OmitTickInterval(tickvalues)(real a, real b);
+tickvalues OmitTick(tickvalues)(... real[] x);
+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>);
void Ticks(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>);
@@ -2883,7 +2884,7 @@ 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 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 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);
@@ -2898,6 +2899,10 @@ 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 OmitTickInterval(tickvalues)(real a, real b);
+void BottomTop(picture, axisT)(bool extend=<default>);
+void BottomTop(picture, axisT);
+int Value;
tickvalues NoZero(tickvalues);
autoscaleT defaultS;
real ScaleY(picture pic=<default>, real y);
@@ -2910,23 +2915,21 @@ 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 XZero(picture, axisT)(bool extend=<default>);
-void XZero(picture, axisT);
+tickvalues None(tickvalues v);
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 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 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>);
real ytrans(transform t, real y);
string LogFormat(real)(int base);
string LogFormat(real);
-tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b);
void checkconditionlength(int x, int y);
-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;
+pair zero(real);
+void label(picture pic, Label L, pair z, real x, align align, string format, pen p);
scaleT Logarithmic;
string NoZeroFormat(real);
string trailingzero;
@@ -2941,31 +2944,27 @@ ticklocate operator init();
locateT operator init();
tickvalues operator init();
axisT operator init();
-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>);
real ScaleX(picture pic=<default>, real x);
-pair tickMax(picture pic);
-real xtrans(transform t, real x);
+scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<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>, 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);
-tickvalues None(tickvalues v);
+string baselinetemplate;
real maxlength(pair a, pair b, int nx, int ny);
-scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<default>);
+void XZero(picture, axisT)(bool extend=<default>);
+void XZero(picture, axisT);
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>);
scaleT Log;
scaleT Log(bool automin=<default>, bool automax=<default>);
+real xtrans(transform t, real x);
string signedtrailingzero;
-string baselinetemplate;
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>);
-int Value;
-void BottomTop(picture, axisT)(bool extend=<default>);
-void BottomTop(picture, axisT);
+pair tickMax(picture pic);
void Bottom(picture, axisT)(bool extend=<default>);
void Bottom(picture, axisT);
-tickvalues OmitTick(tickvalues)(... real[] x);
void xtick(picture pic=<default>, explicit pair z, pair dir=<default>, real size=<default>, pen p=<default>);
void xtick(picture pic=<default>, real x, pair dir=<default>, real size=<default>, pen p=<default>);
void xtick(picture pic=<default>, Label L, explicit pair z, pair dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
@@ -2983,6 +2982,7 @@ void axis(picture pic=<default>, Label L=<default>, path g, path g2=<default>, p
string DefaultLogFormat(real)(int base);
string DefaultLogFormat(real);
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>);
@@ -2991,7 +2991,7 @@ void ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<def
void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
void ytick3(picture pic=<default>, real y, triple dir=<default>, real size=<default>, pen p=<default>);
void ytick3(picture pic=<default>, Label L, real y, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
-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 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>);
@@ -3015,39 +3015,40 @@ void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, ma
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>);
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 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 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 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>);
+triple tickMax3(picture pic);
void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
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>);
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 Straight(flatguide3)(... void(flatguide3)[]);
real xtrans(real[][] t, real x);
-real maxlength(triple f(pair z), pair a, pair b, int nu, int nv);
-locateT operator init();
triple Dir(real)(triple dir);
+locateT operator init();
+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 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 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>);
-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 label(picture pic, Label L, triple v, real x, align align, string format, pen p);
+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 Straight(flatguide3)(... void(flatguide3)[]);
-triple tickMax3(picture pic);
-real ytrans(real[][] t, real y);
+real maxlength(triple f(pair z), pair a, pair b, int nu, int nv);
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 XYEquals(picture, axisT)(real x, real y, triple align=<default>, bool extend=<default>);
@@ -3075,10 +3076,10 @@ void labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, in
void labelx(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
void labely(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend);
-triple Scale(picture pic=<default>, triple v);
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);
void limits(picture pic=<default>, triple min, triple max);
@@ -3093,17 +3094,16 @@ 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 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 axislabelfactor;
-bool NoCrop;
real ylabelwidth;
int ngraph;
+real axislabelfactor;
+bool NoCrop;
bool Crop;
guide hermite(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
real[] monotonic(real[] x, real[] y);
@@ -3115,8 +3115,8 @@ real[] Spline(real[] x, real[] y);
real[](real[], real[])[] Spline;
real[] notaknot(real[] x, real[] y);
real[] periodic(real[] x, real[] y);
-real[] natural(real[] x, real[] y);
void checklengths(int x, int y, string text=<default>);
+real[] natural(real[] x, real[] y);
void checkincreasing(real[] x);
position middle;
grid3(picture pic)[] YX_YZgrid(position posa=<default>, position posb=<default>);
@@ -3134,48 +3134,48 @@ 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 YZgrid(picture pic)(position pos=<default>);
-grid3 YZgrid(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>);
+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;
+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>);
+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>);
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>);
-position top;
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 top;
grid3 operator init();
ticksgridT operator init();
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>);
+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>);
grid3(picture pic)[] XY_XZgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] XY_XZgrid;
-grid3 XZgrid(picture pic)(position pos=<default>);
-grid3 XZgrid(picture pic);
grid3(picture pic)[] ZYZgrid(position pos=<default>);
grid3(picture pic)[] ZYZgrid;
+grid3 YZgrid(picture pic)(position pos=<default>);
+grid3 YZgrid(picture pic);
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>);
triple XY(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>);
-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>);
+grid3 XZgrid(picture pic)(position pos=<default>);
+grid3 XZgrid(picture pic);
triple YZ(picture pic);
triple Z(picture pic);
-grid3(picture pic)[] XZXgrid(position pos=<default>);
-grid3(picture pic)[] XZXgrid;
real fspline(real)(real[] x, real[] y, real[] splinetype(real[], real[])=<default>);
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>);
@@ -3204,7 +3204,6 @@ real LM_USERTOL;
real LM_DWARF;
real LM_MACHEP;
string[] lm_infmsg;
-real LM_SQRT_GIANT;
void lm_evaluate_default(real[] par, int m_dat, real[] fvec, lm_data_type data, lm_int_type info);
lm_data_type operator init();
lm_int_type operator init();
@@ -3217,6 +3216,7 @@ void lm_qrsolv(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, re
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>);
@@ -3236,11 +3236,11 @@ real crossmarksizefactor;
marker TildeIntervalMarker(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>);
real tildemarksize(pen p=<default>);
real tildemarksizefactor;
-real circlemarkradius(pen p=<default>);
real markangleradiusfactor;
real markanglespacefactor;
frame stickframe(int n=<default>, real size=<default>, pair space=<default>, real angle=<default>, pair offset=<default>, pen p=<default>);
frame stickframe;
+real circlemarkradius(pen p=<default>);
frame circlebarframe(int n=<default>, real barsize=<default>, real radius=<default>, real angle=<default>, pair offset=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
real stickmarksizefactor;
real stickmarksize(pen p=<default>);
@@ -3279,20 +3279,20 @@ real sec(real x);
real csc(real x);
int quadrant(real degrees);
pair exp(explicit pair z);
-real intersect(pair p, pair q, pair z);
-real intersect(triple P, triple Q, triple n, triple Z);
-pair unityroot(int n, int k=<default>);
string nopoint;
real cot(real x);
pair log(explicit pair z);
-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>);
void drawline(picture pic=<default>, pair P, pair Q, pen p=<default>);
int[][] segment(bool[] b);
-real acot(real x);
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);
+real[] zero(int n);
+real[][] zero(int n, int m);
+pair unityroot(int n, int k=<default>);
bool polygon(path p);
bool square(real[][] m);
bool increasing(real[] a, bool strict=<default>);
@@ -3320,12 +3320,12 @@ real[] Coeff;
real stepfactor;
real phi2(real x);
RKTableau RK5DP;
-real phi3(real x);
void report(real old, real h, real t);
RKTableau E_PC;
RKTableau E_RK2;
-RKTableau RK3;
RKTableau PC;
+RKTableau RK3;
+real phi3(real x);
coefficients operator init();
RKTableau operator init();
solution operator init();
@@ -3334,8 +3334,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 Euler;
pen[] cmyk(pen[] Palette);
pen[] BWRainbow2(int NColors=<default>);
pen[] Wheel(int NColors=<default>);
@@ -3355,16 +3355,16 @@ 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[] quantize(pen[] Palette, int n);
-pen[] Rainbow(int NColors=<default>);
pen[] Grayscale(int NColors=<default>);
pen[] BWRainbow(int NColors, bool two);
pen[] BWRainbow(int NColors=<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>);
+bounds Range(picture pic, real min, real max)(bool automin=<default>, real min=<default>, bool automax=<default>, real max=<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;
@@ -3374,39 +3374,50 @@ picture brick(real Hx=<default>, real Hy=<default>, pen p=<default>);
frame tiling(string name, picture pic, pair lb=<default>, pair rt=<default>);
void add(string name, picture pic, pair lb=<default>, pair rt=<default>);
void grestore(picture pic=<default>);
-pen textpen;
void gsave(picture pic=<default>);
+pen textpen;
pair align;
+rational[][] rationalidentity(int n);
rational sum(rational[] a);
bool rectangular(rational[][] m);
+string texstring(rational r);
bool operator >(rational r, rational s);
+bool[] operator >(rational[] r, rational s);
bool operator <(rational r, rational s);
+bool[] operator <(rational[] r, rational s);
rational operator /(rational r, rational s);
rational abs(rational r);
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);
rational operator cast(int p);
rational[] operator cast(int[] a);
rational[][] operator cast(int[][] a);
-void write(string s=<default>, rational r, void suffix(file)=<default>);
-void write(string s=<default>, rational[] a, void suffix(file)=<default>);
-void write(string s=<default>, rational[][] a, void suffix(file)=<default>);
+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);
rational operator -(rational r);
rational operator -(rational r, rational s);
+rational[] operator -(rational[] r);
rational max(rational a, rational b);
rational max(rational[] a);
real operator ecast(rational r);
rational operator *(rational r, rational s);
+void simplexWrite(rational[][] E, int[] Bindicies, int, int);
+void simplexPhase2();
+void simplexTableau(rational[][] E, int[] Bindices, int I=<default>, int J=<default>);
simplex operator init();
path roundedpath(path A, real R, real S=<default>);
simplex operator init();
@@ -3414,9 +3425,6 @@ void bibliography(string name);
void subitem(string s, pen p=<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 filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
-void code(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
-string cropcode(string s);
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>);
@@ -3431,13 +3439,14 @@ 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[] firstnode;
-pair currentposition;
pair titlepageposition;
pen foregroundcolor;
pen backgroundcolor;
@@ -3452,6 +3461,7 @@ real itemskip;
pen datepen;
pen institutionpen;
pen titlepagepen;
+pen authorpen;
pen codepen;
pair urlskip;
transform tinv;
@@ -3464,43 +3474,44 @@ void indexedfigure(string prefix, int first, int last, string options=<default>,
pen titlepen;
string bulletcolor(string color);
real minipagemargin;
-void item(string s, pen p=<default>, bool step=<default>);
void incrementposition(pair z);
void newslide(bool stepping=<default>);
void center(string s, pen p=<default>);
real titleskip;
-void equations(string s, pen p=<default>);
+pair currentposition;
bool stepping;
pen steppagenumberpen;
-void currentexitfunction();
+void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
+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>);
+void currentexitfunction();
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>);
-pen authorpen;
bool firststep;
bool landscape;
-void nextpage(pen p=<default>);
void normalvideo();
real codeskip;
-bool itemstep;
real figureborder;
string bullet;
+bool itemstep;
+void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>);
pen pagenumberpen;
int[] lastnode;
string texcolor(pen p);
-int page;
+void equations(string s, pen p=<default>);
void usersetting();
real aboveequationskip;
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>);
pair pagenumberalign;
bool havepagenumber;
@@ -3529,6 +3540,7 @@ path3 bisector(path3 edgecycle, int[] savevertices);
triple projecttospan(triple toproject, triple v1, triple v2, real mincoeff=<default>);
int YHIGH;
int XHIGH;
+int NULL_VERTEX;
patch trianglewithnormals(path3 external, triple n1, triple n2, triple n3);
patch patchwithnormals(path3 external, triple[] u0normals, triple[] u1normals, triple[] v0normals, triple[] v1normals);
patch patchwithnormals(path3 external, triple normalat(triple));
@@ -3536,8 +3548,9 @@ real(real)[] bernstein;
real B23(real t);
real B13(real t);
real B03(real t);
-evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>);
+real B33(real t);
bool operator ==(edge a, edge b);
+int YLOW;
pathwithnormals_settings operator init();
intset operator init();
int_to_intset operator init();
@@ -3545,20 +3558,18 @@ edge operator init();
positionedvector operator init();
evaluatedpoint operator init();
gridwithzeros operator init();
+int ZLOW;
string operator cast(edge e);
string operator cast(edge[] edges);
string operator cast(positionedvector vv);
triple operator cast(evaluatedpoint p);
-real B33(real t);
-int NULL_VERTEX;
-int ZLOW;
-int YLOW;
real[] projecttospan_findcoeffs(triple toproject, triple v1, triple v2, bool warn=<default>);
int ZHIGH;
real angledegrees(triple a, triple b);
path3 pathbetween(positionedvector v1, positionedvector v2);
path3 pathbetween(path3 edgecycle, int vertex1, int vertex2);
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>);
@@ -3569,8 +3580,8 @@ revolution sphere(triple c=<default>, real r, int n=<default>);
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>);
skeleton operator init();
revolution operator init();
-real[] tangent(path p, path q, bool side);
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();
@@ -3581,45 +3592,44 @@ 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;
-int bins(real[] data, int max=<default>);
real rms(real[] A);
-pair Gaussrandpair();
real kurtosisexcess(real[] A);
-real Gaussian(real x, real sigma);
-real Gaussian(real x);
-linefit operator init();
real skewness(real[] A);
path topbox(pair a, pair b);
+linefit operator init();
+int bins(real[] data, int max=<default>);
path halfbox(pair a, pair b);
+pair Gaussrandpair();
real mean(real[] A);
-real stdev(real[] A);
-Relation r4a;
picture tableau(frame[] cards, bool number=<default>);
-Component wye;
+Braid apply(Relation r, Braid b, int step, int place);
Component phi;
Component bm;
real gapfactor;
real hwratio;
Component bp;
pair[] endpoints(guide[] a);
-Relation operator -(Relation r);
-pair max(pair[] z);
+pair min(pair[] z);
Relation r4b;
Component operator init();
Braid operator init();
Relation operator init();
Syzygy operator init();
-pair min(pair[] z);
-Braid apply(Relation r, Braid b, int step, int place);
+Relation r4a;
+Relation operator -(Relation r);
+pair max(pair[] z);
Relation r3;
+Component wye;
pen Gray;
pen Tan;
pen Brown;
-pen Sepia;
pen OliveGreen;
pen SeaGreen;
pen JungleGreen;
@@ -3629,14 +3639,12 @@ pen CadetBlue;
pen BlueViolet;
pen RoyalPurple;
pen Plum;
-pen DarkOrchid;
pen Thistle;
pen Lavender;
pen Fuchsia;
pen Rhodamine;
pen VioletRed;
pen CarnationPink;
-pen Salmon;
pen WildStrawberry;
pen RubineRed;
pen OrangeRed;
@@ -3650,36 +3658,39 @@ pen GreenYellow;
pen Peach;
pen SkyBlue;
pen Cerulean;
+pen YellowOrange;
pen White;
pen Yellow;
-pen YellowGreen;
pen PineGreen;
-pen Violet;
pen RedViolet;
pen Red;
pen Magenta;
pen Turquoise;
+pen MidnightBlue;
pen ProcessBlue;
-pen Orchid;
-pen YellowOrange;
+pen Violet;
pen Black;
pen Bittersweet;
pen ForestGreen;
+pen YellowGreen;
+pen Orchid;
pen Aquamarine;
pen RawSienna;
-pen Emerald;
+pen Maroon;
pen SpringGreen;
+pen DarkOrchid;
pen Periwinkle;
pen LimeGreen;
-pen MidnightBlue;
+pen Sepia;
pen Mulberry;
pen Cyan;
pen Blue;
-pen Maroon;
pen Orange;
+pen Emerald;
pen CornflowerBlue;
pen TealBlue;
pen RedOrange;
+pen Salmon;
pen RoyalBlue;
pen Apricot;
pen Purple;
@@ -3687,8 +3698,8 @@ pen Green;
int lookup(tree t, int key);
bool contains(tree t, int key);
tree operator init();
-void write(file out=<default>, tree t);
tree add(tree t, int key, int value);
+void write(file out=<default>, tree t);
tree newtree();
real trembleFrequency;
real trembleFuzz();
@@ -3697,27 +3708,29 @@ tremble operator init();
real trembleRandom;
real trembleAngle;
real degrees(rmf a, rmf b);
+surface tube(path3 g, coloredpath section, transform T(real)=<default>, real corner=<default>, real relstep=<default>);
path3 roundedpath(path3 A, real r);
int coloredNodes;
+coloredpath operator init();
coloredpath operator cast(path p);
coloredpath operator cast(guide p);
-coloredpath operator init();
-surface tube(path3 g, coloredpath section, transform T(real)=<default>, real corner=<default>, real relstep=<default>);
+real[] sample(path3 g, real r, real relstep=<default>);
surface surface(rmf[] R, real[] t, coloredpath cp, transform T(real), bool cyclic);
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 Salmon;
+pen SandyBrown;
pen RosyBrown;
pen PowderBlue;
pen Plum;
pen Pink;
-pen PeachPuff;
pen PaleVioletRed;
pen PaleTurquoise;
pen OrangeRed;
@@ -3727,14 +3740,13 @@ pen NavajoWhite;
pen Moccasin;
pen MistyRose;
pen MintCream;
-pen LightYellow;
pen LightSlateGray;
pen LightSkyBlue;
pen LightSalmon;
pen LightPink;
pen LightGreen;
-pen LemonChiffon;
pen LawnGreen;
+pen LavenderBlush;
pen Lavender;
pen Khaki;
pen HotPink;
@@ -3746,18 +3758,17 @@ pen IndianRed;
pen Goldenrod;
pen Fuchsia;
pen DimGray;
-pen DeepSkyBlue;
-pen Thistle;
pen DeepPink;
pen DarkTurquoise;
pen DarkSlateGray;
pen DarkSalmon;
-pen DarkOrchid;
pen DarkMagenta;
+pen Silver;
pen DarkGreen;
pen DarkGoldenrod;
pen DarkBlue;
pen Crimson;
+pen Cornsilk;
pen Coral;
pen PapayaWhip;
pen CadetBlue;
@@ -3767,19 +3778,16 @@ pen Brown;
pen BlueViolet;
pen Beige;
pen Azure;
-pen Aqua;
+pen LemonChiffon;
pen Indigo;
+pen Orchid;
pen OliveDrab;
pen DarkKhaki;
pen Peru;
-pen WhiteSmoke;
pen LightGoldenrodYellow;
pen DarkSeaGreen;
-pen MidnightBlue;
pen White;
pen Yellow;
-pen YellowGreen;
-pen Seashell;
pen LightCyan;
pen Ivory;
pen Red;
@@ -3787,64 +3795,67 @@ pen Magenta;
pen LightSeaGreen;
pen DarkViolet;
pen Turquoise;
+pen WhiteSmoke;
+pen LightSteelBlue;
pen AntiqueWhite;
-pen Orchid;
-pen Bisque;
+pen MidnightBlue;
pen DarkOliveGreen;
+pen Bisque;
+pen Violet;
+pen Lime;
pen PaleGreen;
-pen LightGrey;
+pen GhostWhite;
pen PaleGoldenrod;
-pen Wheat;
pen Black;
pen SlateBlue;
pen SkyBlue;
pen LightBlue;
pen ForestGreen;
+pen YellowGreen;
+pen LightGrey;
pen AliceBlue;
pen Aquamarine;
-pen MediumVioletRed;
-pen SandyBrown;
+pen Maroon;
+pen MediumSpringGreen;
pen SpringGreen;
+pen DarkOrchid;
pen FloralWhite;
pen Linen;
pen Olive;
pen BlanchedAlmond;
-pen MediumSpringGreen;
+pen DarkSlateBlue;
+pen SlateGray;
pen LimeGreen;
pen FireBrick;
pen Gold;
-pen Maroon;
-pen GhostWhite;
pen rgbint(int r, int g, int b);
pen Cyan;
pen Blue;
+pen Aqua;
pen Teal;
pen MediumBlue;
-pen Violet;
+pen DarkOrange;
+pen MediumVioletRed;
+pen PeachPuff;
pen Chartreuse;
-pen DarkSlateBlue;
-pen SlateGray;
-pen Lime;
pen Orange;
pen CornflowerBlue;
-pen Silver;
pen DarkGray;
pen MediumOrchid;
pen Chocolate;
-pen LavenderBlush;
pen MediumPurple;
-pen DarkOrange;
pen DodgerBlue;
pen DarkRed;
pen DarkCyan;
pen MediumSlateBlue;
pen MediumSeaGreen;
-pen SteelBlue;
pen RoyalBlue;
pen MediumAquamarine;
pen Purple;
+pen DeepSkyBlue;
pen MediumTurquoise;
-pen LightSteelBlue;
+pen LightYellow;
+pen Wheat;
pen Green;
pen Gainsboro;
-pen Cornsilk;
+pen Salmon;