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