summaryrefslogtreecommitdiff
path: root/graphics/asymptote/asy.list
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/asy.list')
-rw-r--r--graphics/asymptote/asy.list915
1 files changed, 441 insertions, 474 deletions
diff --git a/graphics/asymptote/asy.list b/graphics/asymptote/asy.list
index 9a33fd6443..096577c741 100644
--- a/graphics/asymptote/asy.list
+++ b/graphics/asymptote/asy.list
@@ -68,8 +68,8 @@ path3 subpath(path3 p, real a, real b);
bool isnan(real x);
string jobname(string name);
void print_random_addresses(int n=<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>);
+void attach(picture dest=<default>, frame src, pair position, pair align, 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);
pen darkcyan;
@@ -149,8 +149,8 @@ pen rgb(string s);
real inch;
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));
-bool ArcArrows(picture, path, pen, marginT(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));
pen currentpen;
pair precontrol(path p, int t);
pair precontrol(path p, real t);
@@ -246,9 +246,8 @@ pair min(frame f);
pair min(explicit path p);
pair min(path[] p);
triple min(path3 p);
-real min(... real[] a);
-real min(real m, scaling s, coord[] c);
pair min(picture pic, bool user=<default>);
+real min(... real[] a);
real min(real m, scaling s, coord[] c);
int min(... int[] a);
filltype RadialShade(pen penc, pen penr);
@@ -256,22 +255,21 @@ 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(marker[] a, marker key, bool less(marker, marker));
int search(real[] a, real key, bool less(real, real));
int search(guide[] a, guide key, bool less(guide, guide));
-int search(picture[] a, picture key, bool less(picture, picture));
+int search(marker[] a, marker key, bool less(marker, marker));
int search(pair[] a, pair key, bool less(pair, pair));
-int search(object[] a, object key, bool less(object, object));
+int search(picture[] a, picture key, bool less(picture, picture));
int search(frame[] a, frame key, bool less(frame, frame));
-int search(Label[] a, Label key, bool less(Label, Label));
+int search(coord[] a, coord key, bool less(coord, coord));
+int search(object[] a, object key, bool less(object, object));
int search(int[] a, int key, bool less(int, int));
-int search(Legend[] a, Legend key, bool less(Legend, Legend));
int search(bool3[] a, bool3 key, bool less(bool3, bool3));
-int search(coord[] a, coord key, bool less(coord, coord));
+int search(Label[] a, Label key, bool less(Label, Label));
+int search(Legend[] a, Legend key, bool less(Legend, Legend));
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(coord[] a, coord key, bool less(coord, coord));
int search(bool[] a, bool key, bool less(bool, bool));
int search(triple[] a, triple key, bool less(triple, triple));
filltype RadialShadeDraw(real xmargin=<default>, real ymargin=<default>, pen penc, pen penr, pen drawpen=<default>);
@@ -289,13 +287,13 @@ pen opacity(real opacity=<default>, string blend=<default>);
real opacity(pen p);
real[] solve(real[][] a, real[] b, bool warn=<default>);
real[][] solve(real[][] a, real[][] b, bool warn=<default>);
-void DOSendl(file file);
int rename(string from, string to);
+void DOSendl(file file);
string debugger(string file, int line, int column, code s=<default>);
string getc(file f);
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 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 shipout3(string prefix, frame f, string format=<default>, real width, real height, real angle, real zoom, triple m, triple m, pair shift, pair margin, real[][] t, real[] background, triple[] lights, real[][] diffuse, real[][] specular, bool view=<default>);
void shipout3(string prefix, frame f, string format=<default>);
string getstring(string name=<default>, string default=<default>, string prompt=<default>, bool store=<default>);
@@ -348,19 +346,18 @@ 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);
int max(... int[] a);
+pair max(picture pic, bool user=<default>);
real max(... real[] a);
-real max(real M, scaling s, coord[] c);
-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>);
-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 Label(Label L, explicit position position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(explicit pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
Label Label(string s=<default>, string size=<default>, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
+Label Label;
+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>);
+Label Label(Label L, pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>);
string font(pen p=<default>);
pen font(string name, string options=<default>);
pen font(string encoding, string family, string series, string shape);
@@ -395,19 +392,19 @@ filltype NoFill;
real colatitude(triple v, bool warn=<default>);
void drawDisk(frame f, real[][] t, pen[] p, real opacity, real shininess, real metallic, real fresnel0);
void label(frame f, string s, string size, transform t, pair position, pair align, pen p);
-void label(picture pic=<default>, Label L, explicit guide g, align align=<default>, pen p=<default>, filltype filltype=<default>);
-void label(picture pic=<default>, Label L, explicit path g, align align=<default>, pen p=<default>, filltype filltype=<default>);
void label(picture pic=<default>, Label L, align align=<default>, pen p=<default>, filltype filltype=<default>);
void label(pair origin, picture pic=<default>, Label L, align align=<default>, pen p=<default>, filltype filltype=<default>);
void label(frame f, Label L, pair position, align align=<default>, pen p=<default>, filltype filltype=<default>);
void label(picture pic=<default>, Label L, pair position, align align=<default>, pen p=<default>, filltype filltype=<default>);
void label(frame f, Label L, align align=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label L, explicit guide g, align align=<default>, pen p=<default>, filltype filltype=<default>);
+void label(picture pic=<default>, Label L, explicit path g, align align=<default>, pen p=<default>, filltype filltype=<default>);
real fabs(real x);
real[] fabs(real[] a);
bool labels(frame f);
light light(pen diffuse=<default>, pen specular=<default>, pen background=<default>, real x, real y, real z);
-light light(explicit light light);
light light(pen diffuse=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default> ... triple[] position);
+light light(explicit light light);
light light(pen[] diffuse, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, triple[] position);
real remainder(real x, real y);
int byte(real x);
@@ -433,11 +430,11 @@ real erf(real x);
void saveline(string name, string value, bool store=<default>);
pen fuchsia;
filltype filltype(int type=<default>, pen fillpen=<default>, pen drawpen=<default>, void fill2(frame f, path[] g, pen fillpen));
-frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>);
-pen Bookman(string series=<default>, string shape=<default>);
+path box(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>);
-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 Bookman(string series=<default>, string shape=<default>);
void seekeof(file f);
path unitcircle;
pair[] conj(pair[] a);
@@ -472,6 +469,7 @@ void deconstruct(picture pic=<default>);
int sgn(real x);
node node(void d(frame f, transform t, transform T, pair lb, pair rt), string key=<default>);
pair minAfterTransform(transform t, path[] p);
+void fillbox(frame dest, path g, pen p=<default>, filltype filltype=<default>, bool above=<default>);
int seconds(string t=<default>, string format=<default>);
pen cyan;
pen grey;
@@ -486,8 +484,6 @@ real arcarrowfactor;
real mm;
real arcarrowsize(pen p=<default>);
real calculateScaling(string dir, coord[] coords, real size, bool warn=<default>);
-real calculateScaling(string dir, coord[] coords, real size, bool warn=<default>);
-real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>);
real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>);
triple gettriple(string name=<default>, triple default=<default>, string prompt=<default>, bool store=<default>);
void drawpixel(frame f, triple v, pen p, real width=<default>);
@@ -514,10 +510,10 @@ pen rgba(real[] a);
real[] rgba(pen p);
string time(string format=<default>);
string time(int seconds, string format=<default>);
-int MoveQuiet;
void prepend(frame dest, frame src);
real pt;
settings settings;
+int MoveQuiet;
marginT EndMargin(path, pen);
pen nullpen;
side LeftSide;
@@ -528,10 +524,10 @@ triple[] copy(triple[] a, int depth=<default>);
bool[] copy(bool[] a, int depth=<default>);
real[][] copy(real[][] a, int depth=<default>);
pen[] copy(pen[] a, int depth=<default>);
-bool3[] copy(bool3[] a, int depth=<default>);
coord[] copy(coord[] a, int depth=<default>);
-Label[] copy(Label[] a, int depth=<default>);
-picture[] copy(picture[] a, int depth=<default>);
+object[] copy(object[] a, int depth=<default>);
+marker[] copy(marker[] a, int depth=<default>);
+Legend[] copy(Legend[] 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>);
@@ -540,10 +536,9 @@ int[] copy(int[] a, int depth=<default>);
string[][] copy(string[][] a, int depth=<default>);
frame[] copy(frame[] a, int depth=<default>);
pair[] copy(pair[] 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>);
+bool3[] copy(bool3[] a, int depth=<default>);
+Label[] copy(Label[] a, int depth=<default>);
+picture[] copy(picture[] a, int depth=<default>);
pair[][] copy(pair[][] a, int depth=<default>);
real[] abs(pair[] a);
real[] abs(triple[] a);
@@ -576,28 +571,27 @@ pen deepblue;
pen palered;
real[] map(real f(pair), pair[] a);
int[] map(int f(real), real[] a);
-Legend[] map(Legend f(Legend), Legend[] a);
-frame[] map(frame f(frame), frame[] a);
+bool3[] map(bool3 f(bool3), bool3[] a);
Label[] map(Label f(Label), Label[] a);
+frame[] map(frame f(frame), frame[] a);
+coord[] map(coord f(coord), coord[] a);
+object[] map(object f(object), object[] a);
pen[][] map(pen[] f(pen[]), pen[][] a);
triple[] map(triple f(triple), triple[] a);
pen[] map(pen f(pen), pen[] a);
-object[] map(object f(object), object[] a);
-pair[] map(pair f(pair), pair[] a);
picture[] map(picture f(picture), picture[] a);
-string[] map(string f(string), string[] a);
+pair[] map(pair f(pair), pair[] a);
marker[] map(marker f(marker), marker[] a);
+string[] map(string f(string), string[] a);
void()()[] map(void f()()(void()()), void()()[] a);
pair[][] map(pair[] f(pair[]), pair[][] a);
real[] map(real f(real), real[] a);
int[] map(int f(int), int[] a);
string[][] map(string[] f(string[]), string[][] a);
-coord[] map(coord f(coord), coord[] a);
bool[] map(bool f(bool), bool[] a);
path[] map(path f(path), path[] a);
real[][] map(real[] f(real[]), real[][] a);
-bool3[] map(bool3 f(bool3), bool3[] a);
-coord[] map(coord f(coord), coord[] a);
+Legend[] map(Legend f(Legend), Legend[] a);
guide[] map(guide f(guide), guide[] a);
path unstraighten(path p);
path3 unstraighten(path3 p);
@@ -612,10 +606,10 @@ pair minratio(triple[][] p, pair b);
pair minratio(path3 g);
int[] sequence(int n);
pen[][] sequence(pen[] f(int), int n);
-bool3[] sequence(bool3 f(int), int n);
coord[] sequence(coord f(int), int n);
-Label[] sequence(Label f(int), int n);
-picture[] sequence(picture f(int), int n);
+object[] sequence(object f(int), int n);
+marker[] sequence(marker f(int), int n);
+Legend[] sequence(Legend 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);
@@ -626,10 +620,9 @@ void()()[] sequence(void f()()(int), int n);
bool[] sequence(bool f(int), int n);
string[] sequence(string f(int), int n);
pair[][] sequence(pair[] 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);
+bool3[] sequence(bool3 f(int), int n);
+Label[] sequence(Label f(int), int n);
+picture[] sequence(picture f(int), int n);
real[][] sequence(real[] f(int), int n);
real[] sequence(real f(int), int n);
int[] sequence(int n, int m);
@@ -649,9 +642,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);
void clear(file f);
@@ -670,18 +663,18 @@ string downcase(string s);
pen mediumgrey;
transform transform(pen p);
string readline(string prompt=<default>, string name=<default>, bool tabcompletion=<default>);
+void beep();
+pair relpoint(path p, real l);
+pair[][] transpose(pair[][] a);
pen[][] transpose(pen[][] a);
string[][] transpose(string[][] a);
real[][] transpose(real[][] a);
-pair[][] transpose(pair[][] a);
-void beep();
-transformation transformation(real[][] modelview, real[][] projection);
-transformation transformation(real[][] modelview);
-pair relpoint(path p, real l);
pen overwrite(int n);
int overwrite(pen p=<default>);
pen linewidth(real x);
real linewidth(pen p=<default>);
+transformation transformation(real[][] modelview);
+transformation transformation(real[][] modelview, real[][] projection);
pair maxratio(frame f);
pair maxratio(triple[][] p, pair b);
pair maxratio(path3 g);
@@ -706,23 +699,23 @@ slice cut(path p, path knife, int n);
bool is3D(frame f);
bool is3D(string format=<default>);
void add(frame dest, frame src);
+void add(frame f, transform t=<default>, Label L);
+void add(picture pic=<default>, void d(frame f, transform t), bool exact=<default>);
+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(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>, void d(frame f, transform t), bool exact=<default>);
void add(picture pic=<default>, void d(frame f, real[][] t, picture pic, projection P), bool exact=<default>);
-void add(picture pic=<default>, void d(picture, real[][]), bool exact=<default>);
+void add(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(picture pic=<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(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(frame dest, frame src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-void add(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>);
-void add(picture pic=<default>, void d(picture, transform), bool exact=<default>);
-void add(frame f, transform t=<default>, Label L);
-void add(picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>);
+void add(picture pic=<default>, Label L);
plain plain;
void purge(int divisor=<default>);
int Round(real x);
@@ -738,32 +731,30 @@ filltype Draw;
void Draw(picture pic=<default>, explicit path[] g, pen p=<default>);
filltype Draw(real xmargin=<default>, real ymargin=<default>, pen p=<default>);
void tab(file file);
-plain_scaling plain_scaling;
-string file(string s);
plain_bounds plain_bounds;
+string file(string s);
string outprefix(string prefix=<default>);
-object object(Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
object object(frame f);
object object(Label L);
+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>);
file stdin;
void()()[] array(int n, void value()(), int depth=<default>);
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>);
-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>);
+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>);
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>);
path[] array(int n, path value, int depth=<default>);
frame[] array(int n, frame value, int depth=<default>);
pen[][] array(int n, pen[] value, int depth=<default>);
-bool3[] array(int n, bool3 value, int depth=<default>);
coord[] array(int n, coord value, int depth=<default>);
-Label[] array(int n, Label value, int depth=<default>);
-picture[] array(int n, picture value, int depth=<default>);
+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>);
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>);
@@ -778,8 +769,8 @@ int find(string s, string t, int pos=<default>);
position BeginPoint;
marginT BeginMargin(path, pen);
path buildcycle(... path[] p);
-bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
bool BeginArrow(picture, path, pen, marginT(path, pen));
+bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
marginT BeginPenMargin(path, pen);
int round(real x);
marginT BeginDotMargin(path, pen);
@@ -810,18 +801,18 @@ void draw(frame f, triple[][] p, triple center, bool straight, pen[] p, real opa
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 metallic, real fresnel0, pen[] colors);
void draw(frame f, triple[] v, int[][] vi, triple center=<default>, triple[] n, int[][] ni, pen[] p, real opacity, real shininess, real metallic, real fresnel0, pen[] c=<default>, int[][] ci=<default>, int interaction);
-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>);
void draw(picture pic=<default>, path[] g, pen fillrule=<default>, pen[] p);
-object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), pair position, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>);
+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>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<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, guide[] g, pen p=<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>);
+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>, 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>);
+void draw(frame f, guide[] g, pen p=<default>);
void draw(frame f, path g, pen p=<default>);
int mantissaBits;
real identity(real x);
@@ -886,18 +877,18 @@ void write(file file=<default>, string s=<default>, guide x, void suffix(file)=<
void write(file file=<default>, string s=<default>, pen x, void suffix(file)=<default> ... pen[]);
void write(file file, string s=<default>, explicit guide[] x, void suffix(file)=<default>);
void write(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(string s=<default>, explicit path[] x, void suffix(file)=<default>);
void write(file file, void suffix(file)=<default>);
void write(file file=<default>, string s=<default>, pen[] p);
void write(void suffix(file)=<default>);
-void write(file file, string s=<default>, bool3 b, void suffix(file)=<default>);
void write(file file, string s=<default>, explicit path[] x, void suffix(file)=<default>);
-void write(file file=<default>, Label L, void suffix(file)=<default>);
+void write(file file=<default>, align align, void suffix(file)=<default>);
void write(file file, string s=<default>, cputime c, string format=<default>, void suffix(file)=<default>);
void write(pairOrTriple a);
+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(string s=<default>, explicit guide[] x, void suffix(file)=<default>);
-void write(file file=<default>, align align, void suffix(file)=<default>);
+void write(file file=<default>, Label L, void suffix(file)=<default>);
void save()();
marginT EndPenMargin(path, pen);
pair NNE;
@@ -950,21 +941,20 @@ string blend(pen p);
arrowhead HookHead;
arrowhead HookHead(real dir=<default>, real barb=<default>);
real[] concat(... real[][]);
-marker[] concat(... marker[][]);
pair[] concat(... pair[][]);
-picture[] concat(... picture[][]);
+marker[] concat(... marker[][]);
pen[] concat(... pen[][]);
-object[] concat(... object[][]);
+picture[] concat(... picture[][]);
path[] concat(... path[][]);
-Label[] concat(... Label[][]);
+coord[] concat(... coord[][]);
+object[] concat(... object[][]);
int[] concat(... int[][]);
void()()[] concat(... void()()[][]);
-Legend[] concat(... Legend[][]);
-string[] concat(... string[][]);
bool3[] concat(... bool3[][]);
-coord[] concat(... coord[][]);
+Label[] concat(... Label[][]);
+string[] concat(... string[][]);
+Legend[] concat(... Legend[][]);
triple[] concat(... triple[][]);
-coord[] concat(... coord[][]);
frame[] concat(... frame[][]);
guide[] concat(... guide[][]);
bool[] concat(... bool[][]);
@@ -974,71 +964,66 @@ real[] log1p(real[] a);
real infinity;
bool alias(pair[][] a, pair[][] b);
bool alias(guide[] a, guide[] b);
-bool alias(bool3 a, bool3 b);
-bool alias(coord a, coord b);
-bool alias(scaling a, scaling b);
-bool alias(ScaleT a, ScaleT b);
-bool alias(side a, side b);
-bool alias(Label[] a, Label[] b);
-bool alias(cputime a, cputime b);
-bool alias(pair[] a, pair[] b);
-bool alias(hsv a, hsv b);
+bool alias(filltype a, filltype b);
bool alias(coord[] a, coord[] b);
-bool alias(projection a, projection b);
-bool alias(pairOrTriple a, pairOrTriple b);
-bool alias(object a, object b);
-bool alias(int[] a, int[] b);
-bool alias(string[][] a, string[][] b);
-bool alias(marginT a, marginT b);
-bool alias(bounds a, bounds b);
-bool alias(scaleT a, scaleT b);
-bool alias(arrowhead a, arrowhead b);
-bool alias(picture[] a, picture[] b);
-bool alias(real[][] a, real[][] b);
-bool alias(scaling a, scaling b);
-bool alias(coords2 a, coords2 b);
bool alias(Legend a, Legend b);
bool alias(position a, position b);
-bool alias(Legend[] a, Legend[] b);
-bool alias(realschur a, realschur b);
-bool alias(string[] a, string[] b);
-bool alias(frame[] a, frame[] b);
-bool alias(slice a, slice b);
-bool alias(simplex a, simplex b);
+bool alias(object[] a, object[] b);
+bool alias(schur a, schur b);
+bool alias(pair[] a, pair[] b);
+bool alias(scaling a, scaling b);
bool alias(light a, light b);
bool alias(picture a, picture b);
-bool alias(bool[] a, bool[] b);
-bool alias(void()()[] a, void()()[] b);
-bool alias(pen[][] a, pen[][] b);
-bool alias(coord a, coord b);
+bool alias(int[] a, int[] b);
+bool alias(string[][] a, string[][] b);
+bool alias(slice a, slice b);
bool alias(autoscaleT a, autoscaleT b);
bool alias(align a, align b);
-bool alias(object[] a, object[] b);
-bool alias(processtime a, processtime b);
-bool alias(path[] a, path[] b);
-bool alias(triple[] a, triple[] b);
+bool alias(marker[] a, marker[] 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(coord[] a, coord[] b);
-bool alias(coords2 a, coords2 b);
bool alias(freezableBounds a, freezableBounds b);
bool alias(transformation a, transformation b);
bool alias(node a, node b);
bool alias(Label a, Label b);
-bool alias(schur a, schur b);
-bool alias(real[] a, real[] b);
-bool alias(pen[] a, pen[] b);
-bool alias(filltype a, filltype b);
+bool alias(Label[] a, Label[] b);
+bool alias(processtime a, processtime b);
+bool alias(string[] a, string[] b);
+bool alias(frame[] a, frame[] b);
+bool alias(coords2 a, coords2 b);
bool alias(coords3 a, coords3 b);
bool alias(marker a, marker b);
-bool alias(marker[] a, marker[] 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(ScaleT a, ScaleT b);
+bool alias(side a, side b);
+bool alias(picture[] a, picture[] b);
+bool alias(realschur a, realschur b);
+bool alias(path[] a, path[] b);
+bool alias(triple[] a, triple[] b);
+bool alias(coord a, coord b);
+bool alias(projection a, projection b);
+bool alias(pairOrTriple a, pairOrTriple b);
+bool alias(object a, object b);
+bool alias(Legend[] a, Legend[] b);
+bool alias(real[] a, real[] b);
+bool alias(pen[] a, pen[] b);
+bool alias(hsv a, hsv b);
+bool alias(bounds a, bounds b);
+bool alias(scaleT a, scaleT b);
+bool alias(arrowhead a, arrowhead b);
real pi;
int getint(string name=<default>, int default=<default>, string prompt=<default>, bool store=<default>);
int bitreverse(int a, int bits);
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, pair min, pair max);
void postscript(picture pic=<default>, string s);
+void postscript(picture pic=<default>, string s, pair min, pair max);
transform slant(real s);
void breakpoint(code s=<default>);
void breakpoints();
@@ -1059,10 +1044,10 @@ real[] sort(real[] a);
real[][] sort(real[][] a);
string[] sort(string[] a);
string[][] sort(string[][] a);
-bool3[] sort(bool3[] a, bool less(bool3, bool3), bool stable=<default>);
coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
-Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>);
-picture[] sort(picture[] a, bool less(picture, picture), bool stable=<default>);
+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>);
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>);
@@ -1070,10 +1055,9 @@ pen[] sort(pen[] a, bool less(pen, pen), bool stable=<default>);
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>);
-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>);
+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>);
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>);
@@ -1091,11 +1075,11 @@ void latticeshade(picture pic=<default>, path[] g, bool stroke=<default>, pen fi
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));
+bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>);
void drawTube(frame f, triple[] g, real width, pen[] p, real opacity, real shininess, real metallic, real fresnel0, triple min, triple max, bool core=<default>);
-bool Arrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
bool Arrows(picture, path, pen, marginT(path, pen));
+bool Arrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>);
int tell(file f);
pen Yellow;
pair up;
@@ -1121,9 +1105,9 @@ pen[] mean(pen[][] palette, real opacity(real[])=<default>);
string mktemp(string s);
void sleep(int seconds);
void drawstrokepath(picture pic=<default>, path g, pen strokepen, pen p=<default>);
+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>);
-void unitsize(picture pic=<default>, real x, real y=<default>, real z=<default>);
picture arrow2(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>);
path unitsquare;
real arrowdir;
@@ -1169,9 +1153,6 @@ real radius(path3 p, real t);
real radius(triple z0, triple c0, triple c1, triple z1, real t);
transform scaleless(transform t);
void makedraw(frame f, path g, pen p, int depth=<default>);
-simplex simplex(real[] c, real[][] A, real[] b, bool phase1=<default>);
-simplex simplex(real[] c, real[][] A, int[] s, real[] b);
-simplex simplex;
real nan;
pair down;
path arc(pair c, real r, real angle1, real angle2);
@@ -1249,9 +1230,9 @@ pair SW;
void flush(file f);
pen thin();
pen palecyan;
+void warning(string s, string t, bool position=<default>);
frame legend(picture pic=<default>, int perline=<default>, real xmargin=<default>, real ymargin=<default>, real linelength=<default>, real hskip=<default>, real vskip=<default>, real maxwidth=<default>, real maxheight=<default>, bool hstretch=<default>, bool vstretch=<default>, pen p=<default>);
picture legend(Legend[] Legend, int perline=<default>, real linelength, real hskip, real vskip, real maxwidth=<default>, real maxheight=<default>, bool hstretch=<default>, bool vstretch=<default>);
-void warning(string s, string t, bool position=<default>);
real Degrees(real radians);
picture legenditem(Legend legenditem, real linelength);
real legendhskip;
@@ -1298,8 +1279,8 @@ triple operator +(triple a);
triple[] operator +(triple[] a);
pen operator +(pen a, pen b);
transform operator +(transform a, transform b);
-marginT operator +(path, pen)(marginT ma(path, pen), marginT mb(path, pen));
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);
@@ -1376,15 +1357,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);
bounds operator *(transform t, bounds b);
side operator *(real x, side s);
Label operator *(real[][] t, Label L);
-picture operator *(transform t, picture orig);
path[] operator *(transform t, explicit path[] p);
-object operator *(transform t, explicit object F);
+picture operator *(transform t, picture orig);
pair[] operator *(transform t, pair[] z);
+object operator *(transform t, explicit object F);
Label operator *(transform t, Label L);
-picture operator *(real[][] t, picture orig);
bool operator init();
int operator init();
real operator init();
@@ -1398,41 +1379,37 @@ path3 operator init();
pen operator init();
frame operator init();
file operator init();
-bool3 operator init();
-coord operator init();
-scaling operator init();
+filltype operator init();
+Legend operator init();
+position operator init();
+schur operator init();
+marginT operator init();
ScaleT operator init();
side operator init();
-cputime operator init();
-coord operator init();
+realschur operator init();
+slice operator init();
autoscaleT operator init();
align operator init();
-processtime operator init();
-marginT operator init();
+cputime operator init();
+hsv operator init();
bounds operator init();
scaleT operator init();
arrowhead operator init();
-filltype operator init();
+coords2 operator init();
coords3 operator init();
marker operator init();
-slice operator init();
-simplex operator init();
+scaling operator init();
light operator init();
picture operator init();
-hsv operator init();
+coord operator init();
projection operator init();
pairOrTriple operator init();
object operator init();
-coords2 operator init();
+bool3 operator init();
transformation operator init();
node operator init();
Label operator init();
-schur operator init();
-scaling operator init();
-coords2 operator init();
-Legend operator init();
-position operator init();
-realschur operator init();
+processtime operator init();
real operator cast(int);
pair operator cast(int);
pair operator cast(real);
@@ -1475,32 +1452,32 @@ guide operator cast(cycleToken tok);
guide operator cast(curlSpecifier spec);
guide operator cast(tensionSpecifier t);
guide[] operator cast(path[] g);
+position operator cast(int x);
+hsv operator cast(pen p);
+object operator cast(string s);
bool3[] operator cast(bool[] b);
position operator cast(real x);
Label operator cast(string s);
pair operator cast(pairOrTriple a);
triple operator cast(pairOrTriple a);
-pen operator cast(hsv hsv);
frame operator cast(object F);
-align operator cast(side side);
-hsv operator cast(pen p);
-position operator cast(pair x);
guide[] operator cast(pair[] z);
path[] operator cast(guide[] g);
+bool operator cast(bool3 b);
+position operator cast(pair x);
+path[] operator cast(guide g);
+align operator cast(side side);
pair operator cast(position P);
object operator cast(frame f);
-path[] operator cast(guide g);
-object operator cast(Label L);
-Label operator cast(object F);
-bool operator cast(bool3 b);
-bool[] operator cast(bool3[] b);
-align operator cast(pair dir);
path[] operator cast(pair[] z);
path[] operator cast(path p);
-align operator cast(triple dir);
+bool[] operator cast(bool3[] b);
+align operator cast(pair dir);
+object operator cast(Label L);
+Label operator cast(object F);
bool3 operator cast(bool b);
-position operator cast(int x);
-object operator cast(string s);
+align operator cast(triple dir);
+pen operator cast(hsv hsv);
pen deepred;
bool error(file f);
string operator ecast(int);
@@ -1604,44 +1581,40 @@ bool operator ==(transform a, transform b);
bool operator ==(file a, file b);
bool operator ==(path a, path b);
bool operator ==(path3 a, path3 b);
-bool operator ==(bool a, bool3 b);
-bool operator ==(scaling a, scaling b);
-bool operator ==(coords2 a, coords2 b);
-bool operator ==(Legend a, Legend b);
-bool operator ==(position a, position b);
-bool operator ==(realschur a, realschur b);
-bool operator ==(bool3 a, bool b);
-bool operator ==(slice a, slice b);
-bool operator ==(simplex a, simplex b);
-bool operator ==(light a, light b);
-bool operator ==(picture a, picture b);
-bool operator ==(coord a, coord b);
-bool operator ==(autoscaleT a, autoscaleT b);
-bool operator ==(align a, align b);
-bool operator ==(processtime a, processtime b);
-bool operator ==(coords2 a, coords2 b);
+bool operator ==(bool3 a, bool3 b);
bool operator ==(freezableBounds a, freezableBounds b);
bool operator ==(transformation a, transformation b);
bool operator ==(node a, node b);
bool operator ==(Label a, Label b);
-bool operator ==(schur a, schur b);
-bool operator ==(filltype a, filltype b);
+bool operator ==(processtime a, processtime b);
+bool operator ==(coords2 a, coords2 b);
bool operator ==(coords3 a, coords3 b);
bool operator ==(marker a, marker b);
-bool operator ==(bool3 a, bool3 b);
-bool operator ==(coord a, coord b);
-bool operator ==(scaling a, scaling b);
+bool operator ==(marginT a, marginT b);
bool operator ==(ScaleT a, ScaleT b);
bool operator ==(side a, side b);
-bool operator ==(cputime a, cputime b);
-bool operator ==(hsv a, hsv b);
+bool operator ==(realschur a, realschur b);
+bool operator ==(coord a, coord b);
bool operator ==(projection a, projection b);
bool operator ==(pairOrTriple a, pairOrTriple b);
bool operator ==(object a, object b);
-bool operator ==(marginT a, marginT b);
+bool operator ==(hsv a, hsv b);
bool operator ==(bounds a, bounds b);
bool operator ==(scaleT a, scaleT b);
bool operator ==(arrowhead a, arrowhead b);
+bool operator ==(bool3 a, bool b);
+bool operator ==(filltype a, filltype b);
+bool operator ==(Legend a, Legend b);
+bool operator ==(position a, position b);
+bool operator ==(schur a, schur b);
+bool operator ==(scaling a, scaling b);
+bool operator ==(light a, light b);
+bool operator ==(picture a, picture b);
+bool operator ==(bool a, bool3 b);
+bool operator ==(slice a, slice b);
+bool operator ==(autoscaleT a, autoscaleT b);
+bool operator ==(align a, align b);
+bool operator ==(cputime a, cputime b);
bool operator !=(bool a, bool b);
bool[] operator !=(bool a, bool[] b);
bool[] operator !=(bool[] a, bool b);
@@ -1678,44 +1651,40 @@ bool operator !=(transform a, transform b);
bool operator !=(file a, file b);
bool operator !=(path a, path b);
bool operator !=(path3 a, path3 b);
-bool operator !=(bool a, bool3 b);
-bool operator !=(scaling a, scaling b);
-bool operator !=(coords2 a, coords2 b);
-bool operator !=(Legend a, Legend b);
-bool operator !=(position a, position b);
-bool operator !=(realschur a, realschur b);
-bool operator !=(bool3 a, bool b);
-bool operator !=(slice a, slice b);
-bool operator !=(simplex a, simplex b);
-bool operator !=(light a, light b);
-bool operator !=(picture a, picture b);
-bool operator !=(coord a, coord b);
-bool operator !=(autoscaleT a, autoscaleT b);
-bool operator !=(align a, align b);
-bool operator !=(processtime a, processtime b);
-bool operator !=(coords2 a, coords2 b);
+bool operator !=(bool3 a, bool3 b);
bool operator !=(freezableBounds a, freezableBounds b);
bool operator !=(transformation a, transformation b);
bool operator !=(node a, node b);
bool operator !=(Label a, Label b);
-bool operator !=(schur a, schur b);
-bool operator !=(filltype a, filltype b);
+bool operator !=(processtime a, processtime b);
+bool operator !=(coords2 a, coords2 b);
bool operator !=(coords3 a, coords3 b);
bool operator !=(marker a, marker b);
-bool operator !=(bool3 a, bool3 b);
-bool operator !=(coord a, coord b);
-bool operator !=(scaling a, scaling b);
+bool operator !=(marginT a, marginT b);
bool operator !=(ScaleT a, ScaleT b);
bool operator !=(side a, side b);
-bool operator !=(cputime a, cputime b);
-bool operator !=(hsv a, hsv b);
+bool operator !=(realschur a, realschur b);
+bool operator !=(coord a, coord b);
bool operator !=(projection a, projection b);
bool operator !=(pairOrTriple a, pairOrTriple b);
bool operator !=(object a, object b);
-bool operator !=(marginT a, marginT b);
+bool operator !=(hsv a, hsv b);
bool operator !=(bounds a, bounds b);
bool operator !=(scaleT a, scaleT b);
bool operator !=(arrowhead a, arrowhead b);
+bool operator !=(bool3 a, bool b);
+bool operator !=(filltype a, filltype b);
+bool operator !=(Legend a, Legend b);
+bool operator !=(position a, position b);
+bool operator !=(schur a, schur b);
+bool operator !=(scaling a, scaling b);
+bool operator !=(light a, light b);
+bool operator !=(picture a, picture b);
+bool operator !=(bool a, bool3 b);
+bool operator !=(slice a, slice b);
+bool operator !=(autoscaleT a, autoscaleT b);
+bool operator !=(align a, align b);
+bool operator !=(cputime a, cputime b);
bool operator <(int a, int b);
bool[] operator <(int a, int[] b);
bool[] operator <(int[] a, int b);
@@ -1741,7 +1710,6 @@ bool[] operator <=(string a, string[] b);
bool[] operator <=(string[] a, string b);
bool[] operator <=(string[] a, string[] b);
bool operator <=(coord a, coord b);
-bool operator <=(coord a, coord b);
void srand(int seed);
bool operator >(int a, int b);
bool[] operator >(int a, int[] b);
@@ -1768,7 +1736,6 @@ bool[] operator >=(string a, string[] b);
bool[] operator >=(string[] a, string b);
bool[] operator >=(string[] a, string[] b);
bool operator >=(coord a, coord b);
-bool operator >=(coord a, coord b);
filltype UnFill(real xmargin=<default>, real ymargin=<default>);
filltype UnFill;
real degrees(pair z, bool warn=<default>);
@@ -1794,8 +1761,8 @@ guide operator ..(... guide[])(tensionSpecifier t);
path polygon(int n);
guide operator --(... guide[]);
guide operator ---(... guide[]);
-void()()[] saveFunctions;
pen NewCenturySchoolBook(string series=<default>, string shape=<default>);
+void()()[] saveFunctions;
bool operator &(bool a, bool b);
bool[] operator &(bool a, bool[] b);
bool[] operator &(bool[] a, bool b);
@@ -1862,15 +1829,15 @@ real dot(real[] a, real[] b);
pair dot(pair[] a, pair[] b);
real dot(explicit pair z, explicit pair w);
real dot(triple u, triple v);
-void dot(picture pic=<default>, Label L, pair z, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
-void dot(picture pic=<default>, Label[] L=<default>, explicit path g, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
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>);
-marker dot;
void dot(picture pic=<default>, Label L, pen p=<default>, filltype filltype=<default>);
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>);
+void dot(picture pic=<default>, Label[] L=<default>, explicit path g, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>);
void list(string s, bool imports=<default>);
pair NNW;
string phantom(string s);
@@ -1903,13 +1870,12 @@ void _draw(frame f, path g, pen p);
void _draw(frame f, path3 g, triple center=<default>, pen[] p, real opacity, real shininess, real metallic, real fresnel0, int interaction=<default>);
void _draw(picture pic, path g, pen p, marginT margin(path, pen));
frame align(frame f, pair align);
-path[] align(path[] g, transform t=<default>, pair position, pair align, pen p=<default>);
object align(object F, pair align);
+path[] align(path[] g, transform t=<default>, pair position, pair align, pen p=<default>);
real unitrand();
string[] history(string name, int n=<default>);
string[] history(int n=<default>);
coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
-coord[] maxcoords(coord[] in, bool operator <=(coord, coord));
pen AvantGarde(string series=<default>, string shape=<default>);
frame enclose(string prefix=<default>, object F, string format=<default>);
int count;
@@ -1951,8 +1917,8 @@ void abort(string s=<default>);
bool Aspect;
string hex(pen p);
int hex(string s);
-path brace(pair a, pair b, real amplitude=<default>);
void deactivatequote(picture pic=<default>);
+path brace(pair a, pair b, real amplitude=<default>);
string format(string format, int x, string locale=<default>);
string format(string format, bool forcemath=<default>, string separator, real x, string locale=<default>);
string format(string format=<default>, bool forcemath=<default>, real x, string locale=<default>);
@@ -1981,16 +1947,16 @@ real braceinnerangle;
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, pair min, pair max);
void tex(picture pic=<default>, string s);
+void tex(picture pic=<default>, string s, pair min, pair max);
real bracedefaultratio;
bool prconly(string format=<default>);
pen Black;
triple size3(frame f);
void size3(picture pic=<default>, real x, real y=<default>, real z=<default>, bool keepAspect=<default>);
bool eof(file f);
-frame dotframe(pen p=<default>, filltype filltype=<default>);
frame dotframe;
+frame dotframe(pen p=<default>, filltype filltype=<default>);
real realMax;
pair NE;
real realMin;
@@ -2007,7 +1973,6 @@ pair[][] fft(pair[][] a, int sign=<default>);
pair[][][] fft(pair[][][] a, int sign=<default>);
pair SE;
pen nobasealign;
-sCAD operator init();
real animationdelay;
animation operator init();
frame NoBox(frame f);
@@ -2054,6 +2019,16 @@ bsp operator init();
picture operator cast(face f);
face operator cast(path3 p);
void add(picture pic=<default>, face[] faces, projection P=<default>);
+sCAD operator init();
+surface surface(vertex[][] g);
+weighted operator init();
+bucket operator init();
+vertex operator init();
+object operator init();
+vertex[][] contour3(triple[][][] v, real[][][] f, real[][][] midpoint=<default>, projection P=<default>);
+vertex[][] contour3(real[][][] f, real[][][] midpoint=<default>, triple a, triple b, projection P=<default>);
+vertex[][] contour3(real f(real, real, real), triple a, triple b, int nx=<default>, int ny=<default>, int nz=<default>, projection P=<default>);
+real eps;
segment case1(pair p0, pair p1, int edge);
void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen[] p);
void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen p=<default>);
@@ -2073,15 +2048,6 @@ guide[][] contour(picture pic=<default>, real f(real, real), pair a, pair b, rea
guide[][] contour(picture pic=<default>, real f(pair), pair a, pair b, real[] c, int nx=<default>, int ny=<default>, guide join(... guide[])=<default>);
guide[][] contour(picture pic=<default>, pair[] z, real[] f, real[] c, guide join(... guide[])=<default>);
real eps;
-surface surface(vertex[][] g);
-weighted operator init();
-bucket operator init();
-vertex operator init();
-object operator init();
-vertex[][] contour3(triple[][][] v, real[][][] f, real[][][] midpoint=<default>, projection P=<default>);
-vertex[][] contour3(real[][][] f, real[][][] midpoint=<default>, triple a, triple b, projection P=<default>);
-vertex[][] contour3(real f(real, real, real), triple a, triple b, int nx=<default>, int ny=<default>, int nz=<default>, projection P=<default>);
-real eps;
void draw(TreeNode root, pair pos);
real treeNodeStep;
void drawAll(TreeNode node, frame f);
@@ -2108,12 +2074,12 @@ void drawVertexX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<de
void drawVertexBox(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>);
void drawVertexBoxO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
void drawVertexOX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
-void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
void drawVertexTriangle(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>);
void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
-void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
+void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>);
pen doublelinepen;
real doublelinespacing;
+void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle);
void texshipout(string stem, picture pic=<default>, bool xalign=<default>);
bool XYAlign;
void drawDoubleLine(picture pic=<default>, path p, pen fgpen=<default>, real dlspacing=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>);
@@ -2141,8 +2107,8 @@ pen fermionpen;
pen bigvertexpen;
real bigvertexsize;
real minvertexangle;
-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>);
pen ghostpen;
+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 fmdefaults();
real linemargin;
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>);
@@ -2187,6 +2153,12 @@ point circumcenter(point A, point B, point C);
point circumcenter(triangle t);
circle circumcircle(point A, point B, point C);
circle circumcircle(triangle t);
+line altitude(vertex V);
+line altitude(side side);
+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 point(coordsys R, pair p, real m=<default>);
point point(explicit pair p, real m);
point point(coordsys R, explicit point M, real m=<default>);
@@ -2217,13 +2189,7 @@ point point(explicit vertex V);
point point(trilinear tri);
point point(circle c, point M);
point point(circle c, explicit vector v);
-line altitude(vertex V);
-line altitude(side side);
bool finite(explicit point p);
-point isogonalconjugate(triangle t, point M);
-point isogonal(side side, point M);
-line isogonal(vertex V, point M);
-triangle isogonal(triangle t, point M);
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);
@@ -2284,8 +2250,8 @@ bool defined(point P);
string conictype(bqe bqe);
triangle antipedal(triangle t, point M);
void clipdraw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, real xmargin=<default>, real ymargin=<default>, Label legend=<default>, marker marker=<default>);
-int conicnodesfactor;
real perpfactor;
+int conicnodesfactor;
int conicnodesnumber(conic co, real angle1, real angle2, bool dir=<default>);
line hline(coordsys R=<default>);
line hline;
@@ -2309,6 +2275,7 @@ point orthocenter(point A, point B, point C);
point orthocenter(triangle t);
line extend(line l);
point intersectionpoint(line l1, line l2);
+point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... 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);
@@ -2355,7 +2322,6 @@ point intouch(side side);
triangle intouch(triangle t);
real rf(real x, real y, real z);
bool concurrent(... line[] l);
-point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M);
real inradius(point A, point B, point C);
real inradius(triangle t);
pen addpenline;
@@ -2432,6 +2398,7 @@ int nodesystem;
bool collinear(vector u, vector v);
point centroid(point A, point B, point C);
point centroid(triangle t);
+bool between(point M, point O, point N);
int angularsystem;
path square(pair z1, pair z2);
void filldraw(picture pic=<default>, circle c, pen fillpen=<default>, pen drawpen=<default>);
@@ -2460,7 +2427,6 @@ vector changecoordsys(coordsys R, vector v);
line changecoordsys(coordsys R, line l);
bqe changecoordsys(coordsys R, bqe bqe);
conic changecoordsys(coordsys R, conic co);
-bool between(point M, point O, point N);
real angle(explicit point M, coordsys R=<default>, bool warn=<default>);
real angle(explicit vector v, coordsys R=<default>, bool warn=<default>);
real angle(line l, coordsys R=<default>);
@@ -2513,6 +2479,9 @@ line[] complementary(explicit segment s);
arc complementary(arc a);
point ppoint(arc a, real x);
path fromFocus(conic co, real angle1, real angle2, int n, bool direction);
+segment segment(point A, point B);
+segment segment(line l);
+segment segment(explicit side side);
bool sameside(point M, point N, point O);
bool sameside(point M, point P, line l);
point[] sameside(point M, line l1, line l2);
@@ -2747,9 +2716,6 @@ triangle triangle(line l1, line l2, line l3);
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>);
-segment segment(point A, point B);
-segment segment(line l);
-segment segment(explicit side side);
triangle triangleAbc(real alpha, real b, real c, real angle=<default>, point A=<default>);
triangle triangleabc(real a, real b, real c, real angle=<default>, point A=<default>);
triangle anticomplementary(triangle t);
@@ -2769,14 +2735,14 @@ real approximate(real t);
real[] approximate(real[] T);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit pair align=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, explicit line l1, explicit line l2, explicit vector align, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>);
+triangle cevian(triangle t, point P);
+point cevian(side side, point P);
+line cevian(vertex V, point P);
transform hprojection(line l, bool safe=<default>);
point conj(explicit point M);
vector conj(explicit vector u);
hyperbola conj(hyperbola h);
transform vprojection(line l, bool safe=<default>);
-triangle cevian(triangle t, point P);
-point cevian(side side, point P);
-line cevian(vertex V, point P);
parabola parabola(point F, line l);
parabola parabola(point F, point vertex);
parabola parabola(point F, real a, real angle);
@@ -2845,6 +2811,8 @@ string massformat(string format=<default>, string s, mass M);
int relativesystem;
void drawline(picture pic=<default>, triangle t, pen p=<default>);
void addMargins(picture pic=<default>, real lmargin=<default>, real bmargin=<default>, real rmargin=<default>, real tmargin=<default>, bool rigid=<default>, bool allObject=<default>);
+real[] bangles(picture pic=<default>, parabola p);
+real[][] bangles(picture pic=<default>, hyperbola h);
triangle medial(triangle t);
line median(vertex V);
line median(side side);
@@ -2863,8 +2831,127 @@ abscissa curabscissa(ellipse el, point M);
abscissa curabscissa(parabola p, point M);
abscissa curabscissa(conic co, point M);
abscissa curabscissa(arc a, point M);
-real[] bangles(picture pic=<default>, parabola p);
-real[][] bangles(picture pic=<default>, hyperbola h);
+locateT operator init();
+void Straight(flatguide3)(... void(flatguide3)[]);
+void graph(flatguide3)(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]));
+void(flatguide3)[] graph(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]), bool3 cond(real));
+void graph(flatguide3)(picture pic=<default>, real x(real), real y(real), real z(real), real a, real b, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void(flatguide3)[] graph(picture pic=<default>, real x(real), real y(real), real z(real), real a, real b, int n=<default>, bool3 cond(real), void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(picture pic=<default>, triple v(real), real a, real b, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void(flatguide3)[] graph(picture pic=<default>, triple v(real), real a, real b, int n=<default>, bool3 cond(real), void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(picture pic=<default>, triple[] v, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void(flatguide3)[] graph(picture pic=<default>, triple[] v, bool3[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(picture pic=<default>, real[] x, real[] y, real[] z, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void(flatguide3)[] graph(picture pic=<default>, real[] x, real[] y, real[] z, bool3[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(triple F(path, real), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(triple F(pair), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(picture pic=<default>, real f(pair), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void graph(flatguide3)(real f(pair), path p, int n=<default>, real T(pair), void join(flatguide3)(... void(flatguide3)[])=<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>);
+triple polar(real r, real theta, real phi);
+void polargraph(flatguide3)(real r(real, real), real theta(real), real phi(real), int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
+void xaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
+void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
+void 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 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 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>);
+bool uperiodic(real[][] a);
+bool uperiodic(triple[][] a);
+bool vperiodic(real[][] a);
+bool vperiodic(triple[][] a);
+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>);
+void axis(picture pic=<default>, Label L=<default>, path3 g, path3 g2=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>), ticklocate locate, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>);
+void Bounds(picture, axisT)(int type=<default>, int type2=<default>, triple align=<default>, bool extend=<default>);
+void Bounds(picture, axisT);
+void XZZero(picture, axisT)(triple align=<default>, bool extend=<default>);
+void XZZero(picture, axisT);
+void YZZero(picture, axisT)(triple align=<default>, bool extend=<default>);
+void YZZero(picture, axisT);
+surface surface(picture pic=<default>, triple[][] f, bool[][] cond=<default>);
+surface surface(picture pic=<default>, real[][] f, real[] x, real[] y, real[] xsplinetype(real[], real[])=<default>, real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
+surface surface(picture pic=<default>, real[][] f, pair a, pair b, real[] xsplinetype(real[], real[]), real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
+surface surface(picture pic=<default>, real[][] f, pair a, pair b, bool[][] cond=<default>);
+surface surface(picture pic=<default>, triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool cond(pair z)=<default>);
+surface surface(picture pic=<default>, triple f(pair z), real[] u, real[] v, real[](real[], real[])[] usplinetype, real[](real[], real[])[] vsplinetype=<default>, bool cond(pair z)=<default>);
+surface surface(picture pic=<default>, 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(picture pic=<default>, real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, bool cond(pair z)=<default>);
+surface surface(picture pic=<default>, 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 XYEquals(picture, axisT)(real x, real y, triple align=<default>, bool extend=<default>);
+triple Dir(real)(triple dir);
+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 Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks=<default>, real[] ticks=<default>, int N=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+real maxlength(triple f(pair z), pair a, pair b, int nu, int nv);
+void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend);
+triple tickMin3(picture pic);
+triple tickMax3(picture pic);
+triple Scale(picture pic=<default>, triple v);
+triple[][] Scale(picture pic=<default>, triple[][] P);
+real ScaleX(picture pic=<default>, real x);
+real ScaleY(picture pic=<default>, real y);
+real ScaleZ(picture pic=<default>, real z);
+real[][] ScaleZ(picture pic=<default>, real[][] P);
+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 Circle(triple c, real r, triple normal=<default>, int n=<default>);
+void InTicks(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 InTicks(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 InTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
+void Spline(flatguide3)(... void(flatguide3)[]);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
+void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
+void 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 label(picture pic, Label L, triple v, real x, align align, string format, pen p);
+void labelx(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 labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
+void labelaxis(picture pic, real[][] T, Label L, path3 g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
+void labely(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
+void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
+void labelz(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
+void labelz3(picture pic=<default>, Label L=<default>, real z, align align=<default>, string format=<default>, pen p=<default>);
+void autoscale3(picture pic=<default>, void axis(picture, axisT));
+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>);
+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>);
+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 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 ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
+void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+void ztick3(picture pic=<default>, real z, triple dir=<default>, real size=<default>, pen p=<default>);
+void ztick3(picture pic=<default>, Label L, real z, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+triple defaultdir(triple X, triple Y, triple Z, bool opposite=<default>, projection P);
+real xtrans(real[][] t, real x);
+real ytrans(real[][] t, real y);
+real ztrans(real[][] t, real z);
+ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, triple dir(real));
+triple ticklabelshift(triple align, pen p=<default>);
+path3 Arc(triple c, triple v1, triple v2, triple normal=<default>, bool direction=<default>, int n=<default>);
+path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, bool direction, int n=<default>);
+path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, int n=<default>);
+void limits(picture pic=<default>, triple min, triple max);
+void XZEquals(picture, axisT)(real x, real z, triple align=<default>, bool extend=<default>);
+void YZEquals(picture, axisT)(real y, real z, triple align=<default>, bool extend=<default>);
+void XYZero(picture, axisT)(triple align=<default>, bool extend=<default>);
+void XYZero(picture, axisT);
+void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
+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>);
+surface bispline(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>);
+real[][][] bispline(real[][] f, real[] x, real[] y, real[] xsplinetype(real[], real[])=<default>, real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
+real[][][] bispline0(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>);
+path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
+real[] uniform(real T(real x), real Tinv(real x), real a, real b, int n);
+void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)();
+void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
string DefaultFormat(real);
string DefaultLogFormat(real)(int base);
string DefaultLogFormat(real);
@@ -2908,9 +2995,6 @@ picture vectorfield(path vector(pair), pair a, pair b, int nx=<default>, int ny=
string OmitFormat(real)(string s=<default> ... real[] x);
guide Straight(... guide[]);
int Min;
-tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b);
-tickvalues OmitTickInterval(tickvalues)(real a, real b);
-tickvalues OmitTick(tickvalues)(... real[] x);
string trailingzero;
void label(picture pic, Label L, pair z, real x, align align, string format, pen p);
void labelx(picture pic=<default>, Label L=<default>, explicit pair z, align align=<default>, string format=<default>, pen p=<default>);
@@ -2919,13 +3003,14 @@ void labelx(picture pic=<default>, Label L, string format=<default>, explicit pe
path Arc(pair c, real r, real angle1, real angle2, bool direction, int n=<default>);
path Arc(pair c, real r, real angle1, real angle2, int n=<default>);
path Arc(pair c, explicit pair z1, explicit pair z2, bool direction=<default>, int n=<default>);
+pair labeltick(frame d, transform T, path g, ticklocate locate, real val, pair side, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
+void labelaxis(frame f, transform T, Label L, path g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
void labely(picture pic=<default>, Label L=<default>, explicit pair z, align align=<default>, string format=<default>, pen p=<default>);
void labely(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
void labely(picture pic=<default>, Label L, string format=<default>, explicit pen p=<default>);
-pair labeltick(frame d, transform T, path g, ticklocate locate, real val, pair side, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
-void labelaxis(frame f, transform T, Label L, path g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
-picture secondaryX(picture primary=<default>, void f(picture));
-picture secondaryY(picture primary=<default>, void f(picture));
+tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b);
+tickvalues OmitTickInterval(tickvalues)(real a, real b);
+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>);
@@ -2934,6 +3019,8 @@ void ytick(picture pic=<default>, explicit pair z, pair dir=<default>, real size
void ytick(picture pic=<default>, real y, pair dir=<default>, real size=<default>, pen p=<default>);
void ytick(picture pic=<default>, Label L, explicit pair z, pair dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
void ytick(picture pic=<default>, Label L, real y, pair dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
+picture secondaryX(picture primary=<default>, void f(picture));
+picture secondaryY(picture primary=<default>, void f(picture));
Label Break;
tickvalues Break(tickvalues)(real, real);
scaleT Linear;
@@ -2941,12 +3028,8 @@ scaleT Linear(bool automin=<default>, bool automax=<default>, real s=<default>,
pair tickMin(picture pic);
pair tickMax(picture pic);
string autoformat(string format=<default>, real norm ... real[] a);
-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>);
real linear(real)(real S(real x)=<default>, real Min, real Max);
pair polar(real r, real theta);
-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 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 Format(real)(string s=<default>);
guide polargraph(picture pic=<default>, real r(real), real a, real b, int n=<default>, guide join(... guide[])=<default>);
guide polargraph(picture pic=<default>, real[] r, real[] theta, guide join(... guide[])=<default>);
@@ -2958,6 +3041,10 @@ string NoZeroFormat(real);
guide Hermite(... guide[])(real[] splinetype(real[], real[]));
guide Hermite(... guide[]);
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>);
+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>);
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);
scaleT Broken(real a, real b, bool automin=<default>, bool automax=<default>);
scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<default>);
@@ -2967,6 +3054,7 @@ void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, p
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>, real[] Ticks, real[] ticks=<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>);
string noprimary;
+path[] segment(pair[] z, bool[] cond, guide join(... guide[])=<default>);
void xequals(picture pic=<default>, Label L=<default>, real x, bool extend=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
void yequals(picture pic=<default>, Label L=<default>, real y, bool extend=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
pair Scale(picture pic=<default>, pair z);
@@ -2990,7 +3078,6 @@ axisT operator init();
int Both;
void axes(picture pic=<default>, Label xlabel=<default>, Label ylabel=<default>, bool extend=<default>, pair min=<default>, pair max=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>);
string signedtrailingzero;
-path[] segment(pair[] z, bool[] cond, guide join(... guide[])=<default>);
ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, pair dir(real)=<default>);
pair ticklabelshift(pair align, pen p=<default>);
pair zero(real);
@@ -3024,127 +3111,6 @@ void autoscale(picture pic=<default>, void axis(picture, axisT));
guide Spline(... guide[]);
void LeftRight(picture, axisT)(bool extend=<default>);
void LeftRight(picture, axisT);
-path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
-locateT operator init();
-void Straight(flatguide3)(... void(flatguide3)[]);
-void graph(flatguide3)(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]));
-void(flatguide3)[] graph(triple F(real), real, real, int)(void join(flatguide3)(... void(flatguide3)[]), bool3 cond(real));
-void graph(flatguide3)(picture pic=<default>, real x(real), real y(real), real z(real), real a, real b, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void(flatguide3)[] graph(picture pic=<default>, real x(real), real y(real), real z(real), real a, real b, int n=<default>, bool3 cond(real), void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(picture pic=<default>, triple v(real), real a, real b, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void(flatguide3)[] graph(picture pic=<default>, triple v(real), real a, real b, int n=<default>, bool3 cond(real), void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(picture pic=<default>, triple[] v, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void(flatguide3)[] graph(picture pic=<default>, triple[] v, bool3[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(picture pic=<default>, real[] x, real[] y, real[] z, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void(flatguide3)[] graph(picture pic=<default>, real[] x, real[] y, real[] z, bool3[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(triple F(path, real), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(triple F(pair), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(picture pic=<default>, real f(pair), path p, int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-void graph(flatguide3)(real f(pair), path p, int n=<default>, real T(pair), void join(flatguide3)(... void(flatguide3)[])=<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>);
-triple polar(real r, real theta, real phi);
-void polargraph(flatguide3)(real r(real, real), real theta(real), real phi(real), int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>);
-bool uperiodic(real[][] a);
-bool uperiodic(triple[][] a);
-bool vperiodic(real[][] a);
-bool vperiodic(triple[][] a);
-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>);
-void axis(picture pic=<default>, Label L=<default>, path3 g, path3 g2=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>), ticklocate locate, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>);
-void Bounds(picture, axisT)(int type=<default>, int type2=<default>, triple align=<default>, bool extend=<default>);
-void Bounds(picture, axisT);
-void xaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
-void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>);
-void 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 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 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 XZZero(picture, axisT)(triple align=<default>, bool extend=<default>);
-void XZZero(picture, axisT);
-void YZZero(picture, axisT)(triple align=<default>, bool extend=<default>);
-void YZZero(picture, axisT);
-surface surface(picture pic=<default>, triple[][] f, bool[][] cond=<default>);
-surface surface(picture pic=<default>, real[][] f, real[] x, real[] y, real[] xsplinetype(real[], real[])=<default>, real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
-surface surface(picture pic=<default>, real[][] f, pair a, pair b, real[] xsplinetype(real[], real[]), real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
-surface surface(picture pic=<default>, real[][] f, pair a, pair b, bool[][] cond=<default>);
-surface surface(picture pic=<default>, triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool cond(pair z)=<default>);
-surface surface(picture pic=<default>, triple f(pair z), real[] u, real[] v, real[](real[], real[])[] usplinetype, real[](real[], real[])[] vsplinetype=<default>, bool cond(pair z)=<default>);
-surface surface(picture pic=<default>, 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(picture pic=<default>, real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, bool cond(pair z)=<default>);
-surface surface(picture pic=<default>, 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 XYEquals(picture, axisT)(real x, real y, triple align=<default>, bool extend=<default>);
-triple Dir(real)(triple dir);
-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 Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks=<default>, real[] ticks=<default>, int N=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-real maxlength(triple f(pair z), pair a, pair b, int nu, int nv);
-void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend);
-triple tickMin3(picture pic);
-triple tickMax3(picture pic);
-triple Scale(picture pic=<default>, triple v);
-triple[][] Scale(picture pic=<default>, triple[][] P);
-real ScaleX(picture pic=<default>, real x);
-real ScaleY(picture pic=<default>, real y);
-real ScaleZ(picture pic=<default>, real z);
-real[][] ScaleZ(picture pic=<default>, real[][] P);
-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 Circle(triple c, real r, triple normal=<default>, int n=<default>);
-void InTicks(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 InTicks(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 InTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
-void Spline(flatguide3)(... void(flatguide3)[]);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>);
-void InOutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
-void 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 label(picture pic, Label L, triple v, real x, align align, string format, pen p);
-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 labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, int sign, real Size, string ticklabel(real), Label F, real norm=<default>);
-void labelaxis(picture pic, real[][] T, Label L, path3 g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>);
-void labelx3(picture pic=<default>, Label L=<default>, real x, align align=<default>, string format=<default>, pen p=<default>);
-void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>);
-void labelz(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>);
-void labelz3(picture pic=<default>, Label L=<default>, real z, align align=<default>, string format=<default>, pen p=<default>);
-void autoscale3(picture pic=<default>, void axis(picture, axisT));
-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>);
-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 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>);
-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 ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>);
-void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
-void ztick3(picture pic=<default>, real z, triple dir=<default>, real size=<default>, pen p=<default>);
-void ztick3(picture pic=<default>, Label L, real z, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>);
-triple defaultdir(triple X, triple Y, triple Z, bool opposite=<default>, projection P);
-real xtrans(real[][] t, real x);
-real ytrans(real[][] t, real y);
-real ztrans(real[][] t, real z);
-ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, triple dir(real));
-triple ticklabelshift(triple align, pen p=<default>);
-path3 Arc(triple c, triple v1, triple v2, triple normal=<default>, bool direction=<default>, int n=<default>);
-path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, bool direction, int n=<default>);
-path3 Arc(triple c, real r, real theta1, real phi1, real theta2, real phi2, triple normal=<default>, int n=<default>);
-void limits(picture pic=<default>, triple min, triple max);
-void XZEquals(picture, axisT)(real x, real z, triple align=<default>, bool extend=<default>);
-void YZEquals(picture, axisT)(real y, real z, triple align=<default>, bool extend=<default>);
-void XYZero(picture, axisT)(triple align=<default>, bool extend=<default>);
-void XYZero(picture, axisT);
-void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>);
-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>);
-surface bispline(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>);
-real[][][] bispline(real[][] f, real[] x, real[] y, real[] xsplinetype(real[], real[])=<default>, real[] ysplinetype(real[], real[])=<default>, bool[][] cond=<default>);
-real[][][] bispline0(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>);
-real[] uniform(real T(real x), real Tinv(real x), real a, real b, int n);
-void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)();
-void NoTicks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>);
bool Crop;
int ngraph;
real epsilon;
@@ -3179,9 +3145,9 @@ grid3(picture pic)[][] operator cast(grid3 gridroutine(picture pic));
triple X(picture pic);
triple Y(picture pic);
triple Z(picture pic);
+position middle;
grid3(picture pic)[] XYXgrid(position pos=<default>);
grid3(picture pic)[] XYXgrid;
-position middle;
grid3(picture pic)[] XY_XZgrid(position posa=<default>, position posb=<default>);
grid3(picture pic)[] XY_XZgrid;
grid3(picture pic)[] ZX_ZYgrid(position posa=<default>, position posb=<default>);
@@ -3190,19 +3156,19 @@ grid3 XYgrid(picture pic)(position pos=<default>);
grid3 XYgrid(picture pic);
grid3 ZYgrid(picture pic)(position pos=<default>);
grid3 ZYgrid(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>);
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>);
triple YZ(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>);
triple ZX(picture pic);
grid3(picture pic)[] ZXZgrid(position pos=<default>);
grid3(picture pic)[] ZXZgrid;
-position top;
grid3(picture pic)[] XZXgrid(position pos=<default>);
grid3(picture pic)[] XZXgrid;
+position top;
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>);
ticksgridT InOutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>);
grid3(picture pic)[] YX_YZgrid(position posa=<default>, position posb=<default>);
@@ -3229,16 +3195,16 @@ horner diffdiv(real[] x, real[] y);
horner hdiffdiv(real[] x, real[] y, real[] dy);
horner operator init();
real fhorner(real)(horner sh);
-void labelpath(frame f, Label L, path g, string justify=<default>, pen p=<default>);
-void labelpath(picture pic=<default>, Label L, path g, string justify=<default>, pen p=<default>);
-string LeftJustified;
-string Centered;
-string RightJustified;
surface labelpath(string s, path3 p, real angle=<default>, triple optional=<default>);
triple[] firstframe(path3 p, triple optional=<default>);
triple[] nextframe(path3 p, real reltimestart, triple[] start, real reltimeend, int subdiv=<default>);
real eps;
triple nextnormal(triple p, triple q);
+void labelpath(frame f, Label L, path g, string justify=<default>, pen p=<default>);
+void labelpath(picture pic=<default>, Label L, path g, string justify=<default>, pen p=<default>);
+string LeftJustified;
+string Centered;
+string RightJustified;
string[] lm_infmsg;
void lm_qrfac(int m, int n, real[] a, bool pivot, int[] ipvt, real[] rdiag, real[] acnorm, real[] wa);
void lm_qrsolv(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, real[] x, real[] sdiag, real[] wa);
@@ -3326,6 +3292,8 @@ bool rectangular(triple[][] m);
bool polygon(path p);
pair unityroot(int n, int k=<default>);
real acot(real x);
+int[][] segmentlimits(bool[] b);
+int[][] segment(bool[] b);
pair[][] fft(pair[][] a, int sign=<default>);
real slope(path g, real x, int n=<default>, real fuzz=<default>);
real slope(path g, explicit pair z, int n=<default>, real fuzz=<default>);
@@ -3333,8 +3301,6 @@ picture grid(int Nx, int Ny, pen p=<default>);
rootfinder_settings operator init();
real frac(real x);
real asec(real x);
-int[][] segmentlimits(bool[] b);
-int[][] segment(bool[] b);
real time(path g, real x, int n=<default>, real fuzz=<default>);
real time(path g, explicit pair z, int n=<default>, real fuzz=<default>);
real[] leastsquares(real[][] A, real[] b, bool warn=<default>);
@@ -3479,11 +3445,14 @@ void simplexPhase2();
int[] artificialColumn;
void simplexWrite(rational[][] E, int[] Bindices, int, int);
path roundedpath(path A, real R, real S=<default>);
+problem operator init();
simplex operator init();
+void nextpage(pen p=<default>);
void display(frame[] f, real margin=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
void display(frame f, real margin=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
void display(string[] s, real margin=<default>, string[] captions=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
void display(string s, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
+void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>);
void subitem(string s, pen p=<default>);
pen pagenumberpen;
@@ -3496,21 +3465,21 @@ pen foregroundcolor;
void bibliography(string name);
void bibliographystyle(string name);
int[] lastnode;
-void item(string s, pen p=<default>, bool step=<default>);
real aboveequationskip;
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 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>);
bool itemstep;
real itemskip;
void remark(bool center=<default>, string s, pair align=<default>, pen p=<default>, real indent=<default>, bool minipage=<default>, real skip=<default>, filltype filltype=<default>, bool step=<default>);
-pen authorpen;
void usersetting();
+void item(string s, pen p=<default>, bool step=<default>);
bool landscape;
-string cropcode(string s);
+pen authorpen;
real codeskip;
+string cropcode(string s);
+void newslide(bool stepping=<default>);
bool allowstepping;
pair currentposition;
-void newslide(bool stepping=<default>);
pen itempen;
bool reverse;
void reversevideo();
@@ -3527,10 +3496,10 @@ void normalvideo();
void title(string s, pair position=<default>, pair align=<default>, pen p=<default>, bool newslide=<default>);
pen titlepen;
real titleskip;
-pair titlealign;
pair dateskip;
-void titlepage(string title, string author, string institution=<default>, string date=<default>, string url=<default>, bool newslide=<default>);
+pair titlealign;
pen titlepagepen;
+void titlepage(string title, string author, string institution=<default>, string date=<default>, string url=<default>, bool newslide=<default>);
pair titlepageposition;
pen codepen;
void erasestep(int erasenode);
@@ -3550,24 +3519,22 @@ string newbulletcolor;
pen datepen;
void incrementposition(pair z);
pen institutionpen;
-int page;
void skip(real n=<default>);
bool stepping;
real pagemargin;
pen steppagenumberpen;
+int page;
bool empty();
void currentexitfunction();
void step();
string[] codefile;
void outline(string s=<default>, pair position=<default>, pair align=<default>, pen p=<default>);
void center(string s, pen p=<default>);
-void nextpage(pen p=<default>);
void equation(string s, pen p=<default>);
void equations(string s, pen p=<default>);
void asyinclude(string s, real xsize=<default>, real ysize=<default>);
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>);
void figure(string s, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>);
-void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>);
real figureborder;
pen figuremattpen;
string bullet;
@@ -3620,12 +3587,12 @@ string operator cast(positionedvector vv);
triple operator cast(evaluatedpoint p);
surface implicitsurface(real f(triple)=<default>, real ff(real, real, real)=<default>, triple a, triple b, int n=<default>, bool keyword overlapedges=<default>, int keyword nx=<default>, int keyword ny=<default>, int keyword nz=<default>, int keyword maxdepth=<default>, bool keyword usetriangles=<default>);
bool operator ==(edge a, edge b);
-int NULL_VERTEX;
patch[] triangletoquads(path3 external, real f(triple), triple grad(triple), triple a, triple b);
patch trianglewithnormals(path3 external, triple n1, triple n2, triple n3);
-real B03(real t);
+int NULL_VERTEX;
evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>);
real B33(real t);
+real B03(real t);
evaluatedpoint[][] slice(evaluatedpoint[][] a, int start1, int end1, int start2, int end2);
evaluatedpoint[][][] slice(evaluatedpoint[][][] a, int start1, int end1, int start2, int end2, int start3, int end3);
positionedvector[][] slice(positionedvector[][] a, int start1, int end1, int start2, int end2);
@@ -3643,13 +3610,13 @@ path[] cylinder(path3 base, real h, triple axis=<default>, projection P);
revolution cylinder(triple c=<default>, real r, real h, triple axis=<default>);
revolution cone(triple c=<default>, real r, real h, triple axis=<default>, int n=<default>);
real rms(real[] A);
-real stdev(real[] A);
int[] frequency(real[] data, real[] bins);
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 mean(real[] A);
+real stdev(real[] A);
int bins(real[] data, int max=<default>);
path topbox(pair a, pair b);
path halfbox(pair a, pair b);
@@ -3664,16 +3631,16 @@ linefit operator init();
real skewness(real[] A);
linefit leastsquares(real[] x, real[] y);
linefit leastsquares(real[] x, real[] y, real[] w);
-void histogram(picture pic=<default>, real[] bins, real[] count, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
-void histogram(picture pic=<default>, real[] data, real a, real b, int n, bool normalize=<default>, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
real kurtosis(real[] A);
real kurtosisexcess(real[] A);
+void histogram(picture pic=<default>, real[] bins, real[] count, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
+void histogram(picture pic=<default>, real[] data, real a, real b, int n, bool normalize=<default>, real low=<default>, pen fillpen=<default>, pen drawpen=<default>, bool bars=<default>, Label legend=<default>, real markersize=<default>);
pair[] endpoints(guide[] a);
Relation r3;
-Braid apply(Relation r, Braid b, int step, int place);
picture tableau(frame[] cards, bool number=<default>);
pair min(pair[] z);
Component bp;
+Braid apply(Relation r, Braid b, int step, int place);
Component phi;
real gapfactor;
Component bm;
@@ -3684,30 +3651,27 @@ Braid operator init();
Relation operator init();
Syzygy operator init();
real hwratio;
-Relation r4a;
Relation r4b;
+Relation r4a;
pair max(pair[] z);
pen Orchid;
pen Magenta;
pen BrickRed;
pen CadetBlue;
-pen Aquamarine;
pen CarnationPink;
pen SpringGreen;
-pen Lavender;
pen MidnightBlue;
pen OliveGreen;
pen Apricot;
+pen Aquamarine;
+pen Lavender;
pen Cyan;
pen Red;
pen RawSienna;
pen Mahogany;
pen Gray;
-pen YellowOrange;
-pen Maroon;
pen Plum;
pen BlueGreen;
-pen YellowGreen;
pen Cerulean;
pen Blue;
pen BlueViolet;
@@ -3715,40 +3679,43 @@ pen RedOrange;
pen Goldenrod;
pen ForestGreen;
pen BurntOrange;
+pen YellowOrange;
+pen Maroon;
pen Tan;
-pen Sepia;
+pen YellowGreen;
pen Brown;
pen RubineRed;
pen TealBlue;
pen White;
pen Purple;
pen Bittersweet;
-pen VioletRed;
+pen Sepia;
pen Orange;
-pen Violet;
pen OrangeRed;
pen Fuchsia;
-pen PineGreen;
pen Peach;
+pen PineGreen;
pen Dandelion;
+pen VioletRed;
pen Black;
-pen Thistle;
+pen Violet;
pen NavyBlue;
pen Rhodamine;
pen ProcessBlue;
-pen DarkOrchid;
+pen Thistle;
pen LimeGreen;
pen Green;
pen GreenYellow;
-pen WildStrawberry;
+pen DarkOrchid;
pen Emerald;
pen Mulberry;
+pen WildStrawberry;
pen RedViolet;
pen SkyBlue;
pen SeaGreen;
pen Periwinkle;
-pen Salmon;
pen Yellow;
+pen Salmon;
pen JungleGreen;
pen CornflowerBlue;
pen RoyalBlue;
@@ -3790,36 +3757,34 @@ v3dheadertypes operator init();
v3dtypes v3dtypes;
v3dtypes operator init();
string VERSION;
-pen Cornsilk;
pen Orchid;
pen Indigo;
pen Beige;
pen SlateBlue;
pen SlateGray;
+pen Cornsilk;
pen Magenta;
-pen Seashell;
pen CadetBlue;
pen DeepPink;
-pen Aquamarine;
pen SpringGreen;
-pen GhostWhite;
-pen Lavender;
pen MidnightBlue;
pen Olive;
pen OliveDrab;
+pen Seashell;
+pen Aquamarine;
+pen GhostWhite;
+pen Lavender;
pen Chocolate;
pen Cyan;
pen Gainsboro;
pen Ivory;
-pen LavenderBlush;
pen PapayaWhip;
-pen Wheat;
pen Red;
pen Pink;
pen MintCream;
pen DarkTurquoise;
-pen PeachPuff;
pen Gray;
+pen LavenderBlush;
pen MediumBlue;
pen MediumOrchid;
pen MediumPurple;
@@ -3828,12 +3793,10 @@ pen MediumSlateBlue;
pen MediumAquamarine;
pen MediumSpringGreen;
pen MediumTurquoise;
+pen Wheat;
pen MediumVioletRed;
-pen Maroon;
-pen Lime;
-pen SteelBlue;
pen Plum;
-pen YellowGreen;
+pen PeachPuff;
pen Blue;
pen Gold;
pen BlueViolet;
@@ -3841,11 +3804,14 @@ pen Goldenrod;
pen ForestGreen;
pen Chartreuse;
pen NavajoWhite;
+pen Maroon;
+pen Lime;
+pen SteelBlue;
+pen YellowGreen;
pen Tan;
pen DarkMagenta;
pen AntiqueWhite;
pen PaleTurquoise;
-pen LemonChiffon;
pen IndianRed;
pen Crimson;
pen Azure;
@@ -3855,58 +3821,58 @@ pen BurlyWood;
pen Moccasin;
pen DarkBlue;
pen Peru;
-pen Aqua;
pen White;
pen Purple;
pen WhiteSmoke;
+pen LemonChiffon;
pen DimGray;
pen Orange;
-pen Violet;
pen OrangeRed;
pen Fuchsia;
+pen Aqua;
pen Bisque;
pen Honeydew;
pen RosyBrown;
pen Black;
-pen Thistle;
+pen Violet;
pen Khaki;
pen FireBrick;
-pen Sienna;
pen Snow;
-pen DarkOrchid;
+pen Thistle;
pen LimeGreen;
+pen Sienna;
pen OldLace;
pen Green;
pen GreenYellow;
+pen DarkOrchid;
pen DarkCyan;
pen FloralWhite;
pen DarkRed;
-pen DarkOliveGreen;
-pen DarkOrange;
pen BlanchedAlmond;
pen PowderBlue;
pen DarkGray;
pen DarkGreen;
pen DarkGoldenrod;
+pen DarkOliveGreen;
pen SkyBlue;
-pen Silver;
+pen DarkOrange;
pen SeaGreen;
pen DarkViolet;
pen Teal;
pen AliceBlue;
pen HotPink;
pen DodgerBlue;
+pen Silver;
pen SaddleBrown;
pen Tomato;
pen DarkKhaki;
-pen Salmon;
-pen SandyBrown;
pen LightBlue;
pen LightCoral;
pen LightCyan;
pen Yellow;
pen LightGreen;
-pen DeepSkyBlue;
+pen SandyBrown;
+pen Salmon;
pen PaleGreen;
pen Linen;
pen LightGoldenrodYellow;
@@ -3924,6 +3890,7 @@ pen LightSteelBlue;
pen LightYellow;
pen rgbint(int r, int g, int b);
pen Coral;
+pen DeepSkyBlue;
pen MistyRose;
pen DarkSalmon;
pen DarkSeaGreen;