diff options
Diffstat (limited to 'Build/source/utils/asymptote/asy.list')
-rw-r--r-- | Build/source/utils/asymptote/asy.list | 1169 |
1 files changed, 590 insertions, 579 deletions
diff --git a/Build/source/utils/asymptote/asy.list b/Build/source/utils/asymptote/asy.list index 6497acd338e..5d55a8a6766 100644 --- a/Build/source/utils/asymptote/asy.list +++ b/Build/source/utils/asymptote/asy.list @@ -6,14 +6,15 @@ bool prc(string format=<default>); light currentlight; pen royalblue; real arrowdir; -frame pack(pair align=<default> ... object[] inset); filltype filltype(int type=<default>, pen fillpen=<default>, pen drawpen=<default>, void fill2(frame f, path[] g, pen fillpen)); -void addArrow(picture pic, arrowhead arrowhead, path g, pen p, real size, real angle, filltype filltype, real position); int Suppress; align NoAlign; +pair relative(picture pic=<default>, pair z); filltype RadialShade(pen penc, pen penr); real[] arrowbasepoints(path base, path left, path right, real default=<default>); +object embed3(string, frame, string, string, string, light, projection); real bp; +projection projection(triple camera, triple up=<default>, triple target=<default>, triple normal=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>, transformation projector(triple camera, triple up, triple target)); pen mean(pen[] p, real opacity(real[])=<default>); pen[] mean(pen[][] palette, real opacity(real[])=<default>); pen squarecap; @@ -23,12 +24,11 @@ cputime cputime(); real inches; pair SW; real inch; +picture legenditem(Legend legenditem, real linelength); marginT EndMargin(path, pen); pen mediumgrey; pen darkcyan; real legendhskip; -string ask(string prompt); -frame[] fit2(picture[] pictures, picture all); void addSaveFunction(void s()()); pen olive; pen zerowinding; @@ -41,13 +41,10 @@ slice lastcut(path p, path knife); pen darkgreen; string verbatim(string s); pen heavygray; -bool ArcArrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>); -bool ArcArrows(picture, path, pen, marginT(path, pen)); pen darkred; pair E; plain_scaling plain_scaling; pen darkgray; -projection projection(triple camera, triple up=<default>, triple target=<default>, triple normal=<default>, real zoom=<default>, real angle=<default>, pair viewportshift=<default>, bool showtarget=<default>, bool autoadjust=<default>, bool center=<default>, transformation projector(triple camera, triple up, triple target)); frame orientation(frame); void progress(bool3 init=<default>); pen salmon; @@ -58,29 +55,27 @@ pen Pentype(int n); triple gettriple(string name=<default>, triple default=<default>, string prompt=<default>, bool store=<default>); pen Yellow; real cm; -bool EndBar(picture, path, pen, marginT(path, pen)); -bool EndBar(picture, path, pen, marginT(path, pen))(real size=<default>); pen mediumgreen; pen heavygreen; +string ask(string prompt); +frame[] fit2(picture[] pictures, picture all); pen dashdotted; -int debuggerlines; -frame bbox(picture pic=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>); pen deepblue; string graphicscale(real x); pen mediumblue; pen heavyblue; transform invert; pair NNW; -void drawarrow2(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>); pair SE; pen thick(pen p=<default>); pen mediumred; marginT EndDotMargin(path, pen); +bool ArcArrows(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>); +bool ArcArrows(picture, path, pen, marginT(path, pen)); void filloutside(picture pic=<default>, path[] g, pen p=<default>, bool copy=<default>); void filloutside(frame f, path[] g, pen p=<default>, bool copy=<default>); filltype RadialShadeDraw(real xmargin=<default>, real ymargin=<default>, pen penc, pen penr, pen drawpen=<default>); marginT BeginDotMargin(path, pen); -frame enclose(string prefix=<default>, object F, string format=<default>); marker[] Mark; marker Mark(int n); pen darkolive; @@ -91,10 +86,18 @@ transform fixedscaling(picture pic=<default>, pair min, pair max, pen p=<default pen Symbol(string series=<default>, string shape=<default>); int count; path circle(pair c, real r); +path ellipse(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +path ellipse(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +path ellipse(pair c, real a, real b); pen beveljoin; pen orange; pen green; +bool EndBar(picture, path, pen, marginT(path, pen)); +bool EndBar(picture, path, pen, marginT(path, pen))(real size=<default>); file stdin; +int debuggerlines; +frame bbox(picture pic=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>); +frame pack(pair align=<default> ... object[] inset); path unitcircle; arrowhead DefaultHead; pen white; @@ -103,11 +106,14 @@ transform Rotate(transform)(pair z); transform Rotate(transform t); Legend Legend(string label, pen plabel=<default>, pen p=<default>, frame mark=<default>, bool above=<default>); void exitfunction(); +void drawarrow(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT margin(path, pen)=<default>, bool center=<default>); string cputimeformat; pair arcpoint(path p, real L); bool interior(int windingnumber, pen fillrule); pen fuchsia; pen brown; +bool EndArrow(picture, path, pen, marginT(path, pen)); +bool EndArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); void bar(picture pic, pair a, pair d, pen p=<default>); picture bar(pair a, pair d, pen p=<default>); pen deepcyan; @@ -117,12 +123,7 @@ pen pink; pen TimesRoman(string series=<default>, string shape=<default>); pen palemagenta; int mantissaBits; -void copyPairOrTriple(pairOrTriple dest, pairOrTriple src); pen lightolive; -string outprefix(string prefix=<default>); -object object(frame f); -object object(Label L); -object object(Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); path arrowbase(path r, pair y, real t, real size); pen[] monoPen; bool CW; @@ -130,8 +131,9 @@ pen Cyan; marginT EndPenMargin(path, pen); pair NNE; pen roundjoin; +void addArrow(picture pic, arrowhead arrowhead, path g, pen p, real size, real angle, filltype filltype, real position); pen lightgray; -pair relative(picture pic=<default>, pair z); +picture arrow2(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>); position MidPoint; string Embed(string name, string text=<default>, string options=<default>, real width=<default>, real height=<default>); pen deepgrey; @@ -142,39 +144,35 @@ side NoSide; file stdout; frame Seascape(frame f); pair up; -void savedefaults()(); -bool MidArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>); -bool MidArrow(picture, path, pen, marginT(path, pen)); pen ZapfChancery(string series=<default>, string shape=<default>); pair left; bool prconly(string format=<default>); +pair[] pairs(real[] x, real[] y); +void eval(code s, bool embedded=<default>); +void eval(string s, bool embedded=<default>); +bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); +bool Arrow(picture, path, pen, marginT(path, pen)); pen deepgreen; pen lightmagenta; real bracedefaultratio; transform Scale(transform t); string getstring(string name=<default>, string default=<default>, string prompt=<default>, bool store=<default>); marginT DotMargins(path, pen); +bool debugging; +void shipout(string prefix=<default>, picture pic=<default>, frame orientation(frame)=<default>, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>); +void shipout(string prefix=<default>, frame f, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>, transform t=<default>); path[] MarkPath; -picture legenditem(Legend legenditem, real linelength); pen deepgray; -bool BeginArcArrow(picture, path, pen, marginT(path, pen)); -bool BeginArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); string defaultformat(int n, string trailingzero=<default>, bool fixed=<default>, bool signed=<default>); string defaultformat; pen lightcyan; pen paleblue; -real legendmargin; -bool None(picture, path, pen, marginT(path, pen)); -path box(pair a, pair b); -path box(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); -path box(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); -pen Bookman(string series=<default>, string shape=<default>); -frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>); frame align(frame f, pair align); -object align(object F, pair align); path[] align(path[] g, transform t=<default>, pair position, pair align, pen p=<default>); +object align(object F, pair align); transform scaleless(transform t); pen RGB(int r, int g, int b); +void copyPairOrTriple(pairOrTriple dest, pairOrTriple src); pen thin(); real arcarrowangle; void restoredefaults(); @@ -188,15 +186,14 @@ real braceinnerangle; guide operator ---(... guide[]); int JOIN_IN; real barfactor; +void arrow(picture pic=<default>, Label L=<default>, pair b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>); +picture arrow(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT margin(path, pen)=<default>, bool center=<default>); +void unitsize(picture pic=<default>, real x, real y=<default>, real z=<default>); pen lightgreen; transform zeroTransform; void endl(file file); -bool ArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); -bool ArcArrow(picture, path, pen, marginT(path, pen)); void usersetting(); bool prc0(string format=<default>); -bool Bars(picture, path, pen, marginT(path, pen)); -bool Bars(picture, path, pen, marginT(path, pen))(real size=<default>); pair rectify(pair dir); arrowhead TeXHead; void beep(); @@ -205,6 +202,9 @@ real labelmargin(pen p=<default>); pen lightblue; real bracemidangle; path unitsquare; +void savedefaults()(); +bool MidArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>); +bool MidArrow(picture, path, pen, marginT(path, pen)); pen cyan; pen grey; transform rotation(transform t); @@ -212,8 +212,6 @@ pair W; pen magenta; pair WSW; pen nobasealign; -bool BeginArrow(picture, path, pen, marginT(path, pen)); -bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); frame Landscape(frame f); real camerafactor; pen lightred; @@ -223,9 +221,18 @@ marginT DotMargin(path, pen); pen squarepen; pen deepyellow; real barsize(pen p=<default>); +bool BeginArcArrow(picture, path, pen, marginT(path, pen)); +bool BeginArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); +real legendmargin; +bool None(picture, path, pen, marginT(path, pen)); pen AvantGarde(string series=<default>, string shape=<default>); real circleprecision; pen Black; +pen Bookman(string series=<default>, string shape=<default>); +path box(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +path box(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +path box(pair a, pair b); +frame[] fit(string prefix=<default>, picture[] pictures, string format=<default>, bool view=<default>, string options=<default>, string script=<default>, projection P=<default>); pen Pen(int n); pair ENE; pen Courier(string series=<default>, string shape=<default>); @@ -236,7 +243,6 @@ path arc(pair c, explicit pair z1, explicit pair z2, bool direction=<default>); path arc(pair c, real r, real angle1, real angle2, bool direction); pair right; string outformat(string format=<default>); -marker markthin(path g, pen p=<default>, real thin(real fraction)=<default>, filltype filltype=<default>); filltype Fill; filltype Fill(real xmargin=<default>, real ymargin=<default>, pen p=<default>); pen Palatino(string series=<default>, string shape=<default>); @@ -249,12 +255,17 @@ real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<de real calculateScaling(string dir, coord[] m, coord[] M, real size, bool warn=<default>); real expansionfactor; position BeginPoint; +bool ArcArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); +bool ArcArrow(picture, path, pen, marginT(path, pen)); real arrowhookfactor; bool finite(real x); bool finite(pair z); bool finite(triple v); filltype UnFill(real xmargin=<default>, real ymargin=<default>); filltype UnFill; +frame enclose(string prefix=<default>, object F, string format=<default>); +bool Bars(picture, path, pen, marginT(path, pen)); +bool Bars(picture, path, pen, marginT(path, pen))(real size=<default>); pair I; pair SSW; transform Slant(transform t); @@ -272,29 +283,44 @@ path[] operator ^^(explicit path[] p, explicit path[] q); real arrow2sizelimit; filltype FillDraw; filltype FillDraw(real xmargin=<default>, real ymargin=<default>, pen fillpen=<default>, pen drawpen=<default>); -bool debugging; -void shipout(string prefix=<default>, frame f, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>, transform t=<default>); -void shipout(string prefix=<default>, picture pic=<default>, frame orientation(frame)=<default>, string format=<default>, bool wait=<default>, bool view=<default>, string options=<default>, string script=<default>, light light=<default>, projection P=<default>); void pause(string w=<default>); int ocgindex; pen springgreen; pen heavygrey; void markuniform(picture pic=<default>, frame f, path g)(pair z(real t), real a, real b, int n); void markuniform(picture pic=<default>, frame f, path g)(bool centered=<default>, int n, bool rotated=<default>); -bool ignore; +bool BeginArrow(picture, path, pen, marginT(path, pen)); +bool BeginArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); real circlescale; -frame dotframe(pen p=<default>, filltype filltype=<default>); -frame dotframe; +bool ignore; pen darkblue; -path ellipse(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); -path ellipse(frame f, Label L, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); -path ellipse(pair c, real a, real b); real reltime(path p, real l); void marknodes(picture pic=<default>, frame f, path g); int JOIN_OUT; projection currentprojection; real arrowsizelimit; pair endpoint(path p); +arrowhead HookHead; +arrowhead HookHead(real dir=<default>, real barb=<default>); +real[] concat(... real[][]); +pair[] concat(... pair[][]); +pen[] concat(... pen[][]); +marker[] concat(... marker[][]); +path[] concat(... path[][]); +coord[] concat(... coord[][]); +coord[] concat(... coord[][]); +picture[] concat(... picture[][]); +int[] concat(... int[][]); +void()()[] concat(... void()()[][]); +bool3[] concat(... bool3[][]); +object[] concat(... object[][]); +string[] concat(... string[][]); +Label[] concat(... Label[][]); +triple[] concat(... triple[][]); +Legend[] concat(... Legend[][]); +frame[] concat(... frame[][]); +guide[] concat(... guide[][]); +bool[] concat(... bool[][]); slice firstcut(path p, path knife); frame UpsideDown(frame f); pair viewportmargin; @@ -305,21 +331,17 @@ pen palecyan; node node(void d(frame f, transform t, transform T, pair lb, pair rt), string key=<default>); marginT BeginMargin(path, pen); path buildcycle(... path[] p); -void unitsize(picture pic=<default>, real x, real y=<default>, real z=<default>); -void arrow(picture pic=<default>, Label L=<default>, pair b, pair dir, real length=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>); -picture arrow(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT margin(path, pen)=<default>, bool center=<default>); -pair[] pairs(real[] x, real[] y); -void eval(code s, bool embedded=<default>); -void eval(string s, bool embedded=<default>); -bool Arrow(picture, path, pen, marginT(path, pen)); -bool Arrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); +marker markthin(path g, pen p=<default>, real thin(real fraction)=<default>, filltype filltype=<default>); void activatequote(picture pic=<default>); int undefined; +string outprefix(string prefix=<default>); +object object(Label L); +object object(Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +object object(frame f); +void drawarrow2(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>); pen roundcap; void buildRestoreThunk()(); void overloadedMessage(file file); -bool EndArrow(picture, path, pen, marginT(path, pen))(arrowhead arrowhead=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>); -bool EndArrow(picture, path, pen, marginT(path, pen)); frame currentpatterns; real arrowfactor; pen heavyred; @@ -339,8 +361,9 @@ bool[] array(int n, bool value, int depth=<default>); string[] array(int n, string value, int depth=<default>); pair[][] array(int n, pair[] value, int depth=<default>); bool3[] array(int n, bool3 value, int depth=<default>); -Label[] array(int n, Label value, int depth=<default>); -picture[] array(int n, picture value, int depth=<default>); +object[] array(int n, object value, int depth=<default>); +marker[] array(int n, marker value, int depth=<default>); +Legend[] array(int n, Legend value, int depth=<default>); real[][] array(int n, real[] value, int depth=<default>); real[] array(int n, real value, int depth=<default>); triple[] array(int n, triple value, int depth=<default>); @@ -349,9 +372,8 @@ frame[] array(int n, frame value, int depth=<default>); pen[][] array(int n, pen[] value, int depth=<default>); coord[] array(int n, coord value, int depth=<default>); coord[] array(int n, coord value, int depth=<default>); -object[] array(int n, object value, int depth=<default>); -marker[] array(int n, marker value, int depth=<default>); -Legend[] array(int n, Legend value, int depth=<default>); +Label[] array(int n, Label value, int depth=<default>); +picture[] array(int n, picture value, int depth=<default>); int[] array(int n, int value, int depth=<default>); string[][] array(int n, string[] value, int depth=<default>); pair[] array(int n, pair value, int depth=<default>); @@ -360,42 +382,18 @@ pen[] array(int n, pen value, int depth=<default>); string[] array(string s); real[] uniform(real a, real b, int n); pair viewportsize; -picture arrow2(arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>); -void drawarrow(frame f, arrowhead arrowhead=<default>, path g, pen p=<default>, real size=<default>, real angle=<default>, filltype filltype=<default>, position position=<default>, bool forwards=<default>, marginT margin(path, pen)=<default>, bool center=<default>); -object embed3(string, frame, string, string, string, light, projection); picture currentpicture; pen palegreen; -Label Label(Label L, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); Label Label(Label L, pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); Label Label(string s, string size=<default>, explicit position position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); Label Label(Label L, explicit position position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); -Label Label; Label Label(explicit pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); +Label Label; Label Label(string s=<default>, string size=<default>, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); Label Label(string s, string size=<default>, pair position, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); +Label Label(Label L, align align=<default>, pen p=<default>, transform embed(transform)=<default>, filltype filltype=<default>); hsv hsv(real h, real s, real v); hsv hsv(pen p); -arrowhead HookHead; -arrowhead HookHead(real dir=<default>, real barb=<default>); -marker[] concat(... marker[][]); -real[] concat(... real[][]); -picture[] concat(... picture[][]); -pair[] concat(... pair[][]); -object[] concat(... object[][]); -pen[] concat(... pen[][]); -Label[] concat(... Label[][]); -path[] concat(... path[][]); -coord[] concat(... coord[][]); -coord[] concat(... coord[][]); -Legend[] concat(... Legend[][]); -int[] concat(... int[][]); -void()()[] concat(... void()()[][]); -bool3[] concat(... bool3[][]); -string[] concat(... string[][]); -triple[] concat(... triple[][]); -frame[] concat(... frame[][]); -guide[] concat(... guide[][]); -bool[] concat(... bool[][]); pair N; real dotsize(pen p=<default>); real pt; @@ -406,6 +404,8 @@ pen palegray; pen miterjoin; arrowhead SimpleHead; real arrowangle; +frame dotframe(pen p=<default>, filltype filltype=<default>); +frame dotframe; real arcarrowfactor; real mm; plain plain; @@ -418,18 +418,18 @@ int OR(int a, int b); real[][] scale3(real s); int AND(int a, int b); real[] cubicroots(real a, real b, real c, real d); -void attach(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>); void attach(picture dest=<default>, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void attach(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>); real[] quadraticroots(real a, real b, real c); pair[] quadraticroots(explicit pair a, explicit pair b, explicit pair c); path[] strokepath(path g, pen p=<default>); real erf(real x); real Yn(int n, real x); real Jn(int n, real x); -light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default>, bool viewport=<default> ... triple[] position); -light light(pen[] diffuse, pen[] ambient=<default>, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, bool viewport=<default>, triple[] position); -light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, bool viewport=<default>, real x, real y, real z); +light light(pen[] diffuse, pen[] ambient=<default>, pen[] specular=<default>, pen background=<default>, real specularfactor=<default>, triple[] position); +light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real x, real y, real z); light light(explicit light light); +light light(pen diffuse=<default>, pen ambient=<default>, pen specular=<default>, pen background=<default>, real specularfactor=<default> ... triple[] position); real remainder(real x, real y); int choose(int n, int k); real hypot(real x, real y); @@ -615,8 +615,8 @@ void clear(); void clear(string file, string text); void unfill(frame f, path[] g, bool copy=<default>); void unfill(picture pic=<default>, path[] g, bool copy=<default>); -bool Bar(picture, path, pen, marginT(path, pen)); bool Bar(picture, path, pen, marginT(path, pen))(real size=<default>); +bool Bar(picture, path, pen, marginT(path, pen)); bool eol(file f); bool eof(file f); pen paleyellow; @@ -653,9 +653,9 @@ marker dot(pen p=<default>, filltype filltype=<default>); void dot(picture pic=<default>, pair z, pen p=<default>, filltype filltype=<default>); void dot(frame f, pair z, pen p=<default>, filltype filltype=<default>); void dot(picture pic=<default>, Label L, pen p=<default>, filltype filltype=<default>); -marker dot; void dot(picture pic=<default>, Label[] L=<default>, pair[] z, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>); void dot(picture pic=<default>, path[] g, pen p=<default>, filltype filltype=<default>); +marker dot; void dot(picture pic=<default>, Label L, pair z, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>); pair ESE; pair project(triple v, real[][] t); @@ -678,9 +678,8 @@ int[] sequence(int n); pen[][] sequence(pen[] f(int), int n); coord[] sequence(coord f(int), int n); coord[] sequence(coord f(int), int n); -object[] sequence(object f(int), int n); -marker[] sequence(marker f(int), int n); -Legend[] sequence(Legend f(int), int n); +Label[] sequence(Label f(int), int n); +picture[] sequence(picture f(int), int n); int[] sequence(int f(int), int n); string[][] sequence(string[] f(int), int n); pair[] sequence(pair f(int), int n); @@ -691,8 +690,9 @@ bool[] sequence(bool f(int), int n); string[] sequence(string f(int), int n); pair[][] sequence(pair[] f(int), int n); bool3[] sequence(bool3 f(int), int n); -Label[] sequence(Label f(int), int n); -picture[] sequence(picture f(int), int n); +object[] sequence(object f(int), int n); +marker[] sequence(marker f(int), int n); +Legend[] sequence(Legend f(int), int n); real[][] sequence(real[] f(int), int n); real[] sequence(real f(int), int n); int[] sequence(int n, int m); @@ -748,21 +748,21 @@ void draw(frame f, triple[] p, real[] knot, real[] weights=<default>, pen p); void draw(frame f, triple[][] p, real[] uknot, real[] vknot, real[][] weights=<default>, pen[] p, real opacity, real shininess, real prcshininess, pen[] colors); void draw(frame f, triple[] v, int[][] vi, triple[] n, int[][] ni, pen[] p, real opacity, real shininess, real prcshininess, pen[] c=<default>, int[][] ci=<default>); void draw(picture pic=<default>, path[] g, pen fillrule=<default>, pen[] p); -object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); -void draw(frame f, explicit path[] g, pen p=<default>); -void draw(frame f, path g, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))); +object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), pair position, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); void draw(picture pic=<default>, guide[] g, pen p=<default>, Label legend=<default>, marker marker=<default>); void draw(pair origin, picture pic=<default>, guide[] g, pen p=<default>, Label legend=<default>, marker marker=<default>); +void draw(frame f, explicit path[] g, pen p=<default>); void draw(picture pic=<default>, explicit path[] g, pen p=<default>, Label legend=<default>, marker marker=<default>); void draw(pair origin, picture pic=<default>, explicit path[] g, pen p=<default>, Label legend=<default>, marker marker=<default>); -object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), pair position, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); +object draw(picture pic=<default>, Label L, path e(frame dest, frame src=<default>, real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>), real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); void draw(frame f, guide[] g, pen p=<default>); -void draw(frame f, path g, pen p=<default>); void draw(picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>); void draw(pair origin, picture pic=<default>, Label L=<default>, path g, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>); +void draw(frame f, path g, pen p=<default>); +void draw(frame f, path g, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))); void deconstruct(frame f, frame preamble=<default>, transform t=<default>); void deconstruct(picture pic=<default>); -void shipout3(string prefix, frame f, string format=<default>, real width, real height, real angle, real zoom, triple m, triple m, pair shift, real[][] t, real[] background, triple[] lights, real[][] diffuse, real[][] ambient, real[][] specular, bool viewportlighting, bool view=<default>); +void shipout3(string prefix, frame f, string format=<default>, real width, real height, real angle, real zoom, triple m, triple m, pair shift, real[][] t, real[] background, triple[] lights, real[][] diffuse, real[][] ambient, real[][] specular, bool view=<default>); void shipout3(string prefix, frame f); int CTZ(int a); void _shipout(string prefix=<default>, frame f, frame preamble=<default>, string format=<default>, bool wait=<default>, bool view=<default>, transform t=<default>); @@ -787,27 +787,27 @@ void texpreamble(string s); real braceouterangle; void tex(frame f, string s); void tex(frame f, string s, pair min, pair max); -void tex(picture pic=<default>, string s); void tex(picture pic=<default>, string s, pair min, pair max); +void tex(picture pic=<default>, string s); void prepend(frame dest, frame src); void add(frame dest, frame src); +void add(picture dest=<default>, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(frame dest, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>); void add(picture pic=<default>, void d(frame f, transform t), bool exact=<default>); +void add(picture pic=<default>, void d(picture, real[][]), bool exact=<default>); +void add(frame f, transform t=<default>, Label L); +void add(picture dest, picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(picture dest, picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(picture dest=<default>, object F, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(picture pic=<default>, Label L); void add(frame dest, frame src, filltype filltype, bool above=<default>); void add(frame dest, frame src, bool group, filltype filltype=<default>, bool above=<default>); void add(picture pic=<default>, void d(frame f, real[][] t, picture pic, projection P), bool exact=<default>); -void add(picture pic=<default>, void d(picture, real[][]), bool exact=<default>); void add(frame dest, frame src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>); void add(picture dest=<default>, frame src, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(picture dest=<default>, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(frame dest, frame src, pair position, pair align, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(picture pic=<default>, Label L); void add(picture pic=<default>, void d(picture, transform), bool exact=<default>); -void add(picture dest, picture src, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(frame f, transform t=<default>, Label L); -void add(picture dest, picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>); -void add(picture dest=<default>, object F, pair position=<default>, bool group=<default>, filltype filltype=<default>, bool above=<default>); +void add(picture src, pair position, bool group=<default>, filltype filltype=<default>, bool above=<default>); void endgroup3(frame f); void _begingroup3(frame f, string name, real compression, real granularity, bool closed, bool tessellate, bool dobreak, bool nobreak, triple center, int interaction); void endgroup(frame f); @@ -867,8 +867,8 @@ transform rotate(real angle, pair z=<default>); bool IgnoreAspect; void postscript(frame f, string s); void postscript(frame f, string s, pair min, pair max); -void postscript(picture pic=<default>, string s); void postscript(picture pic=<default>, string s, pair min, pair max); +void postscript(picture pic=<default>, string s); transform slant(real s); transform yscale(real y); transform inverse(transform t); @@ -916,9 +916,9 @@ pair size(frame f); int size(path p); int size(path[] p); int size(path3 p); -void size(picture dest, picture src); pair size(picture pic, bool user=<default>); void size(picture pic=<default>, transform t); +void size(picture dest, picture src); void size(picture pic=<default>, real x, real y=<default>, bool keepAspect=<default>); void size(picture pic=<default>, real xsize, real ysize, pair min, pair max); string texify(string s); @@ -1043,61 +1043,61 @@ pen currentpen; string VERSION; bool alias(pair[][] a, pair[][] b); bool alias(guide[] a, guide[] b); +bool alias(marginT a, marginT b); bool alias(coord[] a, coord[] b); bool alias(coord[] a, coord[] b); -bool alias(light a, light b); -bool alias(autoscaleT a, autoscaleT b); -bool alias(align a, align b); -bool alias(Legend[] a, Legend[] b); +bool alias(node a, node b); +bool alias(Label a, Label b); +bool alias(picture[] a, picture[] b); bool alias(pair[] a, pair[] b); bool alias(scaling a, scaling b); bool alias(scaling a, scaling b); bool alias(bounds a, bounds b); -bool alias(node a, node b); -bool alias(Label a, Label b); -bool alias(processtime a, processtime b); +bool alias(transformation a, transformation b); +bool alias(marker a, marker b); +bool alias(Legend[] a, Legend[] b); bool alias(int[] a, int[] b); bool alias(string[][] a, string[][] b); -bool alias(filltype a, filltype b); -bool alias(coords3 a, coords3 b); -bool alias(object[] a, object[] b); -bool alias(marker a, marker b); +bool alias(slice a, slice b); +bool alias(projection a, projection b); +bool alias(ScaleT a, ScaleT b); +bool alias(side a, side b); bool alias(cputime a, cputime b); bool alias(real[][] a, real[][] b); bool alias(bool3 a, bool3 b); bool alias(bool3[] a, bool3[] b); -bool alias(ScaleT a, ScaleT b); -bool alias(side a, side b); -bool alias(arrowhead a, arrowhead b); +bool alias(autoscaleT a, autoscaleT b); +bool alias(pairOrTriple a, pairOrTriple b); +bool alias(object a, object b); +bool alias(object[] a, object[] b); bool alias(string[] a, string[] b); bool alias(frame[] a, frame[] b); -bool alias(hsv a, hsv b); bool alias(coords2 a, coords2 b); bool alias(coords2 a, coords2 b); -bool alias(transformation a, transformation b); -bool alias(pairOrTriple a, pairOrTriple b); -bool alias(object a, object b); -bool alias(marker[] a, marker[] b); +bool alias(light a, light b); +bool alias(coords3 a, coords3 b); +bool alias(arrowhead a, arrowhead b); bool alias(bool[] a, bool[] b); bool alias(void()()[] a, void()()[] b); bool alias(pen[][] a, pen[][] b); -bool alias(marginT a, marginT b); +bool alias(filltype a, filltype b); bool alias(simplex a, simplex b); -bool alias(scaleT a, scaleT b); -bool alias(Label[] a, Label[] b); +bool alias(Legend a, Legend b); +bool alias(position a, position b); +bool alias(marker[] a, marker[] b); bool alias(path[] a, path[] b); bool alias(triple[] a, triple[] b); bool alias(coord a, coord b); bool alias(coord a, coord b); -bool alias(Legend a, Legend b); -bool alias(position a, position b); +bool alias(picture a, picture b); +bool alias(Label[] a, Label[] b); bool alias(real[] a, real[] b); bool alias(pen[] a, pen[] b); -bool alias(slice a, slice b); +bool alias(hsv a, hsv b); bool alias(freezableBounds a, freezableBounds b); -bool alias(projection a, projection b); -bool alias(picture a, picture b); -bool alias(picture[] a, picture[] b); +bool alias(scaleT a, scaleT b); +bool alias(align a, align b); +bool alias(processtime a, processtime b); real pi; int randMax; pen heavycyan; @@ -1108,7 +1108,7 @@ real realEpsilon; pair NE; real realMin; real realMax; -simplex simplex(real[] c, real[][] A, real[] b, bool phase1=<default>); +simplex simplex(real[] c, real[][] A, real[] b, bool phase1=<default>, bool dual=<default>); simplex simplex(real[] c, real[][] A, int[] s, real[] b); simplex simplex; real nan; @@ -1121,27 +1121,27 @@ pen palered; real[] map(real f(pair), pair[] a); int[] map(int f(real), real[] a); bool3[] map(bool3 f(bool3), bool3[] a); +object[] map(object f(object), object[] a); frame[] map(frame f(frame), frame[] a); coord[] map(coord f(coord), coord[] a); coord[] map(coord f(coord), coord[] a); -Legend[] map(Legend f(Legend), Legend[] a); +picture[] map(picture f(picture), picture[] a); pen[][] map(pen[] f(pen[]), pen[][] a); triple[] map(triple f(triple), triple[] a); pen[] map(pen f(pen), pen[] a); -Label[] map(Label f(Label), Label[] a); +marker[] map(marker f(marker), marker[] a); pair[] map(pair f(pair), pair[] a); -object[] map(object f(object), object[] a); string[] map(string f(string), string[] a); -picture[] map(picture f(picture), picture[] a); void()()[] map(void f()()(void()()), void()()[] a); pair[][] map(pair[] f(pair[]), pair[][] a); real[] map(real f(real), real[] a); -marker[] map(marker f(marker), marker[] a); int[] map(int f(int), int[] a); string[][] map(string[] f(string[]), string[][] a); +Legend[] map(Legend f(Legend), Legend[] a); bool[] map(bool f(bool), bool[] a); path[] map(path f(path), path[] a); real[][] map(real[] f(real[]), real[][] a); +Label[] map(Label f(Label), Label[] a); guide[] map(guide f(guide), guide[] a); real identity(real x); real[] identity(real[] a); @@ -1257,24 +1257,24 @@ int search(int[] a, int key); int search(real[] a, real key); int search(string[] a, string key); int search(void()()[] a, void key()(), bool less(void()(), void()())); -int search(picture[] a, picture key, bool less(picture, picture)); int search(real[] a, real key, bool less(real, real)); int search(guide[] a, guide key, bool less(guide, guide)); -int search(object[] a, object key, bool less(object, object)); int search(pair[] a, pair key, bool less(pair, pair)); -int search(Label[] a, Label key, bool less(Label, Label)); +int search(marker[] a, marker key, bool less(marker, marker)); int search(frame[] a, frame key, bool less(frame, frame)); int search(coord[] a, coord key, bool less(coord, coord)); int search(coord[] a, coord key, bool less(coord, coord)); -int search(Legend[] a, Legend key, bool less(Legend, Legend)); +int search(picture[] a, picture key, bool less(picture, picture)); int search(int[] a, int key, bool less(int, int)); int search(bool3[] a, bool3 key, bool less(bool3, bool3)); +int search(object[] a, object key, bool less(object, object)); +int search(Label[] a, Label key, bool less(Label, Label)); int search(string[] a, string key, bool less(string, string)); int search(path[] a, path key, bool less(path, path)); int search(pen[] a, pen key, bool less(pen, pen)); +int search(Legend[] a, Legend key, bool less(Legend, Legend)); int search(bool[] a, bool key, bool less(bool, bool)); int search(triple[] a, triple key, bool less(triple, triple)); -int search(marker[] a, marker key, bool less(marker, marker)); int[] sort(int[] a); int[][] sort(int[][] a); real[] sort(real[] a); @@ -1283,9 +1283,8 @@ string[] sort(string[] a); string[][] sort(string[][] a); coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>); coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>); -object[] sort(object[] a, bool less(object, object), bool stable=<default>); -marker[] sort(marker[] a, bool less(marker, marker), bool stable=<default>); -Legend[] sort(Legend[] a, bool less(Legend, Legend), bool stable=<default>); +Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>); +picture[] sort(picture[] a, bool less(picture, picture), bool stable=<default>); path[] sort(path[] a, bool less(path, path), bool stable=<default>); pen[][] sort(pen[][] a, bool less(pen[], pen[]), bool stable=<default>); pair[][] sort(pair[][] a, bool less(pair[], pair[]), bool stable=<default>); @@ -1294,8 +1293,9 @@ bool[] sort(bool[] a, bool less(bool, bool), bool stable=<default>); void()()[] sort(void()()[] a, bool less(void()(), void()()), bool stable=<default>); frame[] sort(frame[] a, bool less(frame, frame), bool stable=<default>); bool3[] sort(bool3[] a, bool less(bool3, bool3), bool stable=<default>); -Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>); -picture[] sort(picture[] a, bool less(picture, picture), bool stable=<default>); +object[] sort(object[] a, bool less(object, object), bool stable=<default>); +marker[] sort(marker[] a, bool less(marker, marker), bool stable=<default>); +Legend[] sort(Legend[] a, bool less(Legend, Legend), bool stable=<default>); int[] sort(int[] a, bool less(int, int), bool stable=<default>); string[][] sort(string[][] a, bool less(string[], string[]), bool stable=<default>); real[] sort(real[] a, bool less(real, real), bool stable=<default>); @@ -1334,10 +1334,10 @@ pair max(frame f); pair max(explicit path p); pair max(path[] p); triple max(path3 p); +pair max(picture pic, bool user=<default>); real max(real M, scaling s, coord[] c); real max(real M, scaling s, coord[] c); int max(... int[] a); -pair max(picture pic, bool user=<default>); real max(... real[] a); void restore(); pen basealign(int n); @@ -1369,8 +1369,8 @@ pair min(frame f); pair min(explicit path p); pair min(path[] p); triple min(path3 p); -pair min(picture pic, bool user=<default>); real min(... real[] a); +pair min(picture pic, bool user=<default>); real min(real m, scaling s, coord[] c); real min(real m, scaling s, coord[] c); int min(... int[] a); @@ -1440,9 +1440,8 @@ real[][] copy(real[][] a, int depth=<default>); pen[] copy(pen[] a, int depth=<default>); coord[] copy(coord[] a, int depth=<default>); coord[] copy(coord[] a, int depth=<default>); -object[] copy(object[] a, int depth=<default>); -marker[] copy(marker[] a, int depth=<default>); -Legend[] copy(Legend[] a, int depth=<default>); +Label[] copy(Label[] a, int depth=<default>); +picture[] copy(picture[] a, int depth=<default>); pen[][] copy(pen[][] a, int depth=<default>); path[] copy(path[] a, int depth=<default>); string[] copy(string[] a, int depth=<default>); @@ -1452,8 +1451,9 @@ string[][] copy(string[][] a, int depth=<default>); frame[] copy(frame[] a, int depth=<default>); pair[] copy(pair[] a, int depth=<default>); bool3[] copy(bool3[] a, int depth=<default>); -Label[] copy(Label[] a, int depth=<default>); -picture[] copy(picture[] a, int depth=<default>); +object[] copy(object[] a, int depth=<default>); +marker[] copy(marker[] a, int depth=<default>); +Legend[] copy(Legend[] a, int depth=<default>); pair[][] copy(pair[][] a, int depth=<default>); real[] abs(pair[] a); real[] abs(triple[] a); @@ -1539,15 +1539,15 @@ triple operator *(real[][] t, triple v); triple operator *(real x, triple v); triple operator *(triple v, real x); path3 operator *(real[][] t, path3 g); +picture operator *(real[][] t, picture orig); side operator *(real x, side s); Label operator *(real[][] t, Label L); -picture operator *(transform t, picture orig); -object operator *(transform t, explicit object F); path[] operator *(transform t, explicit path[] p); bounds operator *(transform t, bounds b); -Label operator *(transform t, Label L); pair[] operator *(transform t, pair[] z); -picture operator *(real[][] t, picture orig); +picture operator *(transform t, picture orig); +object operator *(transform t, explicit object F); +Label operator *(transform t, Label L); real latitude(triple v, bool warn=<default>); int sum(int[] a); real sum(real[] a); @@ -1626,13 +1626,13 @@ void write(file file, void suffix(file)=<default>); void write(file file=<default>, string s=<default>, pen[] p); void write(void suffix(file)=<default>); void write(file file, string s=<default>, explicit path[] x, void suffix(file)=<default>); -void write(file file=<default>, align align, void suffix(file)=<default>); -void write(pairOrTriple a); +void write(file file=<default>, Label L, void suffix(file)=<default>); void write(file file, string s=<default>, cputime c, string format=<default>, void suffix(file)=<default>); void write(string s=<default>, bool3 b, void suffix(file)=<default>); void write(file file, string s=<default>, bool3 b, void suffix(file)=<default>); +void write(pairOrTriple a); void write(string s=<default>, explicit guide[] x, void suffix(file)=<default>); -void write(file file=<default>, Label L, void suffix(file)=<default>); +void write(file file=<default>, align align, void suffix(file)=<default>); bool operator !=(bool a, bool b); bool[] operator !=(bool a, bool[] b); bool[] operator !=(bool[] a, bool b); @@ -1670,40 +1670,40 @@ bool operator !=(file a, file b); bool operator !=(path a, path b); bool operator !=(path3 a, path3 b); bool operator !=(bool3 a, bool3 b); -bool operator !=(ScaleT a, ScaleT b); -bool operator !=(side a, side b); -bool operator !=(arrowhead a, arrowhead b); -bool operator !=(hsv a, hsv b); -bool operator !=(coords2 a, coords2 b); -bool operator !=(coords2 a, coords2 b); -bool operator !=(transformation a, transformation b); +bool operator !=(autoscaleT a, autoscaleT b); bool operator !=(pairOrTriple a, pairOrTriple b); bool operator !=(object a, object b); -bool operator !=(marginT a, marginT b); +bool operator !=(coords2 a, coords2 b); +bool operator !=(coords2 a, coords2 b); +bool operator !=(light a, light b); +bool operator !=(coords3 a, coords3 b); +bool operator !=(arrowhead a, arrowhead b); +bool operator !=(filltype a, filltype b); bool operator !=(simplex a, simplex b); -bool operator !=(scaleT a, scaleT b); -bool operator !=(coord a, coord b); -bool operator !=(coord a, coord b); bool operator !=(Legend a, Legend b); bool operator !=(position a, position b); -bool operator !=(slice a, slice b); -bool operator !=(freezableBounds a, freezableBounds b); -bool operator !=(projection a, projection b); +bool operator !=(coord a, coord b); +bool operator !=(coord a, coord b); bool operator !=(picture a, picture b); -bool operator !=(bool3 a, bool b); -bool operator !=(light a, light b); -bool operator !=(autoscaleT a, autoscaleT b); +bool operator !=(hsv a, hsv b); +bool operator !=(freezableBounds a, freezableBounds b); +bool operator !=(scaleT a, scaleT b); bool operator !=(align a, align b); +bool operator !=(processtime a, processtime b); +bool operator !=(bool3 a, bool b); +bool operator !=(marginT a, marginT b); +bool operator !=(node a, node b); +bool operator !=(Label a, Label b); bool operator !=(scaling a, scaling b); bool operator !=(scaling a, scaling b); bool operator !=(bounds a, bounds b); -bool operator !=(node a, node b); -bool operator !=(Label a, Label b); -bool operator !=(processtime a, processtime b); -bool operator !=(bool a, bool3 b); -bool operator !=(filltype a, filltype b); -bool operator !=(coords3 a, coords3 b); +bool operator !=(transformation a, transformation b); bool operator !=(marker a, marker b); +bool operator !=(bool a, bool3 b); +bool operator !=(slice a, slice b); +bool operator !=(projection a, projection b); +bool operator !=(ScaleT a, ScaleT b); +bool operator !=(side a, side b); bool operator !=(cputime a, cputime b); bool operator ==(bool a, bool b); bool[] operator ==(bool a, bool[] b); @@ -1742,40 +1742,40 @@ bool operator ==(file a, file b); bool operator ==(path a, path b); bool operator ==(path3 a, path3 b); bool operator ==(bool3 a, bool3 b); -bool operator ==(ScaleT a, ScaleT b); -bool operator ==(side a, side b); -bool operator ==(arrowhead a, arrowhead b); -bool operator ==(hsv a, hsv b); -bool operator ==(coords2 a, coords2 b); -bool operator ==(coords2 a, coords2 b); -bool operator ==(transformation a, transformation b); +bool operator ==(autoscaleT a, autoscaleT b); bool operator ==(pairOrTriple a, pairOrTriple b); bool operator ==(object a, object b); -bool operator ==(marginT a, marginT b); +bool operator ==(coords2 a, coords2 b); +bool operator ==(coords2 a, coords2 b); +bool operator ==(light a, light b); +bool operator ==(coords3 a, coords3 b); +bool operator ==(arrowhead a, arrowhead b); +bool operator ==(filltype a, filltype b); bool operator ==(simplex a, simplex b); -bool operator ==(scaleT a, scaleT b); -bool operator ==(coord a, coord b); -bool operator ==(coord a, coord b); bool operator ==(Legend a, Legend b); bool operator ==(position a, position b); -bool operator ==(slice a, slice b); -bool operator ==(freezableBounds a, freezableBounds b); -bool operator ==(projection a, projection b); +bool operator ==(coord a, coord b); +bool operator ==(coord a, coord b); bool operator ==(picture a, picture b); -bool operator ==(bool3 a, bool b); -bool operator ==(light a, light b); -bool operator ==(autoscaleT a, autoscaleT b); +bool operator ==(hsv a, hsv b); +bool operator ==(freezableBounds a, freezableBounds b); +bool operator ==(scaleT a, scaleT b); bool operator ==(align a, align b); +bool operator ==(processtime a, processtime b); +bool operator ==(bool3 a, bool b); +bool operator ==(marginT a, marginT b); +bool operator ==(node a, node b); +bool operator ==(Label a, Label b); bool operator ==(scaling a, scaling b); bool operator ==(scaling a, scaling b); bool operator ==(bounds a, bounds b); -bool operator ==(node a, node b); -bool operator ==(Label a, Label b); -bool operator ==(processtime a, processtime b); -bool operator ==(bool a, bool3 b); -bool operator ==(filltype a, filltype b); -bool operator ==(coords3 a, coords3 b); +bool operator ==(transformation a, transformation b); bool operator ==(marker a, marker b); +bool operator ==(bool a, bool3 b); +bool operator ==(slice a, slice b); +bool operator ==(projection a, projection b); +bool operator ==(ScaleT a, ScaleT b); +bool operator ==(side a, side b); bool operator ==(cputime a, cputime b); bool operator ^(bool a, bool b); bool[] operator ^(bool a, bool[] b); @@ -1846,10 +1846,10 @@ triple[] operator +(triple[] a); pen operator +(pen a, pen b); transform operator +(transform a, transform b); pen operator +(pen p, real w); -marginT operator +(path, pen)(marginT ma(path, pen), marginT mb(path, pen)); pen[] operator +(pen a, pen[] b); pen operator +(real w, pen p); string operator +(... string[] a); +marginT operator +(path, pen)(marginT ma(path, pen), marginT mb(path, pen)); pen[] operator +(pen[] a, pen b); real operator cast(int); pair operator cast(int); @@ -1892,33 +1892,33 @@ string[][][] operator cast(file); guide operator cast(cycleToken tok); guide operator cast(curlSpecifier spec); guide operator cast(tensionSpecifier t); -align operator cast(side side); -guide[] operator cast(path[] g); -pair operator cast(pairOrTriple a); -triple operator cast(pairOrTriple a); -pen operator cast(hsv hsv); -frame operator cast(object F); -bool3[] operator cast(bool[] b); -hsv operator cast(pen p); -position operator cast(pair x); object operator cast(Label L); Label operator cast(object F); -pair operator cast(position P); -object operator cast(frame f); +guide[] operator cast(path[] g); +hsv operator cast(pen p); +bool3[] operator cast(bool[] b); +position operator cast(int x); +object operator cast(string s); +position operator cast(real x); +Label operator cast(string s); guide[] operator cast(pair[] z); path[] operator cast(guide[] g); bool operator cast(bool3 b); -align operator cast(pair dir); +pair operator cast(pairOrTriple a); +triple operator cast(pairOrTriple a); +frame operator cast(object F); path[] operator cast(guide g); +position operator cast(pair x); path[] operator cast(pair[] z); -align operator cast(triple dir); path[] operator cast(path p); +pair operator cast(position P); bool[] operator cast(bool3[] b); +object operator cast(frame f); +align operator cast(side side); bool3 operator cast(bool b); -position operator cast(int x); -object operator cast(string s); -position operator cast(real x); -Label operator cast(string s); +align operator cast(pair dir); +pen operator cast(hsv hsv); +align operator cast(triple dir); pen deepred; bool error(file f); string operator ecast(int); @@ -1946,44 +1946,44 @@ path3 operator init(); pen operator init(); frame operator init(); file operator init(); -light operator init(); -autoscaleT operator init(); -align operator init(); marginT operator init(); -simplex operator init(); -scaleT operator init(); +node operator init(); +Label operator init(); filltype operator init(); -coords3 operator init(); -marker operator init(); -cputime operator init(); +simplex operator init(); +Legend operator init(); +position operator init(); slice operator init(); projection operator init(); -picture operator init(); +ScaleT operator init(); +side operator init(); +cputime operator init(); hsv operator init(); +scaleT operator init(); +align operator init(); +processtime operator init(); coords2 operator init(); coords2 operator init(); -transformation operator init(); -pairOrTriple operator init(); -object operator init(); +light operator init(); +coords3 operator init(); +arrowhead operator init(); scaling operator init(); scaling operator init(); bounds operator init(); -node operator init(); -Label operator init(); -processtime operator init(); +transformation operator init(); +marker operator init(); coord operator init(); coord operator init(); -Legend operator init(); -position operator init(); +picture operator init(); bool3 operator init(); -ScaleT operator init(); -side operator init(); -arrowhead operator init(); +autoscaleT operator init(); +pairOrTriple operator init(); +object operator init(); sCAD operator init(); frame NoBox(frame f); real animationdelay; -animation operator init(); frame BBox(frame)(real xmargin=<default>, real ymargin=<default>, pen p=<default>, filltype filltype=<default>); +animation operator init(); void annotate(picture pic=<default>, string title, string text, pair position); void babel(string s); path[] bezulate(path[] p); @@ -2005,26 +2005,26 @@ key nil; key key(int n, bool active=<default>); real minDistDefault; real nodeMarginDefault; -binarytreeNode operator init(); -key operator init(); -binarytree operator init(); -binarytreeNode binarytreeNode(int key); +object draw(picture pic=<default>, binarytreeNode node, pair pos, int height, real minDist, real levelDist, real nodeDiameter, pen p=<default>, bool condensed=<default>); +void draw(picture pic=<default>, binarytree tree, real minDist=<default>, real nodeMargin=<default>, pen p=<default>, bool condensed=<default>); key operator cast(int n); int operator cast(key k); int[] operator cast(key[] k); -object draw(picture pic=<default>, binarytreeNode node, pair pos, int height, real minDist, real levelDist, real nodeDiameter, pen p=<default>, bool condensed=<default>); -void draw(picture pic=<default>, binarytree tree, real minDist=<default>, real nodeMargin=<default>, pen p=<default>, bool condensed=<default>); +binarytreeNode binarytreeNode(int key); +binarytreeNode operator init(); +key operator init(); +binarytree operator init(); binarytree searchtree(... int[] keys); real epsilon; void add(picture pic=<default>, face[] faces, projection P=<default>); +picture operator cast(face f); +face operator cast(path3 p); line intersection(face a, face b); face operator init(); line operator init(); half operator init(); splitface operator init(); bsp operator init(); -picture operator cast(face f); -face operator cast(path3 p); splitface split(face a, face cut, projection P); void addseg(pair[][] gds, segment seg); pen[] extend(pen[] palette, pen below, pen above); @@ -2033,16 +2033,16 @@ void collect(pair[][][] points, real[] c); segment case3(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge=<default>); segment case1(pair p0, pair p1, int edge); real eps; +segment checktriangle(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge=<default>); +segment case2(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge); guide[][] contour(pair[][] z, real[][] f, real[][] midpoint=<default>, real[] c, guide join(... guide[])=<default>); guide[][] contour(real[][] f, real[][] midpoint=<default>, pair a, pair b, real[] c, guide join(... guide[])=<default>); guide[][] contour(real f(real, real), pair a, pair b, real[] c, int nx=<default>, int ny=<default>, guide join(... guide[])=<default>); guide[][] contour(real f(pair), pair a, pair b, real[] c, int nx=<default>, int ny=<default>, guide join(... guide[])=<default>); guide[][] contour(pair[] z, real[] f, real[] c, guide join(... guide[])=<default>); -segment checktriangle(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge=<default>); -segment case2(pair p0, pair p1, pair p2, real v0, real v1, real v2, int edge); +segment operator init(); void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen[] p); void draw(picture pic=<default>, Label[] L=<default>, guide[][] g, pen p=<default>); -segment operator init(); pen[][] interior(picture pic=<default>, guide[][] g, pen[] palette); void fill(picture pic=<default>, guide[][] g, pen[][] palette); vertex[][] contour3(triple[][][] v, real[][][] f, real[][][] midpoint=<default>, projection P=<default>); @@ -2056,10 +2056,10 @@ surface surface(vertex[][] g); real eps; real treeMinNodeWidth; real treeNodeStep; +void add(TreeNode child, TreeNode parent); TreeNode operator init(); TreeNode makeNode(TreeNode parent=<default>, frame f); TreeNode makeNode(TreeNode parent=<default>, Label label); -void add(TreeNode child, TreeNode parent); real treeLevelStep; void draw(TreeNode root, pair pos); void drawAll(TreeNode node, frame f); @@ -2070,7 +2070,6 @@ string embedplayer(string name, string text=<default>, string options=<default>, string link(string label, string text=<default>); string hyperlink(string url, string text); string embed(string name, string text=<default>, string options=<default>, real width=<default>, real height=<default>, string image=<default>); -bool XYAlign; void drawMomArrow(picture pic=<default>, path p, align align, position pos=<default>, real offset=<default>, real length=<default>, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real margin=<default>); void drawVertexOX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>); void drawVertexBoxO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>); @@ -2094,24 +2093,26 @@ pen ghostpen; real photonamplitude; real gluonamplitude; real photonratio; +bool XYAlign; pen gluonpen; pen fermionpen; void drawVertexX(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>); +real bigvertexsize; void drawVertexO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>); -real momarrowfactor; real momarrowlength; -void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>); -path photon(path p, real amp=<default>, real width=<default>); void texshipout(string stem, picture pic=<default>, bool xalign=<default>); +path photon(path p, real amp=<default>, real width=<default>); void drawPhoton(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>); path gluon(path p, real amp=<default>, real width=<default>); real momarrowsize(pen p=<default>); -void fmdefaults(); +void drawVertexTriangleO(picture pic=<default>, pair xy, real r=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>); void drawFermion(picture pic=<default>, path p, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>); +void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle); bool appendsuffix; -path momArrowPath(path p, align align, position pos, real offset=<default>, real length=<default>); +void fmdefaults(); +real momarrowfactor; pen vertexpen; -real bigvertexsize; +path momArrowPath(path p, align align, position pos, real offset=<default>, real length=<default>); real gluonratio; void drawGluon(picture pic=<default>, path p, real amp=<default>, real width=<default>, pen fgpen=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>); pen backgroundpen; @@ -2121,7 +2122,6 @@ void drawVertexBoxX(picture pic=<default>, pair xy, real r=<default>, pen fgpen= void drawScalar(picture pic=<default>, path p, pen fgpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool erasebg=<default>, pen bgpen=<default>, real vertexangle=<default>, real margin=<default>); string includegraphicscommand; pen photonpen; -void do_overpaint(picture pic, path p, pen bgpen, real halfwidth, real vertexangle); pen bigvertexpen; Dir Down; Dir Left; @@ -2169,8 +2169,50 @@ triangle extouch(triangle t); triangle extouch(side side); triangle pedal(triangle t, point M); line pedal(side side, point M); -point isogonalconjugate(triangle t, point M); +point isogonal(side side, point M); +line isogonal(vertex V, point M); +triangle isogonal(triangle t, point M); point isotomicconjugate(triangle t, point M); +pair[] intersectionpoints(pair A, pair B, real a, real b, real c, real d, real f, real g); +pair[] intersectionpoints(pair A, pair B, real[] equation); +point[] intersectionpoints(line l, path g); +point[] intersectionpoints(bqe bqe1, bqe bqe2); +point[] intersectionpoints(triangle t, line l, bool extended=<default>); +point[] intersectionpoints(line l, triangle t, bool extended=<default>); +point[] intersectionpoints(line l, circle c); +point[] intersectionpoints(circle c, line l); +point[] intersectionpoints(line l, ellipse el); +point[] intersectionpoints(ellipse el, line l); +point[] intersectionpoints(line l, parabola p); +point[] intersectionpoints(parabola p, line l); +point[] intersectionpoints(line l, hyperbola h); +point[] intersectionpoints(hyperbola h, line l); +point[] intersectionpoints(line l, conic co); +point[] intersectionpoints(conic co, line l); +point[] intersectionpoints(conic co1, conic co2); +point[] intersectionpoints(triangle t, conic co, bool extended=<default>); +point[] intersectionpoints(conic co, triangle t, bool extended=<default>); +point[] intersectionpoints(ellipse a, ellipse b); +point[] intersectionpoints(ellipse a, circle b); +point[] intersectionpoints(circle a, ellipse b); +point[] intersectionpoints(ellipse a, parabola b); +point[] intersectionpoints(parabola a, ellipse b); +point[] intersectionpoints(ellipse a, hyperbola b); +point[] intersectionpoints(hyperbola a, ellipse b); +point[] intersectionpoints(circle a, parabola b); +point[] intersectionpoints(parabola a, circle b); +point[] intersectionpoints(circle a, hyperbola b); +point[] intersectionpoints(hyperbola a, circle b); +point[] intersectionpoints(parabola a, parabola b); +point[] intersectionpoints(parabola a, hyperbola b); +point[] intersectionpoints(hyperbola a, parabola b); +point[] intersectionpoints(hyperbola a, hyperbola b); +point[] intersectionpoints(circle c1, circle c2); +point[] intersectionpoints(conic co, arc a); +point[] intersectionpoints(arc a, conic co); +point[] intersectionpoints(arc a1, arc a2); +point[] intersectionpoints(line l, arc a); +point[] intersectionpoints(arc a, line l); transform projection(point A, point B); transform projection(point A, point B, point C, point D, bool safe=<default>); transform projection(line l); @@ -2220,18 +2262,17 @@ abscissa angabscissa(hyperbola h, point M, path polarconicroutine(conic co, real abscissa angabscissa(parabola p, point M); abscissa angabscissa(explicit conic co, point M); abscissa angabscissa(arc a, point M); -point arcsubtendedcenter(point A, point B, real angle); +point centroid(point A, point B, point C); +point centroid(triangle t); inversion inversion(real k, point C); inversion inversion(point C, real k); inversion inversion(circle c1, circle c2, real sgn=<default>); inversion inversion(circle c1, circle c2, circle c3); inversion inversion(circle c); -real EPS; -bqe canonical(bqe bqe); +point arcsubtendedcenter(point A, point B, real angle); +line altitude(vertex V); +line altitude(side side); path compassmark(pair O, pair A, real position, real angle=<default>); -triangle cevian(triangle t, point P); -point cevian(side side, point P); -line cevian(vertex V, point P); vector vector(coordsys R=<default>, pair v); vector vector(point M); path square(pair z1, pair z2); @@ -2249,7 +2290,6 @@ real arclength(parabola p, real angle); real arclength(parabola p, real angle1, real angle2); real arclength(parabola p); real arclength(arc a); -point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M); bool degenerate(conic c); bool degenerate(circle c); bool degenerate(ellipse el); @@ -2259,8 +2299,8 @@ void perpendicularmark(picture pic=<default>, point z, explicit pair align, path void perpendicularmark(picture pic=<default>, point z, vector align, path g, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>); void perpendicularmark(picture pic=<default>, line l1, line l2, real size=<default>, pen p=<default>, int quarter=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>); void markrightangle(picture pic=<default>, point A, point O, point B, real size=<default>, pen p=<default>, marginT margin(path, pen)=<default>, filltype filltype=<default>); -line sector(int n=<default>, int p=<default>, line l1, line l2, real angle=<default>, bool sharp=<default>); point ppoint(arc a, real x); +line sector(int n=<default>, int p=<default>, line l1, line l2, real angle=<default>, bool sharp=<default>); line hline(coordsys R=<default>); line hline; real binomial(real n, real k); @@ -2298,36 +2338,28 @@ point bisectorpoint(side side); transform scale(real k, point M); transform scale(real k, point A, point B, point C, point D, bool safe=<default>); transform scale(real k, line l1, line l2, bool safe=<default>); -point angpoint(conic co, real angle); -point angpoint(explicit circle c, real x); -point angpoint(explicit ellipse el, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>); -point angpoint(explicit parabola p, real x); -point angpoint(explicit hyperbola h, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>); -point angpoint(arc a, real angle); -pen addpenline; -pen addpenline(pen p); +point relpoint(line l, real x); +point relpoint(explicit circle c, real x); +point relpoint(explicit ellipse el, real x); +point relpoint(explicit parabola p, real x); +point relpoint(explicit hyperbola h, real x); +point relpoint(explicit conic co, explicit real x); +point relpoint(explicit conic co, explicit int x); +point relpoint(arc a, real x); +bool collinear(vector u, vector v); +string conictype(bqe bqe); bool operator ==(coordsys c1, coordsys c2); bool operator ==(explicit point M, explicit point N); bool operator ==(explicit vector u, explicit vector v); bool operator ==(line l1, line l2); +mass masscenter(... mass[] M); triangle triangleAbc(real alpha, real b, real c, real angle=<default>, point A=<default>); vector unit(point M); vector unit(vector u); transform reflect(line l); transform reflect(line l1, line l2, bool safe=<default>); -real sharpdegrees(line l1, line l2); -int ellipsenodesnumberfactor; -line tangent(circle c, abscissa x); -line tangent(circle c, point M); -line tangent(circle c, explicit vector v); -line tangent(ellipse el, abscissa x); -line tangent(parabola p, abscissa x); -line tangent(hyperbola h, abscissa x); -line tangent(explicit arc a, abscissa x); -line tangent(explicit arc a, point M); -mass masscenter(... mass[] M); -circle incircle(point A, point B, point C); -circle incircle(triangle t); +real EPS; +bqe canonical(bqe bqe); real degrees(explicit point M, coordsys R=<default>, bool warn=<default>); real degrees(vector v, coordsys R=<default>, bool warn=<default>); real degrees(line l, coordsys R=<default>); @@ -2335,9 +2367,17 @@ real degrees(line l1, line l2); real degrees(arc a); point foot(vertex V); point foot(side side); +ellipse ellipse(point F1, point F2, real a); +ellipse ellipse(point F1, point F2, point M); +ellipse ellipse(point C, real a, real b, real angle=<default>); +ellipse ellipse(bqe bqe); +ellipse ellipse(point M1, point M2, point M3, point M4, point M5); point[] fermat(triangle t); point excenter(point A, point B, point C); point excenter(side side); +bool operator !=(explicit point M, explicit point N); +bool operator !=(line l1, line l2); +arc arcsubtended(point A, point B, real angle); triangle incentral(triangle t); point origin; point origin(coordsys R=<default>); @@ -2345,48 +2385,7 @@ string massformat(string format=<default>, string s, mass M); void write(explicit line l); void write(explicit segment s); void write(trilinear tri); -point midpoint(segment s); -point midpoint(side side); -point relpoint(line l, real x); -point relpoint(explicit circle c, real x); -point relpoint(explicit ellipse el, real x); -point relpoint(explicit parabola p, real x); -point relpoint(explicit hyperbola h, real x); -point relpoint(explicit conic co, explicit real x); -point relpoint(explicit conic co, explicit int x); -point relpoint(arc a, real x); -bool collinear(vector u, vector v); -point curpoint(line l, real x); -point curpoint(explicit circle c, real x); -point curpoint(explicit ellipse el, real x); -point curpoint(explicit parabola p, real x); -point curpoint(conic co, real x); -point curpoint(arc a, real x); -int parabolanodesnumber(parabola p, real angle1, real angle2); -line complementary(explicit line l); -line[] complementary(explicit segment s); -arc complementary(arc a); -pair coordinates(point M); -string defaultmassformat; -int circlenodesnumberfactor; -coordsys operator init(); -point operator init(); -vector operator init(); -line operator init(); -segment operator init(); -bqe operator init(); -conic operator init(); -circle operator init(); -ellipse operator init(); -parabola operator init(); -hyperbola operator init(); -abscissa operator init(); -arc operator init(); -mass operator init(); -triangle operator init(); -trilinear operator init(); -inversion operator init(); -triangle triangle(line l1, line l2, line l3); +int ellipsenodesnumberfactor; pair operator cast(point P); pair[] operator cast(point[] P); point operator cast(pair p); @@ -2432,61 +2431,46 @@ point operator cast(vertex V); point operator cast(trilinear tri); circle operator cast(inversion i); inversion operator cast(circle c); -bool inside(ellipse el, point M); -bool inside(parabola p, point M); -transform vprojection(line l, bool safe=<default>); -string conictype(bqe bqe); -circle circumcircle(point A, point B, point C); -circle circumcircle(triangle t); -pen addpenarc; -pen addpenarc(pen p); -line reverse(line l); -arc reverse(arc a); -line vline(coordsys R=<default>); -line vline; -real[] intersect(path g, explicit pair p, real fuzz=<default>); -real[] intersect(path g, explicit point P, real fuzz=<default>); -pair[] intersectionpoints(pair A, pair B, real a, real b, real c, real d, real f, real g); -pair[] intersectionpoints(pair A, pair B, real[] equation); -point[] intersectionpoints(line l, path g); -point[] intersectionpoints(bqe bqe1, bqe bqe2); -point[] intersectionpoints(triangle t, line l, bool extended=<default>); -point[] intersectionpoints(line l, triangle t, bool extended=<default>); -point[] intersectionpoints(line l, circle c); -point[] intersectionpoints(circle c, line l); -point[] intersectionpoints(line l, ellipse el); -point[] intersectionpoints(ellipse el, line l); -point[] intersectionpoints(line l, parabola p); -point[] intersectionpoints(parabola p, line l); -point[] intersectionpoints(line l, hyperbola h); -point[] intersectionpoints(hyperbola h, line l); -point[] intersectionpoints(line l, conic co); -point[] intersectionpoints(conic co, line l); -point[] intersectionpoints(conic co1, conic co2); -point[] intersectionpoints(triangle t, conic co, bool extended=<default>); -point[] intersectionpoints(conic co, triangle t, bool extended=<default>); -point[] intersectionpoints(ellipse a, ellipse b); -point[] intersectionpoints(ellipse a, circle b); -point[] intersectionpoints(circle a, ellipse b); -point[] intersectionpoints(ellipse a, parabola b); -point[] intersectionpoints(parabola a, ellipse b); -point[] intersectionpoints(ellipse a, hyperbola b); -point[] intersectionpoints(hyperbola a, ellipse b); -point[] intersectionpoints(circle a, parabola b); -point[] intersectionpoints(parabola a, circle b); -point[] intersectionpoints(circle a, hyperbola b); -point[] intersectionpoints(hyperbola a, circle b); -point[] intersectionpoints(parabola a, parabola b); -point[] intersectionpoints(parabola a, hyperbola b); -point[] intersectionpoints(hyperbola a, parabola b); -point[] intersectionpoints(hyperbola a, hyperbola b); -point[] intersectionpoints(circle c1, circle c2); -point[] intersectionpoints(conic co, arc a); -point[] intersectionpoints(arc a, conic co); -point[] intersectionpoints(arc a1, arc a2); -point[] intersectionpoints(line l, arc a); -point[] intersectionpoints(arc a, line l); -void drawline(picture pic=<default>, triangle t, pen p=<default>); +line complementary(explicit line l); +line[] complementary(explicit segment s); +arc complementary(arc a); +point angpoint(conic co, real angle); +point angpoint(explicit circle c, real x); +point angpoint(explicit ellipse el, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>); +point angpoint(explicit parabola p, real x); +point angpoint(explicit hyperbola h, real x, path polarconicroutine(conic co, real angle1, real angle2, int n, bool direction)=<default>); +point angpoint(arc a, real angle); +pen addpenline; +pen addpenline(pen p); +int parabolanodesnumber(parabola p, real angle1, real angle2); +point curpoint(line l, real x); +point curpoint(explicit circle c, real x); +point curpoint(explicit ellipse el, real x); +point curpoint(explicit parabola p, real x); +point curpoint(conic co, real x); +point curpoint(arc a, real x); +point midpoint(segment s); +point midpoint(side side); +string defaultmassformat; +int circlenodesnumberfactor; +coordsys operator init(); +point operator init(); +vector operator init(); +line operator init(); +segment operator init(); +bqe operator init(); +conic operator init(); +circle operator init(); +ellipse operator init(); +parabola operator init(); +hyperbola operator init(); +abscissa operator init(); +arc operator init(); +mass operator init(); +triangle operator init(); +trilinear operator init(); +inversion operator init(); +real sharpdegrees(line l1, line l2); void draw(picture pic=<default>, Label L=<default>, line l, bool dirA=<default>, bool dirB=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label legend=<default>, marker marker=<default>, path pathModifier(path)=<default>); void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen[] p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>); void draw(picture pic=<default>, Label[] L=<default>, line[] l, align align=<default>, pen p, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label[] legend=<default>, marker marker=<default>, path pathModifier(path)=<default>); @@ -2498,11 +2482,19 @@ void draw(picture pic=<default>, Label L=<default>, explicit conic co, align ali void draw(picture pic=<default>, Label L=<default>, arc a, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, bool bar(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, Label legend=<default>, marker marker=<default>); void draw(picture pic=<default>, triangle t, pen p=<default>, marker marker=<default>); void draw(picture pic=<default>, triangle[] t, pen p=<default>, marker marker=<default>); -void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>); -void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>); -void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>); -side opposite(vertex V); -vertex opposite(side side); +pair coordinates(point M); +transform vprojection(line l, bool safe=<default>); +circle circumcircle(point A, point B, point C); +circle circumcircle(triangle t); +pen addpenarc; +pen addpenarc(pen p); +line reverse(line l); +arc reverse(arc a); +void drawline(picture pic=<default>, triangle t, pen p=<default>); +bool inside(ellipse el, point M); +bool inside(parabola p, point M); +circle incircle(point A, point B, point C); +circle incircle(triangle t); line[] operator ^^(line l1, line l2); line[] operator ^^(line l1, line[] l2); line[] operator ^^(line[] l2, line l1); @@ -2539,6 +2531,9 @@ mass operator +(explicit mass M, real x); mass operator +(explicit mass M, int x); point intersectionpoint(line l1, line l2); bool concurrent(... line[] l); +void label(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>, filltype filltype=<default>); +void label(picture pic=<default>, Label L, vertex V, pair align=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>); +void label(picture pic=<default>, Label LA=<default>, Label LB=<default>, Label LC=<default>, triangle t, real alignAngle=<default>, real alignFactor=<default>, pen p=<default>, filltype filltype=<default>); circle circle(explicit point C, real r); circle circle(point A, point B); circle circle(segment s); @@ -2566,6 +2561,9 @@ arc arc(ellipse el, point M, point N, bool direction=<default>); arc arc(explicit arc a, abscissa x1, abscissa x2); arc arc(explicit arc a, point M, point N); path arc(explicit pair B, explicit pair A, explicit pair C, real r); +point isogonalconjugate(triangle t, point M); +transform xscale(real k, point M); +bool between(point M, point O, point N); point operator -(explicit point P); point operator -(explicit point P1, explicit point P2); point operator -(explicit point P1, explicit pair p2); @@ -2591,24 +2589,23 @@ mass operator -(mass M1, mass M2); mass operator -(explicit mass M, real x); mass operator -(explicit mass M, int x); real[] realquarticroots(real a, real b, real c, real d, real e); -bool operator !=(explicit point M, explicit point N); -bool operator !=(line l1, line l2); -arc arcsubtended(point A, point B, real angle); -point centroid(point A, point B, point C); -point centroid(triangle t); +coordsys canonicalcartesiansystem(ellipse el); +coordsys canonicalcartesiansystem(parabola p); +coordsys canonicalcartesiansystem(hyperbola h); +coordsys canonicalcartesiansystem(explicit conic co); hyperbola hyperbola(point P1, point P2, real ae, bool byfoci=<default>); hyperbola hyperbola(point C, real a, real b, real angle=<default>); hyperbola hyperbola(bqe bqe); hyperbola hyperbola(point M1, point M2, point M3, point M4, point M5); +real[] intersect(path g, explicit pair p, real fuzz=<default>); +real[] intersect(path g, explicit point P, real fuzz=<default>); transform rotate(explicit pair dir); transform rotate(explicit vector dir); transform rotate(explicit point dir); void addMargins(picture pic=<default>, real lmargin=<default>, real bmargin=<default>, real rmargin=<default>, real tmargin=<default>, bool rigid=<default>, bool allObject=<default>); -ellipse ellipse(point F1, point F2, real a); -ellipse ellipse(point F1, point F2, point M); -ellipse ellipse(point C, real a, real b, real angle=<default>); -ellipse ellipse(bqe bqe); -ellipse ellipse(point M1, point M2, point M3, point M4, point M5); +point circumcenter(point A, point B, point C); +point circumcenter(triangle t); +triangle triangle(line l1, line l2, line l3); path fromCenter(conic co, real angle1, real angle2, int n, bool direction); abscissa nodabscissa(real x); abscissa nodabscissa(int x); @@ -2618,16 +2615,20 @@ abscissa nodabscissa(ellipse el, point M); abscissa nodabscissa(parabola p, point M); abscissa nodabscissa(conic co, point M); abscissa nodabscissa(arc a, point M); -point isogonal(side side, point M); -line isogonal(vertex V, point M); -triangle isogonal(triangle t, point M); -transform xscale(real k, point M); -point circumcenter(point A, point B, point C); -point circumcenter(triangle t); +side opposite(vertex V); +vertex opposite(side side); line Ox(coordsys R=<default>); line Ox; real abs(coordsys R, pair m); real abs(explicit point M); +line tangent(circle c, abscissa x); +line tangent(circle c, point M); +line tangent(circle c, explicit vector v); +line tangent(ellipse el, abscissa x); +line tangent(parabola p, abscissa x); +line tangent(hyperbola h, abscissa x); +line tangent(explicit arc a, abscissa x); +line tangent(explicit arc a, point M); trilinear trilinear(triangle t, real a, real b, real c); trilinear trilinear(triangle t, point M); trilinear trilinear(triangle t, real f(real, real, real), real a=<default>, real b=<default>, real c=<default>); @@ -2637,12 +2638,8 @@ real angle(explicit vector v, coordsys R=<default>, bool warn=<default>); real angle(line l, coordsys R=<default>); real angle(line l1, line l2); real angle(arc a); -coordsys canonicalcartesiansystem(ellipse el); -coordsys canonicalcartesiansystem(parabola p); -coordsys canonicalcartesiansystem(hyperbola h); -coordsys canonicalcartesiansystem(explicit conic co); -real[] bangles(picture pic=<default>, parabola p); -real[][] bangles(picture pic=<default>, hyperbola h); +line vline(coordsys R=<default>); +line vline; triangle tangential(triangle t); line[] tangents(circle c, point M); line[] tangents(ellipse el, point M); @@ -2696,6 +2693,7 @@ bqe changecoordsys(coordsys R, bqe bqe); conic changecoordsys(coordsys R, conic co); bool samecoordsys(bool warn=<default> ... point[] M); bool samecoordsys(bool warn=<default> ... bqe[] bqes); +point[] standardizecoordsys(coordsys R=<default>, bool warn=<default> ... point[] M); pair locate(point P); point locate(pair p); pair locate(explicit vector v); @@ -2725,7 +2723,6 @@ bool sameside(point M, point N, point O); bool sameside(point M, point P, line l); point[] sameside(point M, line l1, line l2); path currentpolarconicroutine(conic co, real angle1, real angle2, int n, bool direction); -bool between(point M, point O, point N); int ellipsenodesnumber(real a, real b); int ellipsenodesnumber(real a, real b, real angle1, real angle2, bool dir); path NoModifier(path); @@ -2733,6 +2730,8 @@ void Drawline(picture pic=<default>, Label L=<default>, pair P, bool dirP=<defau void distance(picture pic=<default>, Label L=<default>, point A, point B, bool rotated=<default>, real offset=<default>, pen p=<default>, pen joinpen=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>); real distance(point M, line l); real distance(line l, point M); +real[] bangles(picture pic=<default>, parabola p); +real[][] bangles(picture pic=<default>, hyperbola h); pair attract(pair m, path g, real fuzz=<default>); point attract(point M, path g, real fuzz=<default>); point incenter(point A, point B, point C); @@ -2742,13 +2741,13 @@ coordsys coordsys(conic co); coordsys coordsys(ellipse el); line Oy(coordsys R=<default>); line Oy; +real centerToFocus(ellipse el, real a); void dot(picture pic=<default>, Label L, explicit point Z, align align=<default>, string format=<default>, pen p=<default>); real dot(point A, point B); real dot(point A, explicit pair B); real dot(explicit pair A, point B); void dot(picture pic=<default>, Label L, explicit mass M, align align=<default>, string format=<default>, pen p=<default>); void dot(picture pic=<default>, triangle t, pen p=<default>); -real centerToFocus(ellipse el, real a); line parallel(point M, line l); line parallel(point M, explicit vector dir); line parallel(point M, explicit pair dir); @@ -2816,12 +2815,13 @@ real exradius(side side); circle excircle(point A, point B, point C); circle excircle(side side); int[] numarray; -line altitude(vertex V); -line altitude(side side); int[] tricoef(side side); point symmedian(triangle t); point symmedian(side side); line symmedian(vertex V); +triangle cevian(triangle t, point P); +point cevian(side side, point P); +line cevian(vertex V, point P); int angularsystem; point gergonne(triangle t); path Arc(pair c, real r, real angle1, real angle2, bool direction, int n=<default>); @@ -2856,10 +2856,10 @@ void labelx(picture pic=<default>, Label L=<default>, real x, align align=<defau void labelx(picture pic=<default>, Label L, string format=<default>, explicit pen p=<default>); void tick(picture pic=<default>, pair z, pair dir, real size=<default>, pen p=<default>); void tick(picture pic=<default>, Label L, real value, explicit pair z, pair dir, string format=<default>, real size=<default>, pen p=<default>); +void xaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>); void limits(picture pic=<default>, pair min, pair max, bool crop=<default>); void crop(picture pic=<default>); void ylimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>); -void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>); void YZero(picture, axisT)(bool extend=<default>); void YZero(picture, axisT); void YEquals(picture, axisT)(real y, bool extend=<default>); @@ -2874,7 +2874,8 @@ void RightTicks(frame, transform, Label, pair, path, path, pen, bool(picture, pa void RightTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>); void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(); void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>); -tickvalues OmitTickInterval(tickvalues)(real a, real b); +tickvalues OmitTick(tickvalues)(... real[] x); +tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b); void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks=<default>, real[] ticks=<default>, int N=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); @@ -2883,7 +2884,7 @@ void Ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, p real zerotickfuzz; void drawtick(frame f, transform T, path g, path g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend); pair ticklabelshift(pair align, pen p=<default>); -void xaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>); +void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>); string DefaultFormat(real); string Format(real)(string s=<default>); real upscale(real b, real a); @@ -2898,6 +2899,10 @@ scaleT Linear(bool automin=<default>, bool automax=<default>, real s=<default>, bool axiscoverage(int N, transform T, path g, ticklocate locate, real Step, pair side, int sign, real Size, Label F, string ticklabel(real), real norm, real limit); void errorbar(picture pic, pair z, pair dp, pair dm, pen p=<default>, real size=<default>); real linear(real)(real S(real x)=<default>, real Min, real Max); +tickvalues OmitTickInterval(tickvalues)(real a, real b); +void BottomTop(picture, axisT)(bool extend=<default>); +void BottomTop(picture, axisT); +int Value; tickvalues NoZero(tickvalues); autoscaleT defaultS; real ScaleY(picture pic=<default>, real y); @@ -2910,23 +2915,21 @@ void Right(picture, axisT); void errorbars(picture pic=<default>, pair[] z, pair[] dp, pair[] dm=<default>, bool[] cond=<default>, pen p=<default>, real size=<default>); void errorbars(picture pic=<default>, real[] x, real[] y, real[] dpx, real[] dpy, real[] dmx=<default>, real[] dmy=<default>, bool[] cond=<default>, pen p=<default>, real size=<default>); void errorbars(picture pic=<default>, real[] x, real[] y, real[] dpy, bool[] cond=<default>, pen p=<default>, real size=<default>); -void XZero(picture, axisT)(bool extend=<default>); -void XZero(picture, axisT); +tickvalues None(tickvalues v); void labelaxis(frame f, transform T, Label L, path g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>); path Circle(pair c, real r, int n=<default>); -void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>); +void yaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>); real ytrans(transform t, real y); string LogFormat(real)(int base); string LogFormat(real); -tickvalues OmitTickIntervals(tickvalues)(real[] a, real[] b); void checkconditionlength(int x, int y); -pair zero(real); -void label(picture pic, Label L, pair z, real x, align align, string format, pen p); pair tickMin(picture pic); tickvalues generateticks(int sign, Label F=<default>, string ticklabel(real)=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, real Size=<default>, real size=<default>, transform T, pair side, path g, real limit, pen p, ticklocate locate, int[] divisor, bool opposite); int Both; ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, pair dir(real)=<default>); int Max; +pair zero(real); +void label(picture pic, Label L, pair z, real x, align align, string format, pen p); scaleT Logarithmic; string NoZeroFormat(real); string trailingzero; @@ -2941,31 +2944,27 @@ ticklocate operator init(); locateT operator init(); tickvalues operator init(); axisT operator init(); -void yaxis(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool autorotate=<default>); real ScaleX(picture pic=<default>, real x); -pair tickMax(picture pic); -real xtrans(transform t, real x); +scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<default>); void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void LeftTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>); pair Scale(picture pic=<default>, pair z); -tickvalues None(tickvalues v); +string baselinetemplate; real maxlength(pair a, pair b, int nx, int ny); -scaleT BrokenLog(real a, real b, bool automin=<default>, bool automax=<default>); +void XZero(picture, axisT)(bool extend=<default>); +void XZero(picture, axisT); void xequals(picture pic=<default>, Label L=<default>, real x, bool extend=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>); scaleT Log; scaleT Log(bool automin=<default>, bool automax=<default>); +real xtrans(transform t, real x); string signedtrailingzero; -string baselinetemplate; void xlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>); void scale(picture pic=<default>, scaleT x, scaleT y=<default>, scaleT z=<default>); void scale(picture pic=<default>, bool xautoscale=<default>, bool yautoscale=<default>, bool zautoscale=<default>); -int Value; -void BottomTop(picture, axisT)(bool extend=<default>); -void BottomTop(picture, axisT); +pair tickMax(picture pic); void Bottom(picture, axisT)(bool extend=<default>); void Bottom(picture, axisT); -tickvalues OmitTick(tickvalues)(... real[] x); void xtick(picture pic=<default>, explicit pair z, pair dir=<default>, real size=<default>, pen p=<default>); void xtick(picture pic=<default>, real x, pair dir=<default>, real size=<default>, pen p=<default>); void xtick(picture pic=<default>, Label L, explicit pair z, pair dir=<default>, string format=<default>, real size=<default>, pen p=<default>); @@ -2983,6 +2982,7 @@ void axis(picture pic=<default>, Label L=<default>, path g, path g2=<default>, p string DefaultLogFormat(real)(int base); string DefaultLogFormat(real); string OmitFormat(real)(string s=<default> ... real[] x); +void xaxisAt(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, marginT margin(path, pen)=<default>, bool above=<default>, bool opposite=<default>); void labelz(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>); void labelx3(picture pic=<default>, Label L=<default>, real x, align align=<default>, string format=<default>, pen p=<default>); void ztick3(picture pic=<default>, real z, triple dir=<default>, real size=<default>, pen p=<default>); @@ -2991,7 +2991,7 @@ void ztick(picture pic=<default>, triple v, triple dir=<default>, real size=<def void ztick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>); void ytick3(picture pic=<default>, real y, triple dir=<default>, real size=<default>, pen p=<default>); void ytick3(picture pic=<default>, Label L, real y, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>); -void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); +void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); void autoscale3(picture pic=<default>, void axis(picture, axisT)); void zaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>); void yaxis3At(picture pic=<default>, Label L=<default>, void axis(picture, axisT), real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>, bool opposite=<default>, bool opposite2=<default>, bool primary=<default>); @@ -3015,39 +3015,40 @@ void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, ma void Ticks3(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(int sign, Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); surface bispline(real[][] z, real[][] p, real[][] q, real[][] r, real[] x, real[] y, bool[][] cond=<default>); void axes3(picture pic=<default>, Label xlabel=<default>, Label ylabel=<default>, Label zlabel=<default>, bool extend=<default>, triple min=<default>, triple max=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>); +void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>); bool vperiodic(triple[][] a); void xtick3(picture pic=<default>, real x, triple dir=<default>, real size=<default>, pen p=<default>); void xtick3(picture pic=<default>, Label L, real x, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>); bool uperiodic(triple[][] a); -void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); +void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real zmin=<default>, real zmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, tickvalues modify(tickvalues)=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, real[] Ticks, real[] ticks=<default>, real Size=<default>, real size=<default>, bool extend=<default>, pen pTick=<default>, pen ptick=<default>); void OutTicks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>); triple tickMin3(picture pic); void axis(picture pic=<default>, Label L=<default>, path3 g, path3 g2=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>), ticklocate locate, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, int[] divisor=<default>, bool above=<default>, bool opposite=<default>); +triple tickMax3(picture pic); void labely3(picture pic=<default>, Label L=<default>, real y, align align=<default>, string format=<default>, pen p=<default>); void(flatguide3)[][] lift(real f(real x, real y), guide[][] g, void join(flatguide3)(... void(flatguide3)[])=<default>); void(flatguide3)[][] lift(real f(pair z), guide[][] g, void join(flatguide3)(... void(flatguide3)[])=<default>); void ytick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>); void ytick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>); +void Straight(flatguide3)(... void(flatguide3)[]); real xtrans(real[][] t, real x); -real maxlength(triple f(pair z), pair a, pair b, int nu, int nv); -locateT operator init(); triple Dir(real)(triple dir); +locateT operator init(); +void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real ymin=<default>, real ymax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen[] p, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>); void draw(picture pic=<default>, Label[] L=<default>, void(flatguide3)[][] g, pen p=<default>, light light=<default>, string name=<default>, render render=<default>, interaction interaction=<default>); void xtick(picture pic=<default>, triple v, triple dir=<default>, real size=<default>, pen p=<default>); void xtick(picture pic=<default>, Label L, triple v, triple dir=<default>, string format=<default>, real size=<default>, pen p=<default>); picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, bool truesize=<default>, real maxlength=<default>, bool cond(pair z)=<default>, pen p=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, string name=<default>, render render=<default>); path3[] segment(triple[] v, bool[] cond, void join(flatguide3)(... void(flatguide3)[])=<default>); -void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, real xmin=<default>, real xmax=<default>, pen p=<default>, void ticks(picture, real[][], Label, path3, path3, pen, bool(picture, path3, material, marginT3(path3, pen), light, light), marginT3(path3, pen), ticklocate, int[], bool opposite=<default>, bool primary=<default>)=<default>, bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, marginT3 margin(path3, pen)=<default>, bool above=<default>); -void label(picture pic, Label L, triple v, real x, align align, string format, pen p); +real ytrans(real[][] t, real y); ticklocate ticklocate(real a, real b, autoscaleT S=<default>, real tickmin=<default>, real tickmax=<default>, real time(real)=<default>, triple dir(real)); +void label(picture pic, Label L, triple v, real x, align align, string format, pen p); void XZZero(picture, axisT)(triple align=<default>, bool extend=<default>); void XZZero(picture, axisT); -void Straight(flatguide3)(... void(flatguide3)[]); -triple tickMax3(picture pic); -real ytrans(real[][] t, real y); +real maxlength(triple f(pair z), pair a, pair b, int nu, int nv); path3 Circle(triple c, real r, triple normal=<default>, int n=<default>); void labelaxis(picture pic, real[][] T, Label L, path3 g, ticklocate locate=<default>, int sign=<default>, bool ticklabels=<default>); void XYEquals(picture, axisT)(real x, real y, triple align=<default>, bool extend=<default>); @@ -3075,10 +3076,10 @@ void labeltick(picture pic, real[][] T, path3 g, ticklocate locate, real val, in void labelx(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>); void labely(picture pic=<default>, Label L=<default>, triple v, align align=<default>, string format=<default>, pen p=<default>); void drawtick(picture pic, real[][] T, path3 g, path3 g2, ticklocate locate, real val, real Size, int sign, pen p, bool extend); -triple Scale(picture pic=<default>, triple v); void tick(picture pic=<default>, triple v, triple dir, real size=<default>, pen p=<default>); void tick(picture pic=<default>, Label L, real value, triple v, triple dir, string format=<default>, real size=<default>, pen p=<default>); void polargraph(flatguide3)(real r(real, real), real theta(real), real phi(real), int n=<default>, void join(flatguide3)(... void(flatguide3)[])=<default>); +triple Scale(picture pic=<default>, triple v); triple ticklabelshift(triple align, pen p=<default>); triple polar(real r, real theta, real phi); void limits(picture pic=<default>, triple min, triple max); @@ -3093,17 +3094,16 @@ surface surface(triple f(pair z), pair a, pair b, int nu=<default>, int nv=<defa surface surface(triple f(pair z), pair a, pair b, int nu=<default>, int nv=<default>, real[](real[], real[])[] usplinetype, real[](real[], real[])[] vsplinetype=<default>, bool cond(pair z)=<default>); surface surface(real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, bool cond(pair z)=<default>); surface surface(real f(pair z), pair a, pair b, int nx=<default>, int ny=<default>, real[] xsplinetype(real[], real[]), real[] ysplinetype(real[], real[])=<default>, bool cond(pair z)=<default>); -void zlimits(picture pic=<default>, real min=<default>, real max=<default>, bool crop=<default>); real axiscoverage; real Ticksize; real ticksize; int nmesh; int nCircle; real epsilon; -real axislabelfactor; -bool NoCrop; real ylabelwidth; int ngraph; +real axislabelfactor; +bool NoCrop; bool Crop; guide hermite(real[] x, real[] y, real[] splinetype(real[], real[])=<default>); real[] monotonic(real[] x, real[] y); @@ -3115,8 +3115,8 @@ real[] Spline(real[] x, real[] y); real[](real[], real[])[] Spline; real[] notaknot(real[] x, real[] y); real[] periodic(real[] x, real[] y); -real[] natural(real[] x, real[] y); void checklengths(int x, int y, string text=<default>); +real[] natural(real[] x, real[] y); void checkincreasing(real[] x); position middle; grid3(picture pic)[] YX_YZgrid(position posa=<default>, position posb=<default>); @@ -3134,48 +3134,48 @@ grid3 YXgrid(picture pic); grid3 XYgrid(picture pic)(position pos=<default>); grid3 XYgrid(picture pic); ticksgridT InTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>); -grid3 YZgrid(picture pic)(position pos=<default>); -grid3 YZgrid(picture pic); +void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); +grid3(picture pic)[] XZXgrid(position pos=<default>); +grid3(picture pic)[] XZXgrid; grid3(picture pic)[][] XYZgrid(position pos=<default>); grid3(picture pic)[][] XYZgrid; grid3(picture pic)[] YXYgrid(position pos=<default>); grid3(picture pic)[] YXYgrid; grid3(picture pic)[] ZX_ZYgrid(position posa=<default>, position posb=<default>); grid3(picture pic)[] ZX_ZYgrid; +void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); +void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen pGrid=<default>, pen pgrid=<default>, bool above=<default>); +void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen[] pGrid, pen[] pgrid, bool above=<default>); ticksgridT OutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>); -position top; triple ZX(picture pic); triple X(picture pic); triple Y(picture pic); grid3(picture pic)[] operator cast(grid3 gridroutine(picture pic)); grid3(picture pic)[][] operator cast(grid3(picture pic)[] gridroutine); grid3(picture pic)[][] operator cast(grid3 gridroutine(picture pic)); +position top; grid3 operator init(); ticksgridT operator init(); position bottom; -void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen pGrid=<default>, pen pgrid=<default>, bool above=<default>); -void grid3(picture pic=<default>, grid3(picture pic)[][] gridroutine, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, pen[] pGrid, pen[] pgrid, bool above=<default>); +void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); grid3(picture pic)[] XY_XZgrid(position posa=<default>, position posb=<default>); grid3(picture pic)[] XY_XZgrid; -grid3 XZgrid(picture pic)(position pos=<default>); -grid3 XZgrid(picture pic); grid3(picture pic)[] ZYZgrid(position pos=<default>); grid3(picture pic)[] ZYZgrid; +grid3 YZgrid(picture pic)(position pos=<default>); +grid3 YZgrid(picture pic); grid3(picture pic)[] XYXgrid(position pos=<default>); grid3(picture pic)[] XYXgrid; ticksgridT InOutTicks()(Label F=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, bool begin=<default>, bool end=<default>, real Size=<default>, real size=<default>, pen pTick=<default>, pen ptick=<default>, grid3(picture pic)[][] gridroutine, pen pGrid=<default>, pen pgrid=<default>); triple XY(picture pic); -void xaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); -void yaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); -void zaxis3(picture pic=<default>, Label L=<default>, void axis(picture, axisT)=<default>, pen p=<default>, ticksgridT ticks(), bool arrow(picture, path3, material, marginT3(path3, pen), light, light)=<default>, bool above=<default>); +grid3 XZgrid(picture pic)(position pos=<default>); +grid3 XZgrid(picture pic); triple YZ(picture pic); triple Z(picture pic); -grid3(picture pic)[] XZXgrid(position pos=<default>); -grid3(picture pic)[] XZXgrid; real fspline(real)(real[] x, real[] y, real[] splinetype(real[], real[])=<default>); real fhorner(real)(horner sh); -horner operator init(); horner hdiffdiv(real[] x, real[] y, real[] dy); +horner operator init(); real pwhermite(real)(real[] x, real[] y, real[] dy); horner diffdiv(real[] x, real[] y); void labelpath(frame f, Label L, path g, string justify=<default>, pen p=<default>); @@ -3204,7 +3204,6 @@ real LM_USERTOL; real LM_DWARF; real LM_MACHEP; string[] lm_infmsg; -real LM_SQRT_GIANT; void lm_evaluate_default(real[] par, int m_dat, real[] fvec, lm_data_type data, lm_int_type info); lm_data_type operator init(); lm_int_type operator init(); @@ -3217,6 +3216,7 @@ void lm_qrsolv(int n, real[] r, int ldr, int[] ipvt, real[] diag, real[] qtb, re real LM_SQRT_DWARF; FitResult fit(real[] xdata, real[] ydata, real[] errors, real function(real[], real), real[] parameters, FitControl control=<default>); FitResult fit(real[] xdata, real[] ydata, real function(real[], real), real[] parameters, FitControl control=<default>); +real LM_SQRT_GIANT; marker CrossIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>); marker StickIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>); void markangle(picture pic=<default>, Label L=<default>, int n=<default>, real radius=<default>, real space=<default>, pair A, pair O, pair B, bool arrow(picture, path, pen, marginT(path, pen))=<default>, pen p=<default>, filltype filltype=<default>, marginT margin(path, pen)=<default>, marker marker=<default>); @@ -3236,11 +3236,11 @@ real crossmarksizefactor; marker TildeIntervalMarker(int i=<default>, int n=<default>, real size=<default>, real space=<default>, real angle=<default>, pair offset=<default>, bool rotated=<default>, pen p=<default>, frame uniform=<default>, bool above=<default>); real tildemarksize(pen p=<default>); real tildemarksizefactor; -real circlemarkradius(pen p=<default>); real markangleradiusfactor; real markanglespacefactor; frame stickframe(int n=<default>, real size=<default>, pair space=<default>, real angle=<default>, pair offset=<default>, pen p=<default>); frame stickframe; +real circlemarkradius(pen p=<default>); frame circlebarframe(int n=<default>, real barsize=<default>, real radius=<default>, real angle=<default>, pair offset=<default>, pen p=<default>, filltype filltype=<default>, bool above=<default>); real stickmarksizefactor; real stickmarksize(pen p=<default>); @@ -3279,20 +3279,20 @@ real sec(real x); real csc(real x); int quadrant(real degrees); pair exp(explicit pair z); -real intersect(pair p, pair q, pair z); -real intersect(triple P, triple Q, triple n, triple Z); -pair unityroot(int n, int k=<default>); string nopoint; real cot(real x); pair log(explicit pair z); -real[] zero(int n); -real[][] zero(int n, int m); triple intersectionpoint(triple n0, triple P0, triple n1, triple P1); real findroot(real f(real), real a, real b, real tolerance=<default>, real fa=<default>, real fb=<default>); void drawline(picture pic=<default>, pair P, pair Q, pen p=<default>); int[][] segment(bool[] b); -real acot(real x); rootfinder_settings operator init(); +real acot(real x); +real intersect(pair p, pair q, pair z); +real intersect(triple P, triple Q, triple n, triple Z); +real[] zero(int n); +real[][] zero(int n, int m); +pair unityroot(int n, int k=<default>); bool polygon(path p); bool square(real[][] m); bool increasing(real[] a, bool strict=<default>); @@ -3320,12 +3320,12 @@ real[] Coeff; real stepfactor; real phi2(real x); RKTableau RK5DP; -real phi3(real x); void report(real old, real h, real t); RKTableau E_PC; RKTableau E_RK2; -RKTableau RK3; RKTableau PC; +RKTableau RK3; +real phi3(real x); coefficients operator init(); RKTableau operator init(); solution operator init(); @@ -3334,8 +3334,8 @@ void write(solution S); void write(Solution S); void expfactors(real x, coefficients a); RKTableau E_RK3BS; -RKTableau Euler; real[] solveBVP(real[] f(real, real[]), real a, real b=<default>, real h=<default>, int n=<default>, bool dynamic=<default>, real tolmin=<default>, real tolmax=<default>, real dtmin=<default>, real dtmax=<default>, RKTableau tableau, bool verbose=<default>, real[] initial(real[]), real[] discrepancy(real[]), real[] guess, int iterations=<default>); +RKTableau Euler; pen[] cmyk(pen[] Palette); pen[] BWRainbow2(int NColors=<default>); pen[] Wheel(int NColors=<default>); @@ -3355,16 +3355,16 @@ transform swap; void NoTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>); pen[] Gradient(int NColors=<default> ... pen[] p); pen[] quantize(pen[] Palette, int n); -pen[] Rainbow(int NColors=<default>); pen[] Grayscale(int NColors=<default>); pen[] BWRainbow(int NColors, bool two); pen[] BWRainbow(int NColors=<default>); pen[] palette(real[] f, pen[] palette); pen[][] palette(real[][] f, pen[] palette); void palette(picture pic=<default>, Label L=<default>, bounds bounds, pair initial, pair final, void axis(picture, axisT)=<default>, pen[] palette, pen p=<default>, void ticks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>)=<default>, bool copy=<default>, bool antialias=<default>); -bounds Range(picture pic, real min, real max)(bool automin=<default>, real min=<default>, bool automax=<default>, real max=<default>); void PaletteTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>)(Label format=<default>, string ticklabel(real)=<default>, bool beginlabel=<default>, bool endlabel=<default>, int N=<default>, int n=<default>, real Step=<default>, real step=<default>, pen pTick=<default>, pen ptick=<default>); void PaletteTicks(frame, transform, Label, pair, path, path, pen, bool(picture, path, pen, marginT(path, pen)), marginT(path, pen), ticklocate, int[], bool opposite=<default>)(int sign=<default>); +bounds Range(picture pic, real min, real max)(bool automin=<default>, real min=<default>, bool automax=<default>, real max=<default>); +pen[] Rainbow(int NColors=<default>); picture crosshatch(real H=<default>, pen p=<default>); picture hatch(real H=<default>, pair dir=<default>, pen p=<default>); real hatchepsilon; @@ -3374,39 +3374,50 @@ picture brick(real Hx=<default>, real Hy=<default>, pen p=<default>); frame tiling(string name, picture pic, pair lb=<default>, pair rt=<default>); void add(string name, picture pic, pair lb=<default>, pair rt=<default>); void grestore(picture pic=<default>); -pen textpen; void gsave(picture pic=<default>); +pen textpen; pair align; +rational[][] rationalidentity(int n); rational sum(rational[] a); bool rectangular(rational[][] m); +string texstring(rational r); bool operator >(rational r, rational s); +bool[] operator >(rational[] r, rational s); bool operator <(rational r, rational s); +bool[] operator <(rational[] r, rational s); rational operator /(rational r, rational s); rational abs(rational r); int lcm(int m, int n); bool operator >=(rational r, rational s); +bool[] operator >=(rational[] r, rational s); rational operator +(rational r, rational s); bool operator <=(rational r, rational s); +bool[] operator <=(rational[] r, rational s); rational operator init(); rational min(rational a, rational b); rational operator cast(int p); rational[] operator cast(int[] a); rational[][] operator cast(int[][] a); -void write(string s=<default>, rational r, void suffix(file)=<default>); -void write(string s=<default>, rational[] a, void suffix(file)=<default>); -void write(string s=<default>, rational[][] a, void suffix(file)=<default>); +void write(file fout=<default>, string s=<default>, rational r, void suffix(file)=<default>); +void write(file fout=<default>, string s=<default>, rational[] a, void suffix(file)=<default>); +void write(file fout=<default>, string s=<default>, rational[][] a, void suffix(file)=<default>); int gcd(int m, int n); bool operator !=(rational r, rational s); bool operator ==(rational r, rational s); bool[] operator ==(rational[] r, rational s); bool operator ==(rational[] r, rational[] s); bool operator ==(rational[][] r, rational[][] s); +string string(rational r); rational operator -(rational r); rational operator -(rational r, rational s); +rational[] operator -(rational[] r); rational max(rational a, rational b); rational max(rational[] a); real operator ecast(rational r); rational operator *(rational r, rational s); +void simplexWrite(rational[][] E, int[] Bindicies, int, int); +void simplexPhase2(); +void simplexTableau(rational[][] E, int[] Bindices, int I=<default>, int J=<default>); simplex operator init(); path roundedpath(path A, real R, real S=<default>); simplex operator init(); @@ -3414,9 +3425,6 @@ void bibliography(string name); void subitem(string s, pen p=<default>); void asyfilecode(bool center=<default>, string s, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>, bool newslide=<default>); void asyfigure(string s, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, filltype filltype=<default>, bool newslide=<default>); -void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>); -void code(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>); -string cropcode(string s); void asyinclude(string s, real xsize=<default>, real ysize=<default>); string[] codefile; void figure(string[] s, string options=<default>, real margin=<default>, string[] captions=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool final=<default>); @@ -3431,13 +3439,14 @@ void remark(bool center=<default>, string s, pair align=<default>, pen p=<defaul void outline(string s=<default>, pair position=<default>, pair align=<default>, pen p=<default>); void erasestep(int erasenode); bool checkposition(); +void code(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>); +void nextpage(pen p=<default>); void reversevideo(); void color(string name, string color); bool empty(); void setpens(pen red=<default>, pen blue=<default>, pen steppen=<default>); int preamblenodes; int[] firstnode; -pair currentposition; pair titlepageposition; pen foregroundcolor; pen backgroundcolor; @@ -3452,6 +3461,7 @@ real itemskip; pen datepen; pen institutionpen; pen titlepagepen; +pen authorpen; pen codepen; pair urlskip; transform tinv; @@ -3464,43 +3474,44 @@ void indexedfigure(string prefix, int first, int last, string options=<default>, pen titlepen; string bulletcolor(string color); real minipagemargin; -void item(string s, pen p=<default>, bool step=<default>); void incrementposition(pair z); void newslide(bool stepping=<default>); void center(string s, pen p=<default>); real titleskip; -void equations(string s, pen p=<default>); +pair currentposition; bool stepping; pen steppagenumberpen; -void currentexitfunction(); +void filecode(bool center=<default>, string s, pen p=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>); +int page; void step(); -void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>); pair startposition; void titlepage(string title, string author, string institution=<default>, string date=<default>, string url=<default>, bool newslide=<default>); +void item(string s, pen p=<default>, bool step=<default>); +void currentexitfunction(); void asycode(bool center=<default>, string s, string options=<default>, string caption=<default>, string preamble=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, real indent=<default>, real skip=<default>, filltype filltype=<default>, bool newslide=<default>); pen itempen; string asywrite(string s, string preamble=<default>); bool reverse; void numberpage(pen p=<default>); -pen authorpen; bool firststep; bool landscape; -void nextpage(pen p=<default>); void normalvideo(); real codeskip; -bool itemstep; real figureborder; string bullet; +bool itemstep; +void multifigure(string[] slist, string options=<default>, string caption=<default>, pair align=<default>, pen p=<default>, pen figuremattpen=<default>, bool step=<default>); pen pagenumberpen; int[] lastnode; string texcolor(pen p); -int page; +void equations(string s, pen p=<default>); void usersetting(); real aboveequationskip; real minipagewidth; void bibliographystyle(string name); real pagemargin; pen urlpen; +string cropcode(string s); void title(string s, pair position=<default>, pair align=<default>, pen p=<default>, bool newslide=<default>); pair pagenumberalign; bool havepagenumber; @@ -3529,6 +3540,7 @@ path3 bisector(path3 edgecycle, int[] savevertices); triple projecttospan(triple toproject, triple v1, triple v2, real mincoeff=<default>); int YHIGH; int XHIGH; +int NULL_VERTEX; patch trianglewithnormals(path3 external, triple n1, triple n2, triple n3); patch patchwithnormals(path3 external, triple[] u0normals, triple[] u1normals, triple[] v0normals, triple[] v1normals); patch patchwithnormals(path3 external, triple normalat(triple)); @@ -3536,8 +3548,9 @@ real(real)[] bernstein; real B23(real t); real B13(real t); real B03(real t); -evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>); +real B33(real t); bool operator ==(edge a, edge b); +int YLOW; pathwithnormals_settings operator init(); intset operator init(); int_to_intset operator init(); @@ -3545,20 +3558,18 @@ edge operator init(); positionedvector operator init(); evaluatedpoint operator init(); gridwithzeros operator init(); +int ZLOW; string operator cast(edge e); string operator cast(edge[] edges); string operator cast(positionedvector vv); triple operator cast(evaluatedpoint p); -real B33(real t); -int NULL_VERTEX; -int ZLOW; -int YLOW; real[] projecttospan_findcoeffs(triple toproject, triple v1, triple v2, bool warn=<default>); int ZHIGH; real angledegrees(triple a, triple b); path3 pathbetween(positionedvector v1, positionedvector v2); path3 pathbetween(path3 edgecycle, int vertex1, int vertex2); int XLOW; +evaluatedpoint[][][] make3dgrid(triple a, triple b, int nx, int ny, int nz, real f(triple), bool allowzero=<default>); int[] makecircle(edge[] edges); path[] cylinder(path3 base, real h, triple axis=<default>, projection P); revolution cylinder(triple c=<default>, real r, real h, triple axis=<default>); @@ -3569,8 +3580,8 @@ revolution sphere(triple c=<default>, real r, int n=<default>); void draw(picture pic=<default>, revolution r, int m=<default>, int n=<default>, pen frontpen=<default>, pen backpen=<default>, pen longitudinalpen=<default>, pen longitudinalbackpen=<default>, light light=<default>, string name=<default>, render render=<default>, projection P=<default>); skeleton operator init(); revolution operator init(); -real[] tangent(path p, path q, bool side); pen defaultbackpen; +real[] tangent(path p, path q, bool side); surface surface(revolution r, int n=<default>, pen color(int i, real j)=<default>); linefit leastsquares(real[] x, real[] y); real Gaussrand(); @@ -3581,45 +3592,44 @@ int[] frequency(real[] data, real a, real b, int n); int[][] frequency(real[] x, real[] y, real[] xbins, real[] ybins); int[][] frequency(real[] x, real[] y, pair a, pair b, int nx, int ny=<default>); int[][] frequency(pair[] z, pair a, pair b, int nx, int ny=<default>); +real Gaussian(real x, real sigma); +real Gaussian(real x); real kurtosis(real[] A); +real stdev(real[] A); real variancebiased(real[] A); real variance(real[] A); real legendmarkersize; -int bins(real[] data, int max=<default>); real rms(real[] A); -pair Gaussrandpair(); real kurtosisexcess(real[] A); -real Gaussian(real x, real sigma); -real Gaussian(real x); -linefit operator init(); real skewness(real[] A); path topbox(pair a, pair b); +linefit operator init(); +int bins(real[] data, int max=<default>); path halfbox(pair a, pair b); +pair Gaussrandpair(); real mean(real[] A); -real stdev(real[] A); -Relation r4a; picture tableau(frame[] cards, bool number=<default>); -Component wye; +Braid apply(Relation r, Braid b, int step, int place); Component phi; Component bm; real gapfactor; real hwratio; Component bp; pair[] endpoints(guide[] a); -Relation operator -(Relation r); -pair max(pair[] z); +pair min(pair[] z); Relation r4b; Component operator init(); Braid operator init(); Relation operator init(); Syzygy operator init(); -pair min(pair[] z); -Braid apply(Relation r, Braid b, int step, int place); +Relation r4a; +Relation operator -(Relation r); +pair max(pair[] z); Relation r3; +Component wye; pen Gray; pen Tan; pen Brown; -pen Sepia; pen OliveGreen; pen SeaGreen; pen JungleGreen; @@ -3629,14 +3639,12 @@ pen CadetBlue; pen BlueViolet; pen RoyalPurple; pen Plum; -pen DarkOrchid; pen Thistle; pen Lavender; pen Fuchsia; pen Rhodamine; pen VioletRed; pen CarnationPink; -pen Salmon; pen WildStrawberry; pen RubineRed; pen OrangeRed; @@ -3650,36 +3658,39 @@ pen GreenYellow; pen Peach; pen SkyBlue; pen Cerulean; +pen YellowOrange; pen White; pen Yellow; -pen YellowGreen; pen PineGreen; -pen Violet; pen RedViolet; pen Red; pen Magenta; pen Turquoise; +pen MidnightBlue; pen ProcessBlue; -pen Orchid; -pen YellowOrange; +pen Violet; pen Black; pen Bittersweet; pen ForestGreen; +pen YellowGreen; +pen Orchid; pen Aquamarine; pen RawSienna; -pen Emerald; +pen Maroon; pen SpringGreen; +pen DarkOrchid; pen Periwinkle; pen LimeGreen; -pen MidnightBlue; +pen Sepia; pen Mulberry; pen Cyan; pen Blue; -pen Maroon; pen Orange; +pen Emerald; pen CornflowerBlue; pen TealBlue; pen RedOrange; +pen Salmon; pen RoyalBlue; pen Apricot; pen Purple; @@ -3687,8 +3698,8 @@ pen Green; int lookup(tree t, int key); bool contains(tree t, int key); tree operator init(); -void write(file out=<default>, tree t); tree add(tree t, int key, int value); +void write(file out=<default>, tree t); tree newtree(); real trembleFrequency; real trembleFuzz(); @@ -3697,27 +3708,29 @@ tremble operator init(); real trembleRandom; real trembleAngle; real degrees(rmf a, rmf b); +surface tube(path3 g, coloredpath section, transform T(real)=<default>, real corner=<default>, real relstep=<default>); path3 roundedpath(path3 A, real r); int coloredNodes; +coloredpath operator init(); coloredpath operator cast(path p); coloredpath operator cast(guide p); -coloredpath operator init(); -surface tube(path3 g, coloredpath section, transform T(real)=<default>, real corner=<default>, real relstep=<default>); +real[] sample(path3 g, real r, real relstep=<default>); surface surface(rmf[] R, real[] t, coloredpath cp, transform T(real), bool cyclic); int coloredSegments; -real[] sample(path3 g, real r, real relstep=<default>); string VERSION; pen Tomato; +pen Thistle; pen Tan; +pen SteelBlue; pen Snow; pen Sienna; +pen Seashell; pen SeaGreen; -pen Salmon; +pen SandyBrown; pen RosyBrown; pen PowderBlue; pen Plum; pen Pink; -pen PeachPuff; pen PaleVioletRed; pen PaleTurquoise; pen OrangeRed; @@ -3727,14 +3740,13 @@ pen NavajoWhite; pen Moccasin; pen MistyRose; pen MintCream; -pen LightYellow; pen LightSlateGray; pen LightSkyBlue; pen LightSalmon; pen LightPink; pen LightGreen; -pen LemonChiffon; pen LawnGreen; +pen LavenderBlush; pen Lavender; pen Khaki; pen HotPink; @@ -3746,18 +3758,17 @@ pen IndianRed; pen Goldenrod; pen Fuchsia; pen DimGray; -pen DeepSkyBlue; -pen Thistle; pen DeepPink; pen DarkTurquoise; pen DarkSlateGray; pen DarkSalmon; -pen DarkOrchid; pen DarkMagenta; +pen Silver; pen DarkGreen; pen DarkGoldenrod; pen DarkBlue; pen Crimson; +pen Cornsilk; pen Coral; pen PapayaWhip; pen CadetBlue; @@ -3767,19 +3778,16 @@ pen Brown; pen BlueViolet; pen Beige; pen Azure; -pen Aqua; +pen LemonChiffon; pen Indigo; +pen Orchid; pen OliveDrab; pen DarkKhaki; pen Peru; -pen WhiteSmoke; pen LightGoldenrodYellow; pen DarkSeaGreen; -pen MidnightBlue; pen White; pen Yellow; -pen YellowGreen; -pen Seashell; pen LightCyan; pen Ivory; pen Red; @@ -3787,64 +3795,67 @@ pen Magenta; pen LightSeaGreen; pen DarkViolet; pen Turquoise; +pen WhiteSmoke; +pen LightSteelBlue; pen AntiqueWhite; -pen Orchid; -pen Bisque; +pen MidnightBlue; pen DarkOliveGreen; +pen Bisque; +pen Violet; +pen Lime; pen PaleGreen; -pen LightGrey; +pen GhostWhite; pen PaleGoldenrod; -pen Wheat; pen Black; pen SlateBlue; pen SkyBlue; pen LightBlue; pen ForestGreen; +pen YellowGreen; +pen LightGrey; pen AliceBlue; pen Aquamarine; -pen MediumVioletRed; -pen SandyBrown; +pen Maroon; +pen MediumSpringGreen; pen SpringGreen; +pen DarkOrchid; pen FloralWhite; pen Linen; pen Olive; pen BlanchedAlmond; -pen MediumSpringGreen; +pen DarkSlateBlue; +pen SlateGray; pen LimeGreen; pen FireBrick; pen Gold; -pen Maroon; -pen GhostWhite; pen rgbint(int r, int g, int b); pen Cyan; pen Blue; +pen Aqua; pen Teal; pen MediumBlue; -pen Violet; +pen DarkOrange; +pen MediumVioletRed; +pen PeachPuff; pen Chartreuse; -pen DarkSlateBlue; -pen SlateGray; -pen Lime; pen Orange; pen CornflowerBlue; -pen Silver; pen DarkGray; pen MediumOrchid; pen Chocolate; -pen LavenderBlush; pen MediumPurple; -pen DarkOrange; pen DodgerBlue; pen DarkRed; pen DarkCyan; pen MediumSlateBlue; pen MediumSeaGreen; -pen SteelBlue; pen RoyalBlue; pen MediumAquamarine; pen Purple; +pen DeepSkyBlue; pen MediumTurquoise; -pen LightSteelBlue; +pen LightYellow; +pen Wheat; pen Green; pen Gainsboro; -pen Cornsilk; +pen Salmon; |