/* ========================================================================
 * PlantUML : a free UML diagram generator
 * ========================================================================
 *
 * Project Info:  http://plantuml.com
 * 
 * If you like this project or if you find it useful, you can support us at:
 * 
 * http://plantuml.com/patreon (only 1$ per month!)
 * http://plantuml.com/paypal
 * 
 * This file is part of Smetana.
 * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
 *
 * (C) Copyright 2009-2020, Arnaud Roques
 *
 * This translation is distributed under the same Licence as the original C program:
 * 
 *************************************************************************
 * Copyright (c) 2011 AT&T Intellectual Property 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors: See CVS logs. Details at http://www.graphviz.org/
 *************************************************************************
 *
 * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
 * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
 * 
 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
 * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
 * 
 * You may obtain a copy of the License at
 * 
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
package gen.lib.common;
import static smetana.core.Macro.UNSUPPORTED;

public class taper__c {
//1 2digov3edok6d5srhgtlmrycs
// extern lt_symlist_t lt_preloaded_symbols[]


//1 baedz5i9est5csw3epz3cv7z
// typedef Ppoly_t Ppolyline_t


//1 9k44uhd5foylaeoekf3llonjq
// extern Dtmethod_t* 	Dtset


//1 1ahfywsmzcpcig2oxm7pt9ihj
// extern Dtmethod_t* 	Dtbag


//1 anhghfj3k7dmkudy2n7rvt31v
// extern Dtmethod_t* 	Dtoset


//1 5l6oj1ux946zjwvir94ykejbc
// extern Dtmethod_t* 	Dtobag


//1 2wtf222ak6cui8cfjnw6w377z
// extern Dtmethod_t*	Dtlist


//1 d1s1s6ibtcsmst88e3057u9r7
// extern Dtmethod_t*	Dtstack


//1 axa7mflo824p6fspjn1rdk0mt
// extern Dtmethod_t*	Dtqueue


//1 ega812utobm4xx9oa9w9ayij6
// extern Dtmethod_t*	Dtdeque


//1 cyfr996ur43045jv1tjbelzmj
// extern Dtmethod_t*	Dtorder


//1 wlofoiftbjgrrabzb2brkycg
// extern Dtmethod_t*	Dttree


//1 12bds94t7voj7ulwpcvgf6agr
// extern Dtmethod_t*	Dthash


//1 9lqknzty480cy7zsubmabkk8h
// extern Dtmethod_t	_Dttree


//1 bvn6zkbcp8vjdhkccqo1xrkrb
// extern Dtmethod_t	_Dthash


//1 9lidhtd6nsmmv3e7vjv9e10gw
// extern Dtmethod_t	_Dtlist


//1 34ujfamjxo7xn89u90oh2k6f8
// extern Dtmethod_t	_Dtqueue


//1 3jy4aceckzkdv950h89p4wjc8
// extern Dtmethod_t	_Dtstack


//1 8dfqgf3u1v830qzcjqh9o8ha7
// extern Agmemdisc_t AgMemDisc


//1 18k2oh2t6llfsdc5x0wlcnby8
// extern Agiddisc_t AgIdDisc


//1 a4r7hi80gdxtsv4hdoqpyiivn
// extern Agiodisc_t AgIoDisc


//1 bnzt5syjb7mgeru19114vd6xx
// extern Agdisc_t AgDefaultDisc


//1 35y2gbegsdjilegaribes00mg
// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected,     Agstrictundirected


//1 c2rygslq6bcuka3awmvy2b3ow
// typedef Agsubnode_t	Agnoderef_t


//1 xam6yv0dcsx57dtg44igpbzn
// typedef Dtlink_t	Agedgeref_t


//1 ds76bidhz8tjxkw6b8aksdvxr
// static double currentmiterlimit = 10.0




//3 37hx3k37anj8r9mjvso4soefw
// static void addto (stroke_t* p, double x, double y) 
public static Object addto(Object... arg) {
UNSUPPORTED("cxe7x5zvdqcgljx0c0ct5kj7v"); // static void addto (stroke_t* p, double x, double y)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); //     pointf pt;
UNSUPPORTED("dl6r4jnwf9tos614e6dxt54nu"); //     if (p->nvertices >= p->flags) {
UNSUPPORTED("753dl99rp4kb8muohhjnrooiy"); // 	p->flags =+ 2000;
UNSUPPORTED("8gz00abtr7t59howsf2sghq4e"); // 	p->vertices = RALLOC(p->flags,p->vertices,pointf);
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("4x5drjd0ygppv2k94igpp68s2"); //     pt.x = x;
UNSUPPORTED("e8848u2pml7agv3q6uepcvysp"); //     pt.y = y;
UNSUPPORTED("8cr9bk6he8smdllk7y3v8zfzg"); //     p->vertices[p->nvertices++] = pt;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 5rbblyx7l2j8x4skajzxqiwaf
// static void arcn (stroke_t* p, double x, double y, double r, double a1, double a2) 
public static Object arcn(Object... arg) {
UNSUPPORTED("3jgc82gtsuvmp7kj1sfwtf5uv"); // static void arcn (stroke_t* p, double x, double y, double r, double a1, double a2)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("5xztbte7ezj843nawd7bvstet"); //     double theta;
UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); //     int i;
UNSUPPORTED("82d861gclxfag8nh96t09jxtt"); //     addto (p, x+r*cos(a1), y+r*sin(a1));
UNSUPPORTED("bjdcjivokvek6ql06bw4soztx"); //     if (r == 0) return;
UNSUPPORTED("4lal8jxrwkulr8zpl5stsxkrt"); //     while (a2 > a1) a2 -= 2*3.14159265358979323846;
UNSUPPORTED("6jidndwc0ed5nlh89cj2ogu5b"); //     theta = a1 - a2; 
UNSUPPORTED("c9ot8wph8hmrzkm7yuzh7gt8s"); //     while (theta > 2*3.14159265358979323846) theta -= 2*3.14159265358979323846;
UNSUPPORTED("eaugkmo55m6kizyb3gzzzgsr6"); //     theta /= (20-1);
UNSUPPORTED("8moo8yolmkvvvfll1yxyb984o"); //     for (i = 1; i < 20; i++)
UNSUPPORTED("7w1xen1rv3ve6ogqu7z1o825y"); // 	addto (p, x+r*cos(a1-i*theta), y+r*sin(a1-i*theta));
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 dw4giwrdkygo30ux7h9vqoni5
// static double myatan (double y, double x) 
public static Object myatan(Object... arg) {
UNSUPPORTED("51twbyur0a3vygc4lht7f3yal"); // static double myatan (double y, double x)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("9gol5nm38e942ve1ebl1cjtlv"); //     double v;
UNSUPPORTED("1z65rccjdrspxqoaj9qq5gs3q"); //     if ((x == 0) && (y == 0))
UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // 	return 0;
UNSUPPORTED("1nyzbeonram6636b1w955bypn"); //     else {
UNSUPPORTED("adiklywz2pj2zlyyhhy8y244r"); // 	v = atan2 (y, x);
UNSUPPORTED("7jmcb4vgz4sib476up6ourg67"); // 	if (v >= 0) return v;
UNSUPPORTED("9xbltmwvt8lkbkt3dyvsyyrnc"); // 	else return (v + 2*3.14159265358979323846);
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 apxlatl0g1hcl36pozo9rbijz
// static double mymod (double original, double modulus) 
public static Object mymod(Object... arg) {
UNSUPPORTED("4lzz822wr9xogvbkxwq2p4djj"); // static double mymod (double original, double modulus)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("9gol5nm38e942ve1ebl1cjtlv"); //     double v;
UNSUPPORTED("7xrcngwvajpif9r69m54w64a2"); //     if ((original < 0) || (original >= modulus)) {
UNSUPPORTED("6arshdtqlpzcb2x8apa4d2uvk"); // 	v = -floor(original/modulus);
UNSUPPORTED("9tazzesrwxgrdbwb9mkvvptt6"); // 	return ((v*modulus) + original);
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("ay7iouy5jqpu5z9qk1zp0duie"); //     return original;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 3vkg7w3ke5ee59segqqkwid17
// static vararr_t* newArr (void) 
public static Object newArr(Object... arg) {
UNSUPPORTED("6oi8ug46evw6d3gxiiqkxwu30"); // static vararr_t*
UNSUPPORTED("4vfh8nqxhykygdmg0ifzha82l"); // newArr (void)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("417k87o0rksmn0vw9xy6t0rfv"); //     vararr_t* arr = (vararr_t*)zmalloc(sizeof(vararr_t));
UNSUPPORTED("ar8weg5zgsytfffj61bksv2nt"); //     arr->cnt = 0;
UNSUPPORTED("3nl7c4g3pzkgqswnj7h45v3ev"); //     arr->sz = 2000;
UNSUPPORTED("bfzoantmopqk4byg4d7kmi770"); //     arr->pts = (pathpoint*)zmalloc((2000)*sizeof(pathpoint));
UNSUPPORTED("ccsfhshi4ig5z5la1ju1x9cnc"); //     return arr;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 emanczpl0fr5cs8t1tgvka2ua
// static void insertArr (vararr_t* arr, pointf p, double l) 
public static Object insertArr(Object... arg) {
UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
UNSUPPORTED("8v67nvmyz4yxnupb82f54jk9g"); // insertArr (vararr_t* arr, pointf p, double l)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("kahpad7jk1hodmjj808l7dxq"); //     if (arr->cnt >= arr->sz) {
UNSUPPORTED("7z6erqvmbkm9sl7i89ix3t8vr"); // 	arr->sz *= 2;
UNSUPPORTED("99tebe4imvyc4desymrfhljd7"); // 	arr->pts = RALLOC(arr->sz,arr->pts,pathpoint);
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("br1mk0jed98vu2xl7x2nbcm7s"); //     arr->pts[arr->cnt].x = p.x; 
UNSUPPORTED("b1mytlmkf0s950zn7gs74k4br"); //     arr->pts[arr->cnt].y = p.y; 
UNSUPPORTED("4f7855jr9oovy4nov96abulma"); //     arr->pts[arr->cnt++].lengthsofar = l; 
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 djrl04e0hnm9z4c9mygp3kdjn
// static void fixArr (vararr_t* arr) 
public static Object fixArr(Object... arg) {
UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
UNSUPPORTED("82xx4q98200g4y3mpp3pal2li"); // fixArr (vararr_t* arr)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("1dn0v5t5wbzicbbr44xf4fr0t"); //     if (arr->sz > arr->cnt)
UNSUPPORTED("3vugzps0w4i557rlkmjan8p29"); // 	arr->pts = RALLOC(arr->cnt,arr->pts,pathpoint);
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 dkncnskx3m00uje3cgv41ijdt
// static void freeArr (vararr_t* arr) 
public static Object freeArr(Object... arg) {
UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
UNSUPPORTED("54u81fh95rxlpha3qyk9ehb7c"); // freeArr (vararr_t* arr)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("arje9cheuqn10vynbk56ukz3e"); //     free (arr->pts);
UNSUPPORTED("amydox92cqc7sp8tpkooy0l04"); //     free (arr);
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 2vfkvxso8rdk46al15j439ju
// static double l2dist (pointf p0, pointf p1) 
public static Object l2dist(Object... arg) {
UNSUPPORTED("1pz4c8sn3juc1g2fhezjnpmd2"); // static double l2dist (pointf p0, pointf p1)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("7eagovsf8qdkhnna5ttw91v6f"); //     double delx = p0.x - p1.x;
UNSUPPORTED("63axa60soz954naurv3tp4093"); //     double dely = p0.y - p1.y;
UNSUPPORTED("45ran48pxafslteww0nkr0oy9"); //     return sqrt(delx*delx + dely*dely);
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 e8z50dab6k0lk9eru6tpkypvs
// static vararr_t* pathtolines (bezier* bez, double initwid) 
public static Object pathtolines(Object... arg) {
UNSUPPORTED("4co20l0j4xlm1zv7bjwz9elqo"); // static vararr_t* pathtolines (bezier* bez, double initwid)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("e94cztctbqq9ucd7n67ebdges"); //     int i, j, step;
UNSUPPORTED("7qswbkiwqvj5o23nxscn2xzu3"); //     double seglen, linelen = 0;
UNSUPPORTED("35ncr2n01679jn6xdx7lovbxg"); //     vararr_t* arr = newArr();
UNSUPPORTED("4rrhn7tnwemc4ar7wq0j96kev"); //     pointf p0, p1, V[4];
UNSUPPORTED("amd6cyu1q1eots437g00w8phx"); //     int n = bez->size;
UNSUPPORTED("8ifezqgmvyo8z6wf0qcatnztd"); //     pointf* A = bez->list;
UNSUPPORTED("eia2p2xwqw8mqn9dfliiurrr7"); //     insertArr (arr, A[0], 0);
UNSUPPORTED("5mspz8cilygav1eq04djl7dlf"); //     V[3] = A[0];
UNSUPPORTED("3s0blwgctqa0ygs872bnu4kye"); //     for (i = 0; i + 3 < n; i += 3) {
UNSUPPORTED("76skw6ffgj23bchkntqtrfcq7"); // 	V[0] = V[3];
UNSUPPORTED("6lhc8cdnbz2nu3rhz57v5dmc1"); // 	for (j = 1; j <= 3; j++)
UNSUPPORTED("37fsp14ok0vo02898upd62lqp"); // 	    V[j] = A[i + j];
UNSUPPORTED("93nos5j5xytqabt45wbg4czil"); // 	p0 = V[0];
UNSUPPORTED("335n0b4zult6fp5ic3mco2xkw"); // 	for (step = 1; step <= 20; step++) {
UNSUPPORTED("3rli8h9x69lwpiayu0y0gcaoo"); // 	    p1 = Bezier(V, 3, (double) step / 20, (void *)0, (void *)0);
UNSUPPORTED("bxa5icduvxvktsbhy894m25nv"); // 	    seglen = l2dist(p0, p1);
UNSUPPORTED("ci98ubpynj2u3wr63q30b8ddv"); // 	    /* If initwid is large, this may never happen, so turn off. I assume this is to prevent
UNSUPPORTED("197sucveb3ncj66y77a2lmirt"); // 	     * too man points or too small a movement. Perhaps a better test can be made, but for now
UNSUPPORTED("6aqlkwuxiu1jk3hcwywqtptfx"); // 	     * we turn it off. 
UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // 	     */
UNSUPPORTED("ad24rtknwvng9ifrqti3z182a"); // 	    /* if (seglen > initwid/10) { */
UNSUPPORTED("at53x9272ok7viedn52tfmxs9"); // 		linelen += seglen;
UNSUPPORTED("avlslqeh4lqlpuft9gvcskcgl"); // 		insertArr (arr, p1, linelen); 
UNSUPPORTED("34uyo5h2d2cr1gy61yie7txem"); // 	    /* } */
UNSUPPORTED("c5vgyvjtvlhaldki4knu2mv25"); // 	    p0 = p1;
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("cqyo311cnd0n23sijmv5k82l1"); //     fixArr (arr);
UNSUPPORTED("a1fj3h2aqltc9pidvjej8cxlf"); //     /* printArr (arr, stderr); */
UNSUPPORTED("ccsfhshi4ig5z5la1ju1x9cnc"); //     return arr;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 5tozuy492rmd5etcp98dlqt1y
// static void drawbevel(double x, double y, double lineout, int forward, double dir, double dir2, int linejoin, stroke_t* p) 
public static Object drawbevel(Object... arg) {
UNSUPPORTED("2qy6fcr5q2i7bkdxvzzwrz570"); // static void drawbevel(double x, double y, double lineout, int forward, double dir, double dir2, int linejoin, stroke_t* p)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("5kph4zx0cyuidmd7x1cloedsi"); //     double a, a1, a2;
UNSUPPORTED("d10oqu9tn28o7bzq83fvol955"); //     if (forward) {
UNSUPPORTED("doysnlmgd1gow0os5wr5dxr0h"); // 	a1 = dir;
UNSUPPORTED("26ao9suwlr5unltg4xdoi9lj8"); // 	a2 = dir2;
UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); //     } else {
UNSUPPORTED("7vwlht2qk7zqu6kifv69i7bt5"); // 	a1 = dir2;
UNSUPPORTED("1r5bjzpwx8a3ne8vmn2nxcu52"); // 	a2 = dir;
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("6iax8tt6lrdck8goujhk00hs5"); //     if (linejoin == 1) {
UNSUPPORTED("4ecnnr5gsgd13e2t8959l3t4f"); // 	a = a1 - a2;
UNSUPPORTED("3cwtamgprrppba01yard7r24n"); // 	if (a <= (3.14159265358979323846*(0.1)/180.0)) a += (3.14159265358979323846*(360)/180.0);
UNSUPPORTED("3eqjj4tj5gjh8o4bot8pslbjt"); // 	if (a < (3.14159265358979323846*(180)/180.0)) {
UNSUPPORTED("6f4cxd2owe51qjtpf2g2qgqa6"); // 	    a1 = a + a2;
UNSUPPORTED("2w6rakjxhdggmu2moctdxufk7"); // 	    arcn (p,x,y,lineout,a1,a2);
UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // 	} else {
UNSUPPORTED("eukl7uoeeewpjnm0z5fnpne38"); // 	    addto(p,x + lineout*cos(a2),x + lineout*sin(a2));
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); //     } else {
UNSUPPORTED("90zyfikk81hiajwc2bh8qzemz"); // 	addto(p,x + lineout*cos(a2),x + lineout*sin(a2));
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 67jgk3x4cvr5g5sjkktz9hv3p
// stroke_t* taper (bezier* bez, radfunc_t radfunc, double initwid, int linejoin, int linecap) 
public static Object taper(Object... arg) {
UNSUPPORTED("92uf8ujxvbmb009ow0y2ylc28"); // stroke_t* taper (bezier* bez, radfunc_t radfunc, double initwid, int linejoin, int linecap)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("ebpurc5lht6x0pe8utbovvtkj"); //     int i, l, n;
UNSUPPORTED("23t8ciiwx0m0urylqh0rdj45f"); //     int pathcount, bevel;
UNSUPPORTED("aap39s7rrs42rpqb2wnwm1wac"); //     double direction=0, direction_2=0;
UNSUPPORTED("9m9xu2pqfgvlgbaera9r5bslu"); //     vararr_t* arr = pathtolines (bez, initwid);
UNSUPPORTED("3zu7p7qd5hfut9413f9nua2hp"); //     pathpoint* pathpoints;
UNSUPPORTED("8400pubdu8b37sik81zlon17q"); //     pathpoint cur_point, last_point, next_point;
UNSUPPORTED("e2l5uh8yuami4r4nsytajt49e"); //     double x=0, y=0, dist;
UNSUPPORTED("z9q8a6k36ts2dcgz6b1uro9f"); //     double nx, ny, ndir;
UNSUPPORTED("8rityqi74uqjkie4xszf2cz9s"); //     double lx, ly, ldir;
UNSUPPORTED("exc47riargr44o24fo7dq38pf"); //     double lineout=0, linerad=0, linelen=0;
UNSUPPORTED("dim9rt5u8affmln2pricl9c4z"); //     double theta, phi;
UNSUPPORTED("bcjf9eyzp0bx4ace27dfpdpkr"); //     stroke_t* p;
UNSUPPORTED("d43stoip4tcodq33ekkdc2o2d"); //     pathcount = arr->cnt;
UNSUPPORTED("3ahpl1jbl65q1xb0s2y138jat"); //     pathpoints = arr->pts;
UNSUPPORTED("78l26kaqv5ovbmh3w047sqyk4"); //     linelen = pathpoints[pathcount-1].lengthsofar;
UNSUPPORTED("9uu6i69mrs8oofgu1thnoeh6s"); //     /* determine miter and bevel points and directions */
UNSUPPORTED("9p5eqhc57q744jswt4xn49de5"); //     for (i = 0; i < pathcount; i++) {
UNSUPPORTED("ayjwp7w7mt18negnhgj0sbv59"); // 	l = mymod(i-1,pathcount);
UNSUPPORTED("32kv4nbdjmjk22m6e7utdtur6"); // 	n = mymod(i+1,pathcount);
UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // 	cur_point = pathpoints[i];
UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // 	x = cur_point.x;
UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // 	y = cur_point.y;
UNSUPPORTED("1tbip84gxxj24fbdv8razb8ro"); // 	dist = cur_point.lengthsofar;
UNSUPPORTED("dyj2zbknry7a1x9ebao54p2px"); // 	next_point = pathpoints[n];
UNSUPPORTED("4q9nd7a8vv14sz57dz10eti4i"); // 	nx = next_point.x;
UNSUPPORTED("34m4u9clc8vse172ui6o7luyc"); // 	ny = next_point.y;
UNSUPPORTED("el8hvvq8ozxy51a09pf45t6lm"); // 	ndir = myatan (ny-y, nx-x);
UNSUPPORTED("bp3rn8j3uu5wtuh39yht2wahr"); // 	last_point = pathpoints[l];
UNSUPPORTED("31sunwg5bgedjub9bgaudnn2w"); // 	lx = last_point.x;
UNSUPPORTED("byfvt2pin8q8aaf4dw9kmo4f7"); // 	ly = last_point.y;
UNSUPPORTED("21ekhwbbxmjwb10twls4jflzo"); // 	ldir = myatan (ly-y, lx-x);
UNSUPPORTED("939fjejhngctxdmxbb5koezq6"); // 	bevel = 0;
UNSUPPORTED("75eizgg2kuilkz07e5n9331yb"); // 	direction_2 = 0;
UNSUPPORTED("9ibtpydrwwm9mu7z4303ioce6"); // 	    /* effective line radius at this point */
UNSUPPORTED("3b0kp7ld95slxpcdcfrm9g3f9"); // 	linerad = radfunc(dist, linelen, initwid);
UNSUPPORTED("17tfbs98ueshh3kxz0go6y28e"); //  	if ((i == 0) || (i == pathcount-1)) {
UNSUPPORTED("c8k6abykr9kofwd7w2eh7wets"); // 	    lineout = linerad;
UNSUPPORTED("1zc3rhfsp70axt1st8ezyeucz"); // 	    if (i == 0) {
UNSUPPORTED("xs2p6fe1nq08icjrthobqees"); // 		direction = ndir + (3.14159265358979323846*(90)/180.0);
UNSUPPORTED("6jhf2qmn6za8kr9w3auf58zfz"); // 		if (linecap == 2) {
UNSUPPORTED("7gc6ece8x7l8lvlz5qkpw4jzk"); // 		    x -= cos(ndir)*lineout;
UNSUPPORTED("4oclmr8htzwxbgvwqgpotjkm0"); // 		    y -= sin(ndir)*lineout;
UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // 		}
UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // 	    } else {
UNSUPPORTED("197wgta2k2gjicruujcxk2pxw"); // 		direction = ldir - (3.14159265358979323846*(90)/180.0);
UNSUPPORTED("6jhf2qmn6za8kr9w3auf58zfz"); // 		if (linecap == 2) {
UNSUPPORTED("52z8fu32uav0121o0kglvopfx"); // 		    x -= cos(ldir)*lineout;
UNSUPPORTED("740qs0z13dreer6os7d1lx38v"); // 		    y -= sin(ldir)*lineout;
UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // 		}
UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // 	    }
UNSUPPORTED("ap3owlr7o0jc1ahvdhqcjdqiq"); // 	    direction_2 = direction;
UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // 	} else {
UNSUPPORTED("3wc8w7ht9a70rdtiofq8deau6"); // 	    theta = ndir-ldir;
UNSUPPORTED("bvc7byx1cwqmqnclfhzwox2k1"); // 	    if (theta < 0) {
UNSUPPORTED("20oornlkswqxxeufgzx9ax2i3"); // 		theta += (3.14159265358979323846*(360)/180.0);
UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // 	    }
UNSUPPORTED("e7t2i7fgzowrk1ntx7cwh49id"); // 	    phi = (3.14159265358979323846*(90)/180.0)-(theta/2);
UNSUPPORTED("5dvmkcy9yqb2cc6rgmduj5b1c"); // 		 /* actual distance to junction point */
UNSUPPORTED("8upqw3s8k892ep29pvt7cbki"); // 	    if (cos(phi) == 0) {
UNSUPPORTED("937cpmx6ugu8zzrr5aoylcqs6"); // 		lineout = 0;
UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // 	    } else {
UNSUPPORTED("9c90i4xl89nygyndfayv4s29m"); // 		lineout = linerad/(cos(phi));
UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // 	    }
UNSUPPORTED("c3j9s1x9zzozcg3mbp65k5itk"); // 		 /* direction to junction point */
UNSUPPORTED("252vewuhexhnz6vj97f65w9zx"); // 	    direction = ndir+(3.14159265358979323846*(90)/180.0)+phi;
UNSUPPORTED("eobcnlcqwz1dximq5qhsa3i9s"); // 	    if ((0 != linejoin) || (lineout > currentmiterlimit * linerad)) {
UNSUPPORTED("31r3m1070akd0cf4vzq3qfaro"); // 		bevel = (!(0));
UNSUPPORTED("67w6qhlogp4d7uf18s35pj3wy"); // 		lineout = linerad;
UNSUPPORTED("42maeq9w00m591r12lzegzu8y"); // 		direction = mymod(ldir-(3.14159265358979323846*(90)/180.0),(3.14159265358979323846*(360)/180.0));
UNSUPPORTED("avrmbklsobjff22asjbr5tgdf"); // 		direction_2 = mymod(ndir+(3.14159265358979323846*(90)/180.0),(3.14159265358979323846*(360)/180.0));
UNSUPPORTED("asm15sr4a6kydzpud2plsmxs0"); // 		if (i == pathcount-1) {
UNSUPPORTED("eycx11cl9aeikjk5ekwb81go3"); // 		    bevel = 0;
UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // 		}
UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // 	    } else {
UNSUPPORTED("dax7iiwvwzxlxymfmj1tjdihy"); // 		direction_2 = direction;
UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // 	    }
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("2q8u8grbi0h42y635qyr9v3qc"); // 	pathpoints[i].x = x;
UNSUPPORTED("bhlm48hrfr2mg0if526u3iguo"); // 	pathpoints[i].y = y;
UNSUPPORTED("957rrx269yqwuiikvpvy3ffpm"); // 	pathpoints[i].lengthsofar = dist;
UNSUPPORTED("3helgp0v0pqd09d8ax7jah2mb"); // 	pathpoints[i].type = 'l';
UNSUPPORTED("3y6rmj5f7rvq2ebwgnvd1fgjq"); // 	pathpoints[i].dir = direction;
UNSUPPORTED("1dvyxwcwbtzahsn4h6caxv445"); // 	pathpoints[i].lout = lineout;
UNSUPPORTED("mmiievlimn4w1lptlh3llroz"); // 	pathpoints[i].bevel = bevel;
UNSUPPORTED("er888lbd8xz64adkkzbqyfwh1"); // 	pathpoints[i].dir2 = direction_2;
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("ckcfut3hsl9z3mkr48i07xreq"); // 	 /* draw line */
UNSUPPORTED("9r6b4bedc1rhpyql4jb2csd4n"); //     p = (stroke_t*)zmalloc(sizeof(stroke_t));
UNSUPPORTED("70i20pyvm032opmt0lw7ygegp"); // 	 /* side 1 */
UNSUPPORTED("9p5eqhc57q744jswt4xn49de5"); //     for (i = 0; i < pathcount; i++) {
UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // 	cur_point = pathpoints[i];
UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // 	x = cur_point.x;
UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // 	y = cur_point.y;
UNSUPPORTED("3u4hay46briisll392jdya23v"); // 	direction = cur_point.dir;
UNSUPPORTED("1uct0gb7zqtj7385nbdnzyj0c"); // 	lineout = cur_point.lout;
UNSUPPORTED("d9xs9uakpataixjavhuod06ig"); // 	bevel = cur_point.bevel;
UNSUPPORTED("bf8qe3co9ovp0li3u7k7pqr9i"); // 	direction_2 = cur_point.dir2;
UNSUPPORTED("9498bdr7ojnwbc5q4bfmdqha9"); // 	if (i == 0) {
UNSUPPORTED("8qzin254lieocy18s2q55bb07"); // 	    addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout);
UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // 	} else {
UNSUPPORTED("8qzin254lieocy18s2q55bb07"); // 	    addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout);
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("euyvq7b75qnuktu6n6n1hvj1i"); // 	if (bevel) {
UNSUPPORTED("bzgn4n0vstnr0nc3pqwub40eo"); // 	    drawbevel (x, y, lineout, (!(0)), direction, direction_2, linejoin, p);
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("a4jnqx1pmpp8rz85lpaqyfnj9"); // 	 /* end circle as needed */
UNSUPPORTED("7ibh2c9hlo51dzs6o9tk8xhh0"); //     if (linecap == 1) {
UNSUPPORTED("a8b7151pm774jksu8gm13tsa0"); // 	arcn (p, x,y,lineout,direction,direction+(3.14159265358979323846*(180)/180.0));
UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); //     } else {
UNSUPPORTED("8ckgm7yw5o3kj12au3908fqin"); // 	direction += (3.14159265358979323846*(180)/180.0);
UNSUPPORTED("385y1xwu0kh9i0679xwfgdhfi"); // 	addto(p,x+cos(direction)*lineout,y+sin(direction)*lineout);
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("1odd6xfcmpix4iwcbi07a3yet"); // 	 /* side 2 */
UNSUPPORTED("9sytul5918tuv13gjz3sxy4x3"); //     for (i = pathcount-2; i >= 0; i--) {
UNSUPPORTED("6sepicym4lwb144speybi5pdm"); // 	cur_point = pathpoints[i];
UNSUPPORTED("904onk81tz0s5sep0j6awgdpb"); // 	x = cur_point.x;
UNSUPPORTED("agtncoxbpms9wwt2ie97e47g4"); // 	y = cur_point.y;
UNSUPPORTED("8uvc4rfbx29lnuzfihxx9p2td"); // 	direction = cur_point.dir + (3.14159265358979323846*(180)/180.0);
UNSUPPORTED("1uct0gb7zqtj7385nbdnzyj0c"); // 	lineout = cur_point.lout;
UNSUPPORTED("d9xs9uakpataixjavhuod06ig"); // 	bevel = cur_point.bevel;
UNSUPPORTED("g0kdlqos9c7lovlj90k934dl"); // 	direction_2 = cur_point.dir2 + (3.14159265358979323846*(180)/180.0);
UNSUPPORTED("z8wmez9u4a021s05d5cxi6wa"); // 	addto(p,x+cos(direction_2)*lineout,y+sin(direction_2)*lineout);
UNSUPPORTED("ezt2dhrkjlk2egdubwm3lhef7"); // 	if (bevel) { 
UNSUPPORTED("66s1i3eyqfiswvzoblil8b24c"); // 	    drawbevel (x, y, lineout, 0, direction, direction_2, linejoin, p);
UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // 	}
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("2bichl6gosxd9wgzvd6uklrf5"); // 	 /* start circle if needed */
UNSUPPORTED("7ibh2c9hlo51dzs6o9tk8xhh0"); //     if (linecap == 1) {
UNSUPPORTED("a8b7151pm774jksu8gm13tsa0"); // 	arcn (p, x,y,lineout,direction,direction+(3.14159265358979323846*(180)/180.0));
UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); //     }
UNSUPPORTED("f2o2l2qwk02ukzyk8zpg7ti5k"); //     /* closepath (p); */
UNSUPPORTED("aqhe2lewlygs1royfxfz4cso5"); //     freeArr (arr);
UNSUPPORTED("91xduilalb406jjyw2g1i07th"); //     return p;
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 5p2ry36pn9erx76ct8agwj29j
// static double halffunc (double curlen, double totallen, double initwid) 
public static Object halffunc(Object... arg) {
UNSUPPORTED("9tja24cimn4bxxvgebqx1p7g6"); // static double halffunc (double curlen, double totallen, double initwid)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("7w1a8rqs29lelmnia96oa58f9"); //     return ((1 - (curlen/totallen))*initwid/2.0);
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}




//3 9atumni48eq11oedwpruqobkj
// stroke_t* taper0 (bezier* bez, double initwid) 
public static Object taper0(Object... arg) {
UNSUPPORTED("8flvjq0yy9wk9rlpxmqius1l1"); // stroke_t* taper0 (bezier* bez, double initwid)
UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
UNSUPPORTED("84s227sd2ewmv1s2g5fisnfux"); //     return taper(bez, halffunc, initwid, 0, 0);
UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }

throw new UnsupportedOperationException();
}


}
