diff options
Diffstat (limited to 'src/gen/lib/dotgen')
-rw-r--r-- | src/gen/lib/dotgen/acyclic__c.java | 780 | ||||
-rw-r--r-- | src/gen/lib/dotgen/aspect__c.java | 1271 | ||||
-rw-r--r-- | src/gen/lib/dotgen/class1__c.java | 821 | ||||
-rw-r--r-- | src/gen/lib/dotgen/class2__c.java | 1100 | ||||
-rw-r--r-- | src/gen/lib/dotgen/cluster__c.java | 1280 | ||||
-rw-r--r-- | src/gen/lib/dotgen/compound__c.java | 1172 | ||||
-rw-r--r-- | src/gen/lib/dotgen/conc__c.java | 990 | ||||
-rw-r--r-- | src/gen/lib/dotgen/decomp__c.java | 848 | ||||
-rw-r--r-- | src/gen/lib/dotgen/dotinit__c.java | 1281 | ||||
-rw-r--r-- | src/gen/lib/dotgen/dotsplines__c.java | 3180 | ||||
-rw-r--r-- | src/gen/lib/dotgen/fastgr__c.java | 1215 | ||||
-rw-r--r-- | src/gen/lib/dotgen/flat__c.java | 1099 | ||||
-rw-r--r-- | src/gen/lib/dotgen/mincross__c.java | 2786 | ||||
-rw-r--r-- | src/gen/lib/dotgen/position__c.java | 2170 | ||||
-rw-r--r-- | src/gen/lib/dotgen/rank__c.java | 2136 | ||||
-rw-r--r-- | src/gen/lib/dotgen/sameport__c.java | 896 |
16 files changed, 23025 insertions, 0 deletions
diff --git a/src/gen/lib/dotgen/acyclic__c.java b/src/gen/lib/dotgen/acyclic__c.java new file mode 100644 index 0000000..a661a10 --- /dev/null +++ b/src/gen/lib/dotgen/acyclic__c.java @@ -0,0 +1,780 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.dotgen.fastgr__c.delete_fast_edge; +import static gen.lib.dotgen.fastgr__c.find_fast_edge; +import static gen.lib.dotgen.fastgr__c.merge_oneway; +import static gen.lib.dotgen.fastgr__c.virtual_edge; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.ND_mark; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_onstack; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.__struct__; + +public class acyclic__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9hm902ya6q6bq246ewuh67h38 +// void reverse_edge(edge_t * e) +public static void reverse_edge(Agedge_s e) { +ENTERING("9hm902ya6q6bq246ewuh67h38","reverse_edge"); +try { + Agedge_s f; + delete_fast_edge(e); + if ((f = find_fast_edge(aghead(e), agtail(e)))!=null) + merge_oneway(e, f); + else + virtual_edge(aghead(e), agtail(e), e); +} finally { +LEAVING("9hm902ya6q6bq246ewuh67h38","reverse_edge"); +} +} + + + + +//3 e9h7n52fs8rucrug9tr0zebe2 +// static void dfs(node_t * n) +public static void dfs(Agnode_s n) { +ENTERING("e9h7n52fs8rucrug9tr0zebe2","dfs"); +try { + int i; + Agedge_s e; + Agnode_s w; + if (ND_mark(n)!=0) + return; + ND_mark(n, 1); + ND_onstack(n, 1); + for (i = 0; (e = (Agedge_s) ND_out(n).getFromList(i))!=null; i++) { + w = aghead(e); + if (ND_onstack(w)) { + reverse_edge(e); + i--; + } else { + if (ND_mark(w) == 0) + dfs(w); + } + } + ND_onstack(n, 0); +} finally { +LEAVING("e9h7n52fs8rucrug9tr0zebe2","dfs"); +} +} + + + + +//3 1ejgnwd7ek344caegjwg46n6h +// void acyclic(graph_t * g) +public static void acyclic_(Agraph_s g) { +ENTERING("1ejgnwd7ek344caegjwg46n6h","acyclic"); +try { + int c; + Agnode_s n; + for (c = 0; c < GD_comp(g).size; c++) { + GD_nlist(g, GD_comp(g).getFromList(c)); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + ND_mark(n, 0); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + dfs(n); + } +} finally { +LEAVING("1ejgnwd7ek344caegjwg46n6h","acyclic"); +} +} + + +} diff --git a/src/gen/lib/dotgen/aspect__c.java b/src/gen/lib/dotgen/aspect__c.java new file mode 100644 index 0000000..cf6b5e4 --- /dev/null +++ b/src/gen/lib/dotgen/aspect__c.java @@ -0,0 +1,1271 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agget; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.N; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agraph_s; +import h.aspect_t; +import h.boxf; +import h.pointf; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.__struct__; + +public class aspect__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 buo6aw1j4uziggaugy984eotj +// static nodeGroup_t *nodeGroups + + +//1 8pcclsxg8w461gulo0pvihkjp +// static int nNodeGroups = 0 + + + + +//3 e1ii1fk8ce43zhjwticczdewi +// static void computeNodeGroups(graph_t * g) +public static Object computeNodeGroups(Object... arg) { +UNSUPPORTED("85tw6ni78b2fdpbmcvfkfjj2g"); // static void computeNodeGroups(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("41zdayra08bo7qofh0t0g44tj"); // nodeGroups = (nodeGroup_t*)gmalloc((agnnodes(g))*sizeof(nodeGroup_t)); +UNSUPPORTED("751hgbeopd6kx0brs46ydl3nk"); // nNodeGroups = 0; +UNSUPPORTED("bhhgxkf7jt2bkoqqybblectmc"); // /* initialize node ids. Id of a node is used as an index to the group. */ +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("c29pxxzew8wpbooylabmstb6k"); // ND_id(n) = -1; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("856fgjw3c9mfzqbqcelccqz6i"); // if (ND_UF_size(n) == 0) { /* no same ranking constraint */ +UNSUPPORTED("995nygsph6blhs7u3roc320vt"); // nodeGroups[nNodeGroups].nodes = (node_t **)zmalloc(sizeof(node_t *)); +UNSUPPORTED("yecg6kqqsu0dce5l7yl9nz0v"); // nodeGroups[nNodeGroups].nodes[0] = n; +UNSUPPORTED("48boktg0q0ftjks7g2ugmcgr0"); // nodeGroups[nNodeGroups].nNodes = 1; +UNSUPPORTED("asru03zwy8elrmkb54ceapyf5"); // nodeGroups[nNodeGroups].width = ND_width(n); +UNSUPPORTED("63tq5olg8fmmqnngdsd2m0p7y"); // nodeGroups[nNodeGroups].height = ND_height(n); +UNSUPPORTED("2jtn1zrlba2gjw9o8ijqfjd8l"); // ND_id(n) = nNodeGroups; +UNSUPPORTED("26stq7kxzhcw4bdbet988ue9u"); // nNodeGroups++; +UNSUPPORTED("ek3ylp6qgnzrlvktaorzarkl6"); // } else /* group same ranked nodes */ +UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // { +UNSUPPORTED("2xfdbwqwkydzc27ndexkdqpk3"); // node_t *l = UF_find(n); +UNSUPPORTED("9k1apjnlyvc0imkojboqq56t"); // if (ND_id(l) > -1) /* leader is already grouped */ +UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { +UNSUPPORTED("1dxpo17pe23wsyc88ervx5x7n"); // int index = ND_id(l); +UNSUPPORTED("a3rj9avq06zyyeiex95z1m5qs"); // nodeGroups[index].nodes[nodeGroups[index].nNodes++] = n; +UNSUPPORTED("4qloaqbsyg2krphzbyu8l502n"); // nodeGroups[index].width += ND_width(n); +UNSUPPORTED("7oxuv0m39o7l9yf15yjhvw804"); // nodeGroups[index].height = +UNSUPPORTED("f301cq3rurukx2hdrzu2rvioq"); // (nodeGroups[index].height < +UNSUPPORTED("8oi4o7ku7aqcurrfujz4p5qkb"); // ND_height(n)) ? ND_height(n) : nodeGroups[index]. +UNSUPPORTED("bkhrhsn74c58qx4h0val1pmjp"); // height; +UNSUPPORTED("7me4qfeob3i8uvnfzwktfincy"); // ND_id(n) = index; +UNSUPPORTED("d6w1jxu5j3ja7tpl4hcag7fv0"); // } else /* create a new group */ +UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // { +UNSUPPORTED("2l80so4pkfhpik5o2c4xb7cff"); // nodeGroups[nNodeGroups].nodes = +UNSUPPORTED("3ey9wbuwiu5f6tykjlpo26lhj"); // (node_t **)zmalloc((ND_UF_size(l))*sizeof(node_t *)); +UNSUPPORTED("53ell10epajj2omj9xiynycta"); // if (l == n) /* node n is the leader */ +UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // { +UNSUPPORTED("7m6pmc4ajzo9gva5pgvtljwf3"); // nodeGroups[nNodeGroups].nodes[0] = l; +UNSUPPORTED("1n4ihvxa7g9rlwmex1up2728t"); // nodeGroups[nNodeGroups].nNodes = 1; +UNSUPPORTED("a8p3badahan60lefgn5iq9a8c"); // nodeGroups[nNodeGroups].width = ND_width(l); +UNSUPPORTED("dcwvaft8b2juhy42freidgc8m"); // nodeGroups[nNodeGroups].height = ND_height(l); +UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { +UNSUPPORTED("7m6pmc4ajzo9gva5pgvtljwf3"); // nodeGroups[nNodeGroups].nodes[0] = l; +UNSUPPORTED("2aqign2uu1g30cyam63ohxptd"); // nodeGroups[nNodeGroups].nodes[1] = n; +UNSUPPORTED("el4pqstmtl01oio7cmzrq6qtb"); // nodeGroups[nNodeGroups].nNodes = 2; +UNSUPPORTED("c1rjyfjlfo2jj62bcy025ukg1"); // nodeGroups[nNodeGroups].width = +UNSUPPORTED("a2sytyotqqfithwfaykqmsycp"); // ND_width(l) + ND_width(n); +UNSUPPORTED("eiifp86c59tpvht7teuygr2hw"); // nodeGroups[nNodeGroups].height = +UNSUPPORTED("7zt5ahh08kx3u1cw8m39031bh"); // (ND_height(l) < +UNSUPPORTED("3s43dn8agepaf1zik284rw4iw"); // ND_height(n)) ? ND_height(n) : ND_height(l); +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("1z3t7m0t6n4kv8tcm579ais2e"); // ND_id(l) = nNodeGroups; +UNSUPPORTED("1r38ircnao62y8uafy4au9p8c"); // ND_id(n) = nNodeGroups; +UNSUPPORTED("7yf3wfxeea0vbj0tkmh1sv74w"); // nNodeGroups++; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5vqsnuao6a6zpx51lrbvsra7t +// int countDummyNodes(graph_t * g) +public static Object countDummyNodes(Object... arg) { +UNSUPPORTED("51gqqbcx9xe38hsqk7vtw2h74"); // int countDummyNodes(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("33mzsqu0xadl81jos28k8lc70"); // /* Count dummy nodes */ +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("bzrm12ll46b0ey13f7049ny17"); // /* flat edges do not have dummy nodes */ +UNSUPPORTED("cyx78ekjs6rwln3461fbzwf7o"); // if (ND_rank(aghead(e)) != ND_rank(agtail(e))) +UNSUPPORTED("cb5zuqyn7ijkx5rk10yc6tfrv"); // count += abs(ND_rank(aghead(e)) - ND_rank(agtail(e))) - 1; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7rr0cazy4menu64k2rf61h98y"); // return count; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 by0sucsgzrupx1vrq0sc82zrb +// static layerWidthInfo_t *layerWidthInfo = NULL + + +//1 2g8u71llxsq207y4p1j8kefuc +// static int *sortedLayerIndex + + +//1 28et5dpanlo1pz361e1ey0l13 +// static int nLayers = 0 + + + + +//3 ecn38irnr39x1ci0qrksvt2vb +// static void computeLayerWidths(graph_t * g) +public static Object computeLayerWidths(Object... arg) { +UNSUPPORTED("f0yxrj5hl2h30nj0ykado8683"); // static void computeLayerWidths(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("8o5u7blacrv03sbkd57tsy3ff"); // nLayers = 0; +UNSUPPORTED("dojzfz9p7nqclvdb5tee3yl8g"); // /* free previously allocated memory */ +UNSUPPORTED("74k79fcsj62zr7jlyzubwv7ld"); // if (layerWidthInfo) { +UNSUPPORTED("7c1hsgkci660fl7ovcywsfy7h"); // for (i = 0; i < nNodeGroups; i++) { +UNSUPPORTED("4fm2a017gr8w7plpnzbbgdte6"); // if (layerWidthInfo[i].nodeGroupsInLayer) { +UNSUPPORTED("1p0hpvyuh05m9zj7iv2byacuu"); // int j; +UNSUPPORTED("torjjxsqraaddaop50hfluyq"); // for (j = 0; j < layerWidthInfo[i].nNodeGroupsInLayer; j++) { +UNSUPPORTED("5rh2ziady9vvl3275k6sxuawd"); // //if (layerWidthInfo[i].nodeGroupsInLayer[j]) +UNSUPPORTED("qfkvchcmb0h3vrvsnu17fj29"); // //free(layerWidthInfo[i].nodeGroupsInLayer[j]); +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("9jguo0kg597gyce5y5nj8kf6h"); // free(layerWidthInfo[i].nodeGroupsInLayer); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("4vnpv79q6n6p1kg9ndbsmzfds"); // if (layerWidthInfo[i].removed) +UNSUPPORTED("2ypdtktf36wfecowcdjfjxbfn"); // free(layerWidthInfo[i].removed); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("aw89cecwa5xnmsohanlvbst8f"); // free(layerWidthInfo); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5xa04vocq8qrzxrvg4if75lnp"); // /* allocate memory +UNSUPPORTED("ge7jqooagslmrp81viou5iok"); // * the number of layers can go up to the number of node groups +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("2e016wvwaqoa74u0xllotojs0"); // layerWidthInfo = (layerWidthInfo_t*)zmalloc((nNodeGroups)*sizeof(layerWidthInfo_t)); +UNSUPPORTED("7vfjpab2mkl8qvm3ag5psj6hf"); // for (i = 0; i < nNodeGroups; i++) { +UNSUPPORTED("1ha5uzjeh0q6s99y9ngi159c"); // layerWidthInfo[i].nodeGroupsInLayer = +UNSUPPORTED("1bj8nm95udr98gzajp4k7nmuu"); // (nodeGroup_t **)zmalloc((nNodeGroups)*sizeof(nodeGroup_t *)); +UNSUPPORTED("6loyginnjye85c38h5sul660e"); // layerWidthInfo[i].removed = (int*)zmalloc((nNodeGroups)*sizeof(int)); +UNSUPPORTED("a16qoyl314d7d9chwymtn019s"); // layerWidthInfo[i].layerNumber = i; +UNSUPPORTED("cg2cd89vdfegcllk4lqfvn5h2"); // layerWidthInfo[i].nNodeGroupsInLayer = 0; +UNSUPPORTED("5qbgpr6w09rjfbzyrmcge4tt2"); // layerWidthInfo[i].nDummyNodes = 0; +UNSUPPORTED("6cn4a2kaj95meb5bwxgi6t0qr"); // layerWidthInfo[i].width = 0.0; +UNSUPPORTED("nklu8lmzpq6zswxqna7hbf2"); // layerWidthInfo[i].height = 0.0; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("68bkdm53hpxme9qp9j1zxh4if"); // /* Count dummy nodes in the layer */ +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("bgir6fgzucxltcpf123wxwa16"); // int k; +UNSUPPORTED("9l0n1phb69gtf3xurnpundse6"); // /* FIX: This loop maybe unnecessary, but removing it and using +UNSUPPORTED("7qmve7ja4rala0jzz6b2bf7ee"); // * the commented codes next, gives a segmentation fault. I +UNSUPPORTED("6tsb25jdjgeyd8kt16ms1k9qc"); // * forgot the reason why. +UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ +UNSUPPORTED("40f532kzdw6xhs33zio76rmo2"); // for (k = ND_rank(agtail(e)) + 1; k < ND_rank(aghead(e)); k++) { +UNSUPPORTED("chgb216iqv20trqdzrg86mdmx"); // layerWidthInfo[k].nDummyNodes++; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("69qgvs0kkl50uqq9a8psjvv9h"); // /* gather the layer information */ +UNSUPPORTED("7vfjpab2mkl8qvm3ag5psj6hf"); // for (i = 0; i < nNodeGroups; i++) { +UNSUPPORTED("dh83pjg3c5msf1h1kf0axqdsx"); // v = nodeGroups[i].nodes[0]; +UNSUPPORTED("9bi1i3v5pz27x2f1y1abwhdrm"); // if (ND_rank(v) + 1 > nLayers) /* update the number of layers */ +UNSUPPORTED("ezub0uc17r32oo1qlkf2gdjds"); // nLayers = ND_rank(v) + 1; +UNSUPPORTED("aksirw784lry2qxk8yppa0p4e"); // layerWidthInfo[ND_rank(v)].width += +UNSUPPORTED("3szfevpiz60jx1spm5qxs6dd"); // nodeGroups[i].width * 72 + (layerWidthInfo[ND_rank(v)].width > +UNSUPPORTED("amrnb3ao1kyyugopgztdru2yy"); // 0) * GD_nodesep(g); +UNSUPPORTED("9jz8yn32phtkki2y93ymg6cmh"); // if (layerWidthInfo[ND_rank(v)].height < nodeGroups[i].height * 72) +UNSUPPORTED("41gme6wvrco68e7sq80ey8oal"); // layerWidthInfo[ND_rank(v)].height = nodeGroups[i].height * 72; +UNSUPPORTED("eglala2xwc9bmolhriirfo56e"); // layerWidthInfo[ND_rank(v)]. +UNSUPPORTED("arh0xb14ftp0yfs8ejxzmhjzk"); // nodeGroupsInLayer[layerWidthInfo[ND_rank(v)]. +UNSUPPORTED("mdsrd2ju7gexbgpwyclxucy0"); // nNodeGroupsInLayer] = &nodeGroups[i]; +UNSUPPORTED("8dv04kyx67hibudzpw8i562vh"); // layerWidthInfo[ND_rank(v)].nNodeGroupsInLayer++; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 62on7vg7kkyolc539do3mec4h +// static int compFunction(const void *a, const void *b) +public static Object compFunction(Object... arg) { +UNSUPPORTED("4ocl61j8fqxzk98dh43ldqo7n"); // static int compFunction(const void *a, const void *b) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("i2zwxk0ezuvec7grppkqqj67"); // int *ind1 = (int *) a; +UNSUPPORTED("2obagarn6xlc7uq4q8fg8pw05"); // int *ind2 = (int *) b; +UNSUPPORTED("cy4oapfo680baj6mqy6v64o0d"); // return (layerWidthInfo[*ind2].width > +UNSUPPORTED("44d4z7bklr6jymot3f82e2qk"); // layerWidthInfo[*ind1].width) - (layerWidthInfo[*ind2].width < +UNSUPPORTED("dol0wgt1zxwmpxius6rn6lf36"); // layerWidthInfo[*ind1].width); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 ehhhz69emnjuunlpp23vqc6px +// static void sortLayers(graph_t * g) +public static Object sortLayers(Object... arg) { +UNSUPPORTED("30da20fhd5pcu6ofmw4vzj6xt"); // static void sortLayers(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("1djuhyco70xz45va6y1yesa70"); // qsort(sortedLayerIndex, agnnodes(g), sizeof(int), compFunction); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6evdukaqstizjshbr4oanxa73 +// static int getOutDegree(nodeGroup_t * ng) +public static Object getOutDegree(Object... arg) { +UNSUPPORTED("2h5zq3e2klttmcfrs4pg0cst6"); // static int getOutDegree(nodeGroup_t * ng) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b5a93beg34iiqtnufv9wanh2r"); // int i, cnt = 0; +UNSUPPORTED("7ur993neb8tctm0gbe60vhpva"); // for (i = 0; i < ng->nNodes; i++) { +UNSUPPORTED("3ubjqvl7psu25r3c10ddw54v5"); // node_t *n = ng->nodes[i]; +UNSUPPORTED("ak952thd788dbr90m2fvaklyu"); // edge_t *e; +UNSUPPORTED("2z8g63ud3byunrtnllsx573mk"); // graph_t *g = agraphof(n); +UNSUPPORTED("dar3s057kgujhrxf7no64ofdb"); // /* count outdegree. This loop might be unnecessary. */ +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("7hl03wjg5yryhvbe4ar0i0b8g"); // cnt++; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("3zkt5kbq3sockq663o3s3ync7"); // return cnt; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 advd4q4a55y9bkee9lm2jlb0b +// static int compFunction2(const void *a, const void *b) +public static Object compFunction2(Object... arg) { +UNSUPPORTED("3ozmsdf5a2dqxtwspwzu5w8yl"); // static int compFunction2(const void *a, const void *b) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("751goeklcv2nazn2zynh989rh"); // nodeGroup_t **ind1 = (nodeGroup_t **) a, **ind2 = (nodeGroup_t **) b; +UNSUPPORTED("d5t70ah6319tmfn70ddvkq7wr"); // int cnt1 = getOutDegree(*ind1); +UNSUPPORTED("8wbvk61eveeuzv86g34s2xbd4"); // int cnt2 = getOutDegree(*ind2); +UNSUPPORTED("54loo8ag5vsb7zdxx83v3wegy"); // return (cnt2 < cnt1) - (cnt2 > cnt1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 aumg85jl3ptocfpw3ix2pech9 +// static void reduceMaxWidth2(graph_t * g) +public static Object reduceMaxWidth2(Object... arg) { +UNSUPPORTED("6kkeddpljjg8jce0vm3z2zxdy"); // static void reduceMaxWidth2(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("809hvj8mnkno5tj5jlitlzwba"); // int maxLayerIndex; +UNSUPPORTED("7krkyrq7vtxesiaw3i63dji4m"); // double nextMaxWidth; +UNSUPPORTED("c9w9u59u9ncaoyp4lxxvw7ys3"); // double w = 0; +UNSUPPORTED("9x23dbda4cbxrfoy5h5q89sef"); // double targetWidth; +UNSUPPORTED("3d8p59v1x246rys9xsoqpko98"); // int fst; +UNSUPPORTED("4zuos9b188cv83meg3dw0orp3"); // nodeGroup_t *fstNdGrp; +UNSUPPORTED("beehmu1l85sgql2h4wysgoce4"); // int ndem; +UNSUPPORTED("884zwztabkph7x61nviw8sjef"); // int p, q; +UNSUPPORTED("8t1tccvz58ueg1sf9fyado1vu"); // int limit; +UNSUPPORTED("di25ovytf5y19mju57f42pogp"); // int rem; +UNSUPPORTED("dcmflthwszqqq5jsozmt9oyfi"); // int rem2; +UNSUPPORTED("81h1x4spv5vyw9fipnyfpgcmm"); // /* Find the widest layer. it must have at least 2 nodes. */ +UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { +UNSUPPORTED("367ttm0jqivj6ascugpsq2ihs"); // if (layerWidthInfo[sortedLayerIndex[i]].nNodeGroupsInLayer <= 1) +UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; +UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { +UNSUPPORTED("1qngg4wjsrt1uwmffwse8e1fm"); // maxLayerIndex = sortedLayerIndex[i]; +UNSUPPORTED("mrjkzaja4hn0djdm4njyzwgn"); // /* get the width of the next widest layer */ +UNSUPPORTED("bekefegm5r42jf82uhdsw60k2"); // nextMaxWidth = +UNSUPPORTED("1s96rlqp02to8be86ahpks4qp"); // (nLayers > +UNSUPPORTED("4qkxf4ozs5338fev3ejswyucm"); // i + 1) ? layerWidthInfo[sortedLayerIndex[i + +UNSUPPORTED("90jb1nqwt32r76t90h3kukxls"); // 1]].width : 0; +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("atqfhmyhmoiwees87nqlh9bs2"); // if (i == nLayers) +UNSUPPORTED("4wofltgoxyf0kq1ucrvv2sbq9"); // return; /* reduction of layerwidth is not possible. */ +UNSUPPORTED("5nqb1rqm56ozkw6w0ysotyy06"); // /* sort the node groups in maxLayerIndex layer by height and +UNSUPPORTED("e9gqf91z12tzdilu3jefz85op"); // * then width, nonincreasing +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("3tbh2oua8twhyt14bkhup0v5n"); // qsort(layerWidthInfo[maxLayerIndex].nodeGroupsInLayer, +UNSUPPORTED("80ucuxmaxd96o7ozxxno7y18c"); // layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer, +UNSUPPORTED("f0wxqmd02xh4xxnox7semmqup"); // sizeof(nodeGroup_t *), compFunction2); +UNSUPPORTED("bukry94lbr7k56elmyf5nyna1"); // if (nextMaxWidth <= layerWidthInfo[maxLayerIndex].width / 4 +UNSUPPORTED("1dy07qz8nxz4ovvsonpv95h8x"); // || nextMaxWidth >= layerWidthInfo[maxLayerIndex].width * 3 / 4) +UNSUPPORTED("4xw4q9anml67xuotpbea3yy1x"); // nextMaxWidth = layerWidthInfo[maxLayerIndex].width / 2; +UNSUPPORTED("4vcsswlnmvhk990gonx0dbl53"); // targetWidth = nextMaxWidth; /* layerWidthInfo[maxLayerIndex].width/2; */ +UNSUPPORTED("8xl0athl77hag9patwu9qhehu"); // /* now partition the current layer into two or more +UNSUPPORTED("c49o3kf9bot8xo1pu9vb9qcsy"); // * layers (determined by the ranking algorithm) +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("3ku48i8nky2n7oji9472v747k"); // fst = 0; +UNSUPPORTED("cspv6bcy4ird3pgtk05x2v9x6"); // ndem = 0; +UNSUPPORTED("1b8yssh8ruoe077cgcki6zdrt"); // limit = layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer; +UNSUPPORTED("2rbxfdjhm2zringpkeerct448"); // rem = 0; +UNSUPPORTED("apzuij26xnj5ma4m18z4ai50w"); // rem2 = 0; +UNSUPPORTED("dap1pwebtq8maf5s2545nbrp1"); // /* initialize w, the width of the widest layer after partitioning */ +UNSUPPORTED("7l2ucqsu9ruv5iie2klh90ahd"); // w = 0; +UNSUPPORTED("a7g80jjjbl6srwowqdzxcoqs0"); // for (i = 0; i < limit + rem; i++) { +UNSUPPORTED("1ahjq48zq780a0cwvpseutdkn"); // if (layerWidthInfo[maxLayerIndex].removed[i]) { +UNSUPPORTED("48so496p8g7nm344prgfhv3r5"); // rem++; +UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("cg4gj8hzn83y6snfckfbmfo6e"); // if ((w + +UNSUPPORTED("dv06i6wtz2bw1qsahmuqs98hl"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]->width * +UNSUPPORTED("pf67y1fh8hdiylyu2431xmxa"); // 72 + (w > 0) * GD_nodesep(g) <= targetWidth) +UNSUPPORTED("bq1bstz8voswqa4fjibespqab"); // || !fst) { +UNSUPPORTED("5qq0d479u9d6d2ye5xl80ax0d"); // w += (layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i])-> +UNSUPPORTED("bq93mxk1jp4ou77b72s93zr85"); // width * 72 + (w > 0) * GD_nodesep(g); +UNSUPPORTED("366y982g736adlsryzw0c3oek"); // if (!fst) { +UNSUPPORTED("9plnm3zvs0636dt0kmoha46l"); // fstNdGrp = +UNSUPPORTED("5xiakyfs1gp0y9aasprrrk5mn"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]; +UNSUPPORTED("bf0q1igp1253yxfg3f1tfel24"); // fst = 1; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("3wwlt6ahhurc0ijlwm0bxslur"); // nodeGroup_t *ng = +UNSUPPORTED("43fttvx26kc9s70wgpnm3ws2q"); // layerWidthInfo[maxLayerIndex].nodeGroupsInLayer[i]; +UNSUPPORTED("kq0gpmkxpiwbektqvym913vy"); // for (p = 0; p < fstNdGrp->nNodes; p++) +UNSUPPORTED("7chqat1hgor0xzck89881kmmz"); // for (q = 0; q < ng->nNodes; q++) { +UNSUPPORTED("3egbmst2r8790sta0upbaq3kj"); // //printf("Trying to add virtual edge: %s -> %s\n", +UNSUPPORTED("dwbnct46v3we663g5l2tmptui"); // // agnameof(fstNdGrp->nodes[p]), agnameof(ng->nodes[q])); +UNSUPPORTED("cuqv9sy98rmhdbjpzeex3rg4v"); // /* The following code is for deletion of long virtual edges. +UNSUPPORTED("1r2z18tbg612ek9sfb489a6xc"); // * It's no longer used. +UNSUPPORTED("e37um01phgd5qy4hrex7cu8bi"); // */ +UNSUPPORTED("58a2mmk9lsz9t5yzb8b9f8bkp"); // /* add a new virtual edge */ +UNSUPPORTED("6ljuxngn9wk3ftcodzf054yeu"); // edge_t *newVEdge = +UNSUPPORTED("844w3zq8p902r572neb30unb6"); // virtual_edge(fstNdGrp->nodes[p], ng->nodes[q], +UNSUPPORTED("b955fhzlbikknivthxtzpnugj"); // NULL); +UNSUPPORTED("qt1p5nrwd57te4eh2ohjmmta"); // ED_edge_type(newVEdge) = 1; +UNSUPPORTED("dsgv48crsux69djskyfkvpq8a"); // ndem++; /* increase number of node demotions */ +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("7vqv39l80iv7x6hfdcecytlgy"); // /* the following code updates the layer width information. The +UNSUPPORTED("7j2qzieax8k3ao9i9so65vkc1"); // * update is not useful in the current version of the heuristic. +UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ +UNSUPPORTED("8vij5gjt5kh41fekao3vc79ck"); // layerWidthInfo[maxLayerIndex].removed[i] = 1; +UNSUPPORTED("czzy9dbc0rmsq8m3o0g5tuamg"); // rem2++; +UNSUPPORTED("96jz56riot2d1ri2fufximy6f"); // layerWidthInfo[maxLayerIndex].nNodeGroupsInLayer--; +UNSUPPORTED("ahih3boi0hmv6cjfgurjbltxl"); // /* SHOULD BE INCREASED BY THE SUM OF INDEG OF ALL NODES IN GROUP */ +UNSUPPORTED("7wh7bhbziqs0nzma76j37hbiz"); // layerWidthInfo[maxLayerIndex].nDummyNodes++; +UNSUPPORTED("4zs60km4pkprzvbgtwsdhp5ad"); // layerWidthInfo[maxLayerIndex].width -= +UNSUPPORTED("atkdij9n6sv7amu7j5iiofmpb"); // (ng->width * 72 + GD_nodesep(g)); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9m17vsomqcrp49v7i892k9wdz +// static void applyPacking2(graph_t * g) +public static Object applyPacking2(Object... arg) { +UNSUPPORTED("a65t347rhgkl70wordiofv3b"); // static void applyPacking2(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("5z9j46ysd1pb5bnq6c90enmrq"); // sortedLayerIndex = (int*)zmalloc((agnnodes(g))*sizeof(int)); +UNSUPPORTED("9bb75wlkcadi5zu3bgx60fel0"); // for (i = 0; i < agnnodes(g); i++) { +UNSUPPORTED("e9lhr9mahq6qolp5r06dl6rfy"); // sortedLayerIndex[i] = i; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); +UNSUPPORTED("6541sj456n87xc6ssjlvin6lv"); // sortLayers(g); +UNSUPPORTED("22r0c4vewes195tok6uvfzjjk"); // reduceMaxWidth2(g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 b9x4re3dvjn32qyn2twehamcd +// void initEdgeTypes(graph_t * g) +public static Object initEdgeTypes(Object... arg) { +UNSUPPORTED("2syp4meyieisq746m5m1ff921"); // void initEdgeTypes(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("7k5t9s9q7nhmwr9qz8jg12ams"); // int lc; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("z39vglndoyxj54j2z9v64r6q"); // for (lc = 0; lc < ND_in(n).size; lc++) { +UNSUPPORTED("agilsevb8bk3ymoczc2ptb24y"); // e = ND_in(n).list[lc]; +UNSUPPORTED("21bvtwcu90i27r8cbu2ngifk"); // ED_edge_type(e) = 0; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9b4z7q5fnvgvi1cs36mimkrqs +// static double computeCombiAR(graph_t * g) +public static Object computeCombiAR(Object... arg) { +UNSUPPORTED("8y99bebjn0nlslisg0u06o7ef"); // static double computeCombiAR(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("gmffj6qikpm7gyjl7ppj2avw"); // int i, maxLayerIndex; +UNSUPPORTED("bkqjq8sflq6i69h1q5wtrqdyz"); // double maxW = 0; +UNSUPPORTED("d2sh953raugyt16qa6wimemaq"); // double maxH; +UNSUPPORTED("3dg5tppzkfs857vo6ykmcnnah"); // double ratio; +UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); +UNSUPPORTED("btqcp1jn7vzx1obrdwlpao8ei"); // maxH = (nLayers - 1) * GD_ranksep(g); +UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { +UNSUPPORTED("6nkzs7fajji0961pjb259v0fk"); // if (maxW < +UNSUPPORTED("5k2g68qxz0ue7tb2a4pdbhu2j"); // layerWidthInfo[i].width + +UNSUPPORTED("eoi6tblklq5p0ap1ck08iiqj8"); // layerWidthInfo[i].nDummyNodes * GD_nodesep(g)) { +UNSUPPORTED("93grfh5yi1ydy8iyt353uh909"); // maxW = +UNSUPPORTED("279i4wi2e4voircoomc1ry8ua"); // layerWidthInfo[i].width + +UNSUPPORTED("6xb1rhy6cdjxo2vbpz8nhuvxe"); // layerWidthInfo[i].nDummyNodes * GD_nodesep(g); +UNSUPPORTED("92zn37cakfkafc7ginje53mb6"); // maxLayerIndex = i; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("cn95qhc4xh1ri1c41fnpwce48"); // maxH += layerWidthInfo[i].height; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9p670kmiu3qqp1vgbn22mq4w9"); // ratio = maxW / maxH; +UNSUPPORTED("beyrasxgt5kbbdyzy9nvsaf3i"); // return ratio; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 w58r6lvyglcqidl4qnxr3cm5 +// static void zapLayers(graph_t * g) +public static Object zapLayers(Object... arg) { +UNSUPPORTED("dsto0e5yga5gs3tgtzp4pbffj"); // static void zapLayers(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; +UNSUPPORTED("7cl1kmap8x457uux62gb4277b"); // int start = 0; +UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0; +UNSUPPORTED("90et4gwa94l7wrduohmumf7q6"); // /* the layers are sorted by the layer number. now zap the empty layers */ +UNSUPPORTED("5ad5whcn26kk2tafa6g5hmjgm"); // for (i = 0; i < nLayers; i++) { +UNSUPPORTED("8oo7ghtfr3xrf5gukymtnn4jk"); // if (layerWidthInfo[i].nNodeGroupsInLayer == 0) { +UNSUPPORTED("dgv3r9g8m1rprnlfpxqhfe1z9"); // if (count == 0) +UNSUPPORTED("2ksocundgfwgz5agi901h1ng6"); // start = layerWidthInfo[i].layerNumber; +UNSUPPORTED("fn6rrzmrb2yold6j6aofg94n"); // count++; +UNSUPPORTED("ern96acbmw0trnet16xgt1chp"); // } else if (count && layerWidthInfo[i].layerNumber > start) { +UNSUPPORTED("4f4sjt4zqxe5b75pgq7zd079z"); // for (j = 0; j < layerWidthInfo[i].nNodeGroupsInLayer; j++) { +UNSUPPORTED("euaoxl3q399fzxn78jpuxbz0m"); // int q; +UNSUPPORTED("4y0bw1xrvij26xm6lflig8hph"); // nodeGroup_t *ng = layerWidthInfo[i].nodeGroupsInLayer[j]; +UNSUPPORTED("7chqat1hgor0xzck89881kmmz"); // for (q = 0; q < ng->nNodes; q++) { +UNSUPPORTED("ez35ky0s0p5r57be9io2lrr10"); // node_t *nd = ng->nodes[q]; +UNSUPPORTED("bcfxc7h41rzopvk27c7kreog"); // ND_rank(nd) -= count; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 25p8yyx732fa1dwxany5vkmqv +// void rank3(graph_t * g, aspect_t * asp) +public static Object rank3(Object... arg) { +UNSUPPORTED("ey9g3c61eb7j5dnz3gbhvflt3"); // void rank3(graph_t * g, aspect_t * asp) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("2jcii9cclu1dijzqekzc175pe"); // Agnode_t *n; +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("752slid56zrpl98vchhyeqpj"); // int iterations = asp->nextIter; +UNSUPPORTED("6wfeyz2bw1fm15jb5qg3a79a2"); // double lastAR = MAXDOUBLE; +UNSUPPORTED("5bvy7rsy7sf1krbn35gmd888x"); // computeNodeGroups(g); /* groups of UF DS nodes */ +UNSUPPORTED("cn5dqgh2amp70r1jzq8d7v75x"); // for (i = 0; (i < iterations) || (iterations == -1); i++) { +UNSUPPORTED("42uwgh3dkewf6zkd83xt1wzjd"); // /* initialize all ranks to be 0 */ +UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("f429zn3r84ceckfatzshenxzo"); // ND_rank(n) = 0; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("d7qgdx3iixit5pdzj1yfw5vc8"); // /* need to compute ranking first--- by Network flow */ +UNSUPPORTED("1um989w8mqkye2u0q3wbc8dgb"); // rank1(g); +UNSUPPORTED("cou59yxqf69o7kpjwdkc0vdth"); // asp->combiAR = computeCombiAR(g); +UNSUPPORTED("a0xpyoq74njvdwc9lcvgyfc0p"); // if (Verbose) +UNSUPPORTED("5ndbkluuhatxcz2bwngcywbhc"); // fprintf(stderr, "combiAR = %lf\n", asp->combiAR); +UNSUPPORTED("53w2avskexaf6hjssoeplgz0o"); // /* Uncomment the following codes, for working with narrow graphs */ +UNSUPPORTED("am6dg6wfejg71244n1zzvaed6"); // /* Success or if no improvement */ +UNSUPPORTED("7qroolj8ezwbbkwrss9k1q5mc"); // if ((asp->combiAR <= asp->targetAR) || ((iterations == -1) && (lastAR <= asp->combiAR))) { +UNSUPPORTED("11dozd7gvruvmd3x164caqmgz"); // asp->prevIterations = asp->curIterations; +UNSUPPORTED("bm7zpotfxeku2ydqqsd6twzm6"); // asp->curIterations = i; +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("7r2hn8bkthpfcf03lu4vnje0f"); // lastAR = asp->combiAR; +UNSUPPORTED("9tsz1ho0itczonzjb308rql0m"); // /* Apply the FFDH algorithm to reduce the aspect ratio; */ +UNSUPPORTED("7jlj2ab1tf2kzdmzf0f14epg4"); // applyPacking2(g); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9zv64kjrcw7u09t5lm2qsg4fw"); // /* do network flow once again... incorporating the added edges */ +UNSUPPORTED("393qo3g8b50gvp5o0tpqh29v1"); // rank1(g); +UNSUPPORTED("ekdavoqh7w4imu35z1hk4cr27"); // computeLayerWidths(g); +UNSUPPORTED("b1ukbsj4nhxbvn64fx7zbx7sn"); // zapLayers(g); +UNSUPPORTED("3b5copquo4t13fbkmtbbkvo8j"); // asp->combiAR = computeCombiAR(g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7bn6xhopjjdriiwvcpg9wqy1y +// void init_UF_size(graph_t * g) +public static Object init_UF_size(Object... arg) { +UNSUPPORTED("cqp1rfchvfwon31gknapperjh"); // void init_UF_size(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("2jzig41vokvwcy6z0o5dgo7sb"); // ND_UF_size(n) = 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5srsfxqlego6qiyj5mm8m4ql2 +// aspect_t* setAspect (Agraph_t * g, aspect_t* adata) +public static aspect_t setAspect(Agraph_s g, aspect_t adata) { +ENTERING("5srsfxqlego6qiyj5mm8m4ql2","setAspect"); +try { + double rv; + CString p; + int r, passes = 5; + p = agget (g, new CString("aspect")); + if (N(p) || UNSUPPORTED("(r = sscanf (p, %lf,%d, &rv, &passes)) <= 0)")==null) { + adata.setInt("nextIter", 0); + adata.setInt("badGraph", 0); + return null; + } +UNSUPPORTED("bq1l9wqiw8bcls8ptb8o9rhqi"); // agerr (AGWARN, "the aspect attribute has been disabled due to implementation flaws - attribute ignored.\n"); +UNSUPPORTED("1hvtnh8r9fb47ewad86tcf0n0"); // adata->nextIter = 0; +UNSUPPORTED("xx058mix2zyckbi0esnoc56v"); // adata->badGraph = 0; +UNSUPPORTED("o68dp934ebg4cplebgc5hv4v"); // return NULL; +UNSUPPORTED("ikxv7u2qba6riujs2unqsitx"); // if (rv < 1.0) rv = 1.0; +UNSUPPORTED("acmmvkcaf8bc8wb6kdx9s2d3a"); // else if (rv > 20.0) rv = 20.0; +UNSUPPORTED("18wyf3ih8fg4x4s3c006nx8zx"); // adata->targetAR = rv; +UNSUPPORTED("2875r01nyy2cpm1c439zwu6tf"); // adata->nextIter = -1; +UNSUPPORTED("9ssjc7jsfl2jgw01gwnr3ftal"); // adata->nPasses = passes; +UNSUPPORTED("xx058mix2zyckbi0esnoc56v"); // adata->badGraph = 0; +UNSUPPORTED("620q0efwdrg8vw3ggwpmxqiwv"); // if (Verbose) +UNSUPPORTED("a7heh0decro63skjh8xq4buo7"); // fprintf(stderr, "Target AR = %g\n", adata->targetAR); +UNSUPPORTED("b1cn763x4de1h91cdv3d4o3lb"); // return adata; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("5srsfxqlego6qiyj5mm8m4ql2","setAspect"); +} +} + + +} diff --git a/src/gen/lib/dotgen/class1__c.java b/src/gen/lib/dotgen/class1__c.java new file mode 100644 index 0000000..fad352f --- /dev/null +++ b/src/gen/lib/dotgen/class1__c.java @@ -0,0 +1,821 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agxget; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.common.utils__c.UF_find; +import static gen.lib.common.utils__c.mapbool; +import static gen.lib.dotgen.cluster__c.mark_clusters; +import static gen.lib.dotgen.fastgr__c.find_fast_edge; +import static gen.lib.dotgen.fastgr__c.merge_oneway; +import static gen.lib.dotgen.fastgr__c.virtual_edge; +import static gen.lib.dotgen.fastgr__c.virtual_node; +import static gen.lib.dotgen.position__c.make_aux_edge; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ED_minlen; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.GD_leader; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.pointf; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Z; +import smetana.core.__struct__; + +public class class1__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2luyof8ca7ewf9r08z3os3lk7 +// int nonconstraint_edge(edge_t * e) +public static boolean nonconstraint_edge(Agedge_s e) { +ENTERING("2luyof8ca7ewf9r08z3os3lk7","nonconstraint_edge"); +try { + CString constr; + if (Z.z().E_constr!=null && (constr = agxget(e, Z.z().E_constr))!=null) { + if (constr.charAt(0)!='\0' && mapbool(constr) == false) + return (!(false)); + } + return false; +} finally { +LEAVING("2luyof8ca7ewf9r08z3os3lk7","nonconstraint_edge"); +} +} + + + + +//3 dpimuv55sylui7jx8fh3ic1qc +// static void interclust1(graph_t * g, node_t * t, node_t * h, edge_t * e) +public static void interclust1(Agraph_s g, Agnode_s t, Agnode_s h, Agedge_s e) { +ENTERING("dpimuv55sylui7jx8fh3ic1qc","interclust1"); +try { + Agnode_s v, t0, h0; + int offset, t_len, h_len, t_rank, h_rank; + Agedge_s rt, rh; + if (ND_clust(agtail(e))!=null) + t_rank = ND_rank(agtail(e)) - ND_rank(GD_leader(ND_clust(agtail(e)))); + else + t_rank = 0; + if (ND_clust(aghead(e))!=null) + h_rank = ND_rank(aghead(e)) - ND_rank(GD_leader(ND_clust(aghead(e)))); + else + h_rank = 0; + offset = ED_minlen(e) + t_rank - h_rank; + if (offset > 0) { + t_len = 0; + h_len = offset; + } else { + t_len = -offset; + h_len = 0; + } + v = virtual_node(g); + ND_node_type(v, 2); + t0 = UF_find(t); + h0 = UF_find(h); + rt = make_aux_edge(v, t0, t_len, 10 * ED_weight(e)); + rh = make_aux_edge(v, h0, h_len, ED_weight(e)); + ED_to_orig(rt, e); + ED_to_orig(rh, e); +} finally { +LEAVING("dpimuv55sylui7jx8fh3ic1qc","interclust1"); +} +} + + + + +//3 acy5ct6402jgf0ga5oeeskx5m +// void class1(graph_t * g) +public static void class1_(Agraph_s g) { +ENTERING("acy5ct6402jgf0ga5oeeskx5m","class1"); +try { + Agnode_s n, t, h; + Agedge_s e, rep; + mark_clusters(g); + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + /* skip edges already processed */ + if (ED_to_virt(e)!=null) + continue; + /* skip edges that we want to ignore in this phase */ + if (nonconstraint_edge(e)) + continue; + t = UF_find(agtail(e)); + h = UF_find(aghead(e)); + /* skip self, flat, and intra-cluster edges */ + if (EQ(t, h)) + continue; + /* inter-cluster edges require special treatment */ + if (ND_clust(t)!=null || ND_clust(h)!=null) { + interclust1(g, agtail(e), aghead(e), e); + continue; + } + if ((rep = find_fast_edge(t, h))!=null) + merge_oneway(e, rep); + else + virtual_edge(t, h, e); + } + } +} finally { +LEAVING("acy5ct6402jgf0ga5oeeskx5m","class1"); +} +} + + +} diff --git a/src/gen/lib/dotgen/class2__c.java b/src/gen/lib/dotgen/class2__c.java new file mode 100644 index 0000000..843107d --- /dev/null +++ b/src/gen/lib/dotgen/class2__c.java @@ -0,0 +1,1100 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.agedge; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agroot; +import static gen.lib.common.utils__c.UF_find; +import static gen.lib.dotgen.cluster__c.build_skeleton; +import static gen.lib.dotgen.cluster__c.mark_clusters; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static gen.lib.dotgen.fastgr__c.fast_node; +import static gen.lib.dotgen.fastgr__c.find_fast_edge; +import static gen.lib.dotgen.fastgr__c.flat_edge; +import static gen.lib.dotgen.fastgr__c.merge_oneway; +import static gen.lib.dotgen.fastgr__c.other_edge; +import static gen.lib.dotgen.fastgr__c.virtual_edge; +import static gen.lib.dotgen.fastgr__c.virtual_node; +import static gen.lib.dotgen.mincross__c.virtual_weight; +import static gen.lib.dotgen.position__c.ports_eq; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ALLOC_empty; +import static smetana.core.Macro.ED_conc_opp_flag; +import static smetana.core.Macro.ED_count; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_label; +import static smetana.core.Macro.ED_label_ontop; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.ED_xpenalty; +import static smetana.core.Macro.GD_clust; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_n_nodes; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_nodesep; +import static smetana.core.Macro.GD_rankleader; +import static smetana.core.Macro.MAX; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_ht; +import static smetana.core.Macro.ND_label; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_ranktype; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.ND_weight_class; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.Z; +import smetana.core.__struct__; + +public class class2__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2zn7c6ulmwwzaibdxo127jf04 +// static node_t* label_vnode(graph_t * g, edge_t * orig) +public static Agnode_s label_vnode(Agraph_s g, Agedge_s orig) { +ENTERING("2zn7c6ulmwwzaibdxo127jf04","label_vnode"); +try { + Agnode_s v; + final __struct__<pointf> dimen = JUtils.from(pointf.class); + dimen.___(ED_label(orig).getStruct("dimen")); + v = virtual_node(g); + ND_label(v, ED_label(orig)); + ND_lw(v, GD_nodesep(agroot(v))); + if (N(ED_label_ontop(orig))) { + if (GD_flip(agroot(g))!=0) { + ND_ht(v, dimen.getDouble("x")); + ND_rw(v, dimen.getDouble("y")); + } else { + ND_ht(v, dimen.getDouble("y")); + ND_rw(v, dimen.getDouble("x")); + } + } + return v; +} finally { +LEAVING("2zn7c6ulmwwzaibdxo127jf04","label_vnode"); +} +} + + + + +//3 49tji49jdm9uges7v8lf2j2rn +// static void incr_width(graph_t * g, node_t * v) +public static void incr_width(Agraph_s g, Agnode_s v) { +ENTERING("49tji49jdm9uges7v8lf2j2rn","incr_width"); +try { + int width = GD_nodesep(g) / 2; + ND_lw(v, ND_lw(v) + width); + ND_rw(v, ND_rw(v) + width); +} finally { +LEAVING("49tji49jdm9uges7v8lf2j2rn","incr_width"); +} +} + + + + +//3 xujihq6vep3ez275shtrbilo +// static node_t* plain_vnode(graph_t * g, edge_t * orig) +public static Agnode_s plain_vnode(Agraph_s g, Agedge_s orig) { +ENTERING("xujihq6vep3ez275shtrbilo","plain_vnode"); +try { + Agnode_s v; + orig = orig; + v = virtual_node(g); + incr_width(g, v); + return v; +} finally { +LEAVING("xujihq6vep3ez275shtrbilo","plain_vnode"); +} +} + + + + +//3 9fmfj1b2jik7skv6ms0657t8r +// static node_t* leader_of(graph_t * g, node_t * v) +public static Agnode_s leader_of(Agraph_s g, Agnode_s v) { +ENTERING("9fmfj1b2jik7skv6ms0657t8r","leader_of"); +try { + Agraph_s clust; + Agnode_s rv; + if (ND_ranktype(v) != 7) { + /*assert(v == UF_find(v)); could be leaf, so comment out */ + rv = UF_find(v); + } else { + clust = ND_clust(v); + rv = (Agnode_s) GD_rankleader(clust).plus(ND_rank(v)).getPtr(); + } + return rv; +} finally { +LEAVING("9fmfj1b2jik7skv6ms0657t8r","leader_of"); +} +} + + + + +//3 6sbvlvurvkodunw2qt1ug70c2 +// static void make_chain(graph_t * g, node_t * from, node_t * to, edge_t * orig) +public static void make_chain(Agraph_s g, Agnode_s from, Agnode_s to, Agedge_s orig) { +ENTERING("6sbvlvurvkodunw2qt1ug70c2","make_chain"); +try { + int r, label_rank; + Agnode_s u, v=null; + Agedge_s e; + u = from; + if (ED_label(orig)!=null) + label_rank = (ND_rank(from) + ND_rank(to)) / 2; + else + label_rank = -1; + //assert(ED_to_virt(orig) == NULL); + for (r = ND_rank(from) + 1; r <= ND_rank(to); r++) { + if (r < ND_rank(to)) { + if (r == label_rank) + v = label_vnode(g, orig); + else + v = plain_vnode(g, orig); + ND_rank(v, r); + } else + v = to; + e = virtual_edge(u, v, orig); + virtual_weight(e); + u = v; + } + // assert(ED_to_virt(orig) != NULL); +} finally { +LEAVING("6sbvlvurvkodunw2qt1ug70c2","make_chain"); +} +} + + + + +//3 659ld5tcseo3l0hopxb3pf0vv +// static void interclrep(graph_t * g, edge_t * e) +public static void interclrep(Agraph_s g, Agedge_s e) { +ENTERING("659ld5tcseo3l0hopxb3pf0vv","interclrep"); +try { + Agnode_s t, h; + Agedge_s ve; + t = leader_of(g, agtail(e)); + h = leader_of(g, aghead(e)); + if (ND_rank(t) > ND_rank(h)) { + Agnode_s t0 = t; + t = h; + h = t0; + } + if (NEQ(ND_clust(t), ND_clust(h))) { + if ((ve = find_fast_edge(t, h))!=null) { + merge_chain(g, e, ve, NOT(false)); + return; + } + if (ND_rank(t) == ND_rank(h)) + return; + make_chain(g, t, h, e); + /* mark as cluster edge */ + for (ve = ED_to_virt(e); ve!=null && (ND_rank(aghead(ve)) <= ND_rank(h)); + ve = (Agedge_s) ND_out(aghead(ve)).getFromList(0)) + ED_edge_type(ve, 5); + } + /* else ignore intra-cluster edges at this point */ +} finally { +LEAVING("659ld5tcseo3l0hopxb3pf0vv","interclrep"); +} +} + + + + +//3 c0cx00ki1i1kx0bp84e7xjg8d +// static int is_cluster_edge(edge_t * e) +public static boolean is_cluster_edge(Agedge_s e) { +ENTERING("c0cx00ki1i1kx0bp84e7xjg8d","is_cluster_edge"); +try { + return ((ND_ranktype(agtail(e)) == 7) + || (ND_ranktype(aghead(e)) == 7)); +} finally { +LEAVING("c0cx00ki1i1kx0bp84e7xjg8d","is_cluster_edge"); +} +} + + + + +//3 c45973dtaighb3u0auuekcs1y +// void merge_chain(graph_t * g, edge_t * e, edge_t * f, int flag) +public static void merge_chain(Agraph_s g, Agedge_s e, Agedge_s f, boolean flag) { +ENTERING("c45973dtaighb3u0auuekcs1y","merge_chain"); +try { + Agedge_s rep; + int lastrank = MAX(ND_rank(agtail(e)), ND_rank(aghead(e))); + //assert(ED_to_virt(e) == NULL); + ED_to_virt(e, f); + rep = f; + do { + /* interclust multi-edges are not counted now */ + if (flag) + ED_count(rep, ED_count(rep) + ED_count(e)); + ED_xpenalty(rep, ED_xpenalty(rep) + ED_xpenalty(e)); + ED_weight(rep, ED_weight(rep) + ED_weight(e)); + if (ND_rank(aghead(rep)) == lastrank) + break; + incr_width(g, aghead(rep)); + rep = (Agedge_s) ND_out(aghead(rep)).getFromList(0); + } while (rep!=null); +} finally { +LEAVING("c45973dtaighb3u0auuekcs1y","merge_chain"); +} +} + + + + +//3 bg5r9wlego0d8pv0hr96zt45c +// int mergeable(edge_t * e, edge_t * f) +public static boolean mergeable(Agedge_s e, Agedge_s f) { +ENTERING("bg5r9wlego0d8pv0hr96zt45c","mergeable"); +try { + if (e!=null && f!=null && EQ(agtail(e), agtail(f)) && EQ(aghead(e), aghead(f)) && + EQ(ED_label(e), ED_label(f)) && ports_eq(e, f)) + return NOT(false); + return false; +} finally { +LEAVING("bg5r9wlego0d8pv0hr96zt45c","mergeable"); +} +} + + + + +//3 d0bxlkysxucmww7t74u9krrgz +// void class2(graph_t * g) +public static void class2(Agraph_s g) { +ENTERING("d0bxlkysxucmww7t74u9krrgz","class2"); +try { + int c; + Agnode_s n, t, h; + Agedge_s e, prev, opp; + GD_nlist(g, null); + GD_n_nodes(g, 0); /* new */ + mark_clusters(g); + for (c = 1; c <= GD_n_cluster(g); c++) + build_skeleton(g, (Agraph_s) GD_clust(g).plus(c).getPtr()); + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + if (ND_weight_class(aghead(e)) <= 2) + ND_weight_class(aghead(e), ND_weight_class(aghead(e))+1); + if (ND_weight_class(agtail(e)) <= 2) + ND_weight_class(agtail(e), ND_weight_class(agtail(e))+1); + } + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + if ((ND_clust(n) == null) && (EQ(n, UF_find(n)))) { + fast_node(g, n); + GD_n_nodes(g, GD_n_nodes(g)+1); + } + prev = null; + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + /* already processed */ + if (ED_to_virt(e)!=null) { + prev = e; + continue; + } + /* edges involving sub-clusters of g */ + if (is_cluster_edge(e)) { + /* following is new cluster multi-edge code */ + if (mergeable(prev, e)) { + if (ED_to_virt(prev)!=null) { + merge_chain(g, e, ED_to_virt(prev), false); + other_edge(e); + } else if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { + merge_oneway(e, prev); + other_edge(e); + } + /* else is an intra-cluster edge */ + continue; + } + interclrep(g, e); + prev = e; + continue; + } + /* merge multi-edges */ + if (prev!=null && EQ(agtail(e), agtail(prev)) && EQ(aghead(e), aghead(prev))) { + if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { + merge_oneway(e, prev); + other_edge(e); + continue; + } + if ((ED_label(e) == null) && (ED_label(prev) == null) + && ports_eq(e, prev)) { + if (Z.z().Concentrate) + ED_edge_type(e, 6); + else { + merge_chain(g, e, ED_to_virt(prev), NOT(false)); + other_edge(e); + } + continue; + } + /* parallel edges with different labels fall through here */ + } + /* self edges */ + if (EQ(agtail(e), aghead(e))) { + other_edge(e); + prev = e; + continue; + } + t = UF_find(agtail(e)); + h = UF_find(aghead(e)); + /* non-leader leaf nodes */ + if (NEQ(agtail(e), t) || NEQ(aghead(e), h)) { + /* FIX need to merge stuff */ + continue; + } + /* flat edges */ + if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { + flat_edge(g, e); + prev = e; + continue; + } + /* forward edges */ + if (ND_rank(aghead(e)) > ND_rank(agtail(e))) { + make_chain(g, agtail(e), aghead(e), e); + prev = e; + continue; + } + /* backward edges */ + else { + /*other_edge(e); */ + /* avoid when opp==e in undirected graph */ + if ((opp = (agedge(g,aghead(e),agtail(e),null,false)))!=null && NEQ(aghead(opp), aghead(e))) { + /* shadows a forward edge */ + if (ED_to_virt(opp) == null) + make_chain(g, agtail(opp), aghead(opp), opp); + if ((ED_label(e) == null) && (ED_label(opp) == null) + && ports_eq(e, opp)) { + if (Z.z().Concentrate) { + ED_edge_type(e, 6); + ED_conc_opp_flag(opp, NOT(false)); + } else { /* see above. this is getting out of hand */ + other_edge(e); + merge_chain(g, e, ED_to_virt(opp), NOT(false)); + } + continue; + } + } + make_chain(g, aghead(e), agtail(e), e); + prev = e; + } + } + } + /* since decompose() is not called on subgraphs */ + if (NEQ(g, dot_root(g))) { + GD_comp(g).reallocEmpty(1, Agnode_s.class); + GD_comp(g).setInList(0, GD_nlist(g)); + } +} finally { +LEAVING("d0bxlkysxucmww7t74u9krrgz","class2"); +} +} + + +} diff --git a/src/gen/lib/dotgen/cluster__c.java b/src/gen/lib/dotgen/cluster__c.java new file mode 100644 index 0000000..9befefa --- /dev/null +++ b/src/gen/lib/dotgen/cluster__c.java @@ -0,0 +1,1280 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.agfstedge; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtedge; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agcontains; +import static gen.lib.cgraph.obj__c.agroot; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.common.utils__c.UF_setname; +import static gen.lib.common.utils__c.UF_singleton; +import static gen.lib.dotgen.class2__c.class2; +import static gen.lib.dotgen.class2__c.mergeable; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static gen.lib.dotgen.fastgr__c.delete_fast_edge; +import static gen.lib.dotgen.fastgr__c.delete_fast_node; +import static gen.lib.dotgen.fastgr__c.fast_node; +import static gen.lib.dotgen.fastgr__c.find_fast_edge; +import static gen.lib.dotgen.fastgr__c.find_flat_edge; +import static gen.lib.dotgen.fastgr__c.flat_edge; +import static gen.lib.dotgen.fastgr__c.merge_oneway; +import static gen.lib.dotgen.fastgr__c.other_edge; +import static gen.lib.dotgen.fastgr__c.virtual_edge; +import static gen.lib.dotgen.fastgr__c.virtual_node; +import static gen.lib.dotgen.mincross__c.allocate_ranks; +import static gen.lib.dotgen.mincross__c.build_ranks; +import static gen.lib.dotgen.mincross__c.enqueue_neighbors; +import static gen.lib.dotgen.mincross__c.install_in_rank; +import static gen.lib.dotgen.position__c.ports_eq; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.sizeof_starstar_empty; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.AGMKOUT; +import static smetana.core.Macro.ED_count; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_xpenalty; +import static smetana.core.Macro.GD_clust; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_expanded; +import static smetana.core.Macro.GD_installed; +import static smetana.core.Macro.GD_leader; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_n_nodes; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_rank; +import static smetana.core.Macro.GD_rankleader; +import static smetana.core.Macro.ND_UF_size; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_order; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_ranktype; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.nodequeue; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class cluster__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8bd317q0mykfu6wpr3e4cxmh2 +// static node_t* map_interclust_node(node_t * n) +public static Agnode_s map_interclust_node(Agnode_s n) { +ENTERING("8bd317q0mykfu6wpr3e4cxmh2","map_interclust_node"); +try { + Agnode_s rv; + if ((ND_clust(n) == null) || ( GD_expanded(ND_clust(n))) ) + rv = n; + else + rv = (Agnode_s) GD_rankleader(ND_clust(n)).plus(ND_rank(n)).getPtr(); + return rv; +} finally { +LEAVING("8bd317q0mykfu6wpr3e4cxmh2","map_interclust_node"); +} +} + + + + +//3 5ib4nnt2ah5fdd22zs0xds29r +// static void make_slots(graph_t * root, int r, int pos, int d) +public static void make_slots(Agraph_s root, int r, int pos, int d) { +ENTERING("5ib4nnt2ah5fdd22zs0xds29r","make_slots"); +try { + int i; + Agnode_s v; + __ptr__ vlist; + vlist = GD_rank(root).plus(r).getPtr().getArrayOfPtr("v").asPtr(); + if (d <= 0) { + for (i = pos - d + 1; i < GD_rank(root).plus(r).getInt("n"); i++) { + v = (Agnode_s) vlist.plus(i).getPtr(); + ND_order(v, i + d - 1); + vlist.plus(ND_order(v)).setPtr(v); + } + for (i = GD_rank(root).plus(r).getInt("n") + d - 1; i < GD_rank(root).plus(r).getInt("n"); i++) + vlist.plus(i).setPtr(null); + } else { +/*assert(ND_rank(root)[r].n + d - 1 <= ND_rank(root)[r].an);*/ + for (i = GD_rank(root).plus(r).getPtr().getInt("n") - 1; i > pos; i--) { + v = (Agnode_s) vlist.plus(i).getPtr(); + ND_order(v, i + d - 1); + vlist.plus(ND_order(v)).setPtr(v); + } + for (i = pos + 1; i < pos + d; i++) + vlist.plus(i).setPtr(null); + } + GD_rank(root).plus(r).getPtr().setInt("n", GD_rank(root).plus(r).getPtr().getInt("n") + d - 1); +} finally { +LEAVING("5ib4nnt2ah5fdd22zs0xds29r","make_slots"); +} +} + + + + +//3 d4mwxesl56uh9dyttg9cjlq70 +// static node_t* clone_vn(graph_t * g, node_t * vn) +public static Agnode_s clone_vn(Agraph_s g, Agnode_s vn) { +ENTERING("d4mwxesl56uh9dyttg9cjlq70","clone_vn"); +try { + Agnode_s rv; + int r; + r = ND_rank(vn); + make_slots(g, r, ND_order(vn), 2); + rv = virtual_node(g); + ND_lw(rv, ND_lw(vn)); + ND_rw(rv, ND_rw(vn)); + ND_rank(rv, ND_rank(vn)); +UNSUPPORTED("adc0qfdhup29vh8qu1cwl5jgj"); // GD_rank(g)[r].v[ND_order(rv)] = rv; +UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("d4mwxesl56uh9dyttg9cjlq70","clone_vn"); +} +} + + + + +//3 6o86r59v2ujlxqcw7761y6o5b +// static void map_path(node_t * from, node_t * to, edge_t * orig, edge_t * ve, int type) +public static void map_path(Agnode_s from, Agnode_s to, Agedge_s orig, Agedge_s ve, int type) { +ENTERING("6o86r59v2ujlxqcw7761y6o5b","map_path"); +try { + int r; + Agnode_s u, v; + Agedge_s e; + assert(ND_rank(from) < ND_rank(to)); + if (EQ(agtail(ve), from) && EQ(aghead(ve), to)) + return; + if (ED_count(ve) > 1) { + ED_to_virt(orig, null); + if (ND_rank(to) - ND_rank(from) == 1) { + if ((e = find_fast_edge(from, to))!=null && (ports_eq(orig, e))) { + merge_oneway(orig, e); + if ((ND_node_type(from) == 0) + && (ND_node_type(to) == 0)) + other_edge(orig); + return; + } + } + u = from; + for (r = ND_rank(from); r < ND_rank(to); r++) { + if (r < ND_rank(to) - 1) + v = clone_vn(dot_root(from), aghead(ve)); + else + v = to; + e = virtual_edge(u, v, orig); + ED_edge_type(e, type); + u = v; + ED_count(ve, ED_count(ve) - 1); + ve = (Agedge_s) ND_out(aghead(ve)).getFromList(0); + } + } else { + if (ND_rank(to) - ND_rank(from) == 1) { + if ((ve = find_fast_edge(from, to))!=null && (ports_eq(orig, ve))) { + /*ED_to_orig(ve) = orig; */ + ED_to_virt(orig, ve); + ED_edge_type(ve, type); + ED_count(ve, ED_count(ve)+1); + if ((ND_node_type(from) == 0) + && (ND_node_type(to) == 0)) + other_edge(orig); + } else { + ED_to_virt(orig, null); + ve = virtual_edge(from, to, orig); + ED_edge_type(ve, type); + } + } + if (ND_rank(to) - ND_rank(from) > 1) { + e = ve; + if (NEQ(agtail(ve), from)) { + ED_to_virt(orig, null); + e = virtual_edge(from, aghead(ve), orig); + ED_to_virt(orig, e); + delete_fast_edge(ve); + } else + e = ve; + while (ND_rank(aghead(e)) != ND_rank(to)) + e = (Agedge_s) ND_out(aghead(e)).getFromList(0); + if (NEQ(aghead(e), to)) { + ve = e; + e = virtual_edge(agtail(e), to, orig); + ED_edge_type(e, type); + delete_fast_edge(ve); + } + } + } +} finally { +LEAVING("6o86r59v2ujlxqcw7761y6o5b","map_path"); +} +} + + + + +//3 69xbflgja0gvrsl5xcv7o7dia +// static void make_interclust_chain(graph_t * g, node_t * from, node_t * to, edge_t * orig) +public static void make_interclust_chain(Agraph_s g, Agnode_s from, Agnode_s to, Agedge_s orig) { +ENTERING("69xbflgja0gvrsl5xcv7o7dia","make_interclust_chain"); +try { + int newtype; + Agnode_s u, v; + u = map_interclust_node(from); + v = map_interclust_node(to); + if (EQ(u, from) && EQ(v, to)) + newtype = 1; + else + newtype = 5; + map_path(u, v, orig, ED_to_virt(orig), newtype); +} finally { +LEAVING("69xbflgja0gvrsl5xcv7o7dia","make_interclust_chain"); +} +} + + + + +//3 6g2m2y44x66lajznvnon2gubv +// void interclexp(graph_t * subg) +public static void interclexp(Agraph_s subg) { +ENTERING("6g2m2y44x66lajznvnon2gubv","interclexp"); +try { + Agraph_s g; + Agnode_s n; + Agedge_s e, prev, next; + g = dot_root(subg); + for (n = agfstnode(subg); n!=null; n = agnxtnode(subg, n)) { + /* N.B. n may be in a sub-cluster of subg */ + prev = null; + for (e = agfstedge(g, n); e!=null; e = next) { + next = agnxtedge(g, e, n); + if (agcontains(subg, e)) + continue; + /* canonicalize edge */ + e = AGMKOUT(e); + /* short/flat multi edges */ + if (mergeable(prev, e)) { + if (ND_rank(agtail(e)) == ND_rank(aghead(e))) + ED_to_virt(e, prev); + else + ED_to_virt(e, null); + if (ED_to_virt(prev) == null) + continue; /* internal edge */ +UNSUPPORTED("8d5mw7m9lzlseqbyx8a8mncgs"); // merge_chain(subg, e, ED_to_virt(prev), 0); +UNSUPPORTED("87mmnlsj8quzlzg0vxax15kt2"); // safe_other_edge(e); +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; + } + /* flat edges */ + if (ND_rank(agtail(e)) == ND_rank(aghead(e))) { + Agedge_s fe; + if ((fe = find_flat_edge(agtail(e), aghead(e))) == null) { + flat_edge(g, e); + prev = e; + } else if (NEQ(e, fe)) { +UNSUPPORTED("ckfinb4h4twp1ry02y9peyhz"); // safe_other_edge(e); +UNSUPPORTED("dg3e0udctqa7xtfynplc7wdpj"); // if (!ED_to_virt(e)) merge_oneway(e, fe); + } + continue; + } + /* forward edges */ + if (ND_rank(aghead(e)) > ND_rank(agtail(e))) { + make_interclust_chain(g, agtail(e), aghead(e), e); + prev = e; + continue; + } + /* backward edges */ + else { +/* +I think that make_interclust_chain should create call other_edge(e) anyway + if (agcontains(subg,agtail(e)) + && agfindedge(g,aghead(e),agtail(e))) other_edge(e); +*/ + make_interclust_chain(g, aghead(e), agtail(e), e); + prev = e; + } + } + } +} finally { +LEAVING("6g2m2y44x66lajznvnon2gubv","interclexp"); +} +} + + + + +//3 85nhs7tnmwunw0fsjj1kxao7l +// static void merge_ranks(graph_t * subg) +public static void merge_ranks(Agraph_s subg) { +ENTERING("85nhs7tnmwunw0fsjj1kxao7l","merge_ranks"); +try { + int i, d, r, pos, ipos; + Agnode_s v; + Agraph_s root; + root = dot_root(subg); + if (GD_minrank(subg) > 0) + GD_rank(root).plus(GD_minrank(subg) - 1).getPtr().setInt("valid", 0); + for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { + d = GD_rank(subg).plus(r).getPtr().getInt("n"); + ipos = pos = ND_order(GD_rankleader(subg).plus(r).getPtr()); + make_slots(root, r, pos, d); + for (i = 0; i < GD_rank(subg).plus(r).getPtr().getInt("n"); i++) { + v = (Agnode_s) GD_rank(subg).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + GD_rank(root).plus(r).getArrayOfPtr("v").plus(pos).setPtr(v); + ND_order(v, pos++); + /* real nodes automatically have v->root = root graph */ + if (ND_node_type(v) == 1) + v.setPtr("root", agroot(root)); + delete_fast_node(subg, v); + fast_node(root, v); + GD_n_nodes(root, GD_n_nodes(root)+1); + } + GD_rank(subg).plus(r).getPtr().setPtr("v", GD_rank(root).plus(r).getPtr().getPtr("v").plus(ipos)); + GD_rank(root).plus(r).getPtr().setInt("valid", 0); + } + if (r < GD_maxrank(root)) + GD_rank(root).plus(r).getPtr().setInt("valid", 0); + GD_expanded(subg, NOT(false)); +} finally { +LEAVING("85nhs7tnmwunw0fsjj1kxao7l","merge_ranks"); +} +} + + + + +//3 c9p7dm16i13qktnh95os0sv58 +// static void remove_rankleaders(graph_t * g) +public static void remove_rankleaders(Agraph_s g) { +ENTERING("c9p7dm16i13qktnh95os0sv58","remove_rankleaders"); +try { + int r; + Agnode_s v; + Agedge_s e; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + v = (Agnode_s) GD_rankleader(g).plus(r).getPtr(); + /* remove the entire chain */ + while ((e = (Agedge_s) ND_out(v).getFromList(0))!=null) + delete_fast_edge(e); + while ((e = (Agedge_s) ND_in(v).getFromList(0))!=null) + delete_fast_edge(e); + delete_fast_node(dot_root(g), v); + GD_rankleader(g).plus(r).setPtr(null); + } +} finally { +LEAVING("c9p7dm16i13qktnh95os0sv58","remove_rankleaders"); +} +} + + + + +//3 ecrplg8hsyl484f9kxc5xp0go +// void expand_cluster(graph_t * subg) +public static void expand_cluster(Agraph_s subg) { +ENTERING("ecrplg8hsyl484f9kxc5xp0go","expand_cluster"); +try { + /* build internal structure of the cluster */ + class2(subg); + GD_comp(subg).size = 1; + // GD_comp(subg).getArrayOfPtr("list").plus(0).setPtr(GD_nlist(subg)); + GD_comp(subg).setInList(0, GD_nlist(subg)); + allocate_ranks(subg); + build_ranks(subg, 0); + merge_ranks(subg); + /* build external structure of the cluster */ + interclexp(subg); + remove_rankleaders(subg); +} finally { +LEAVING("ecrplg8hsyl484f9kxc5xp0go","expand_cluster"); +} +} + + + + +//3 cxuirggihlap2iv2khmb1w5l5 +// void mark_clusters(graph_t * g) +public static void mark_clusters(Agraph_s g) { +ENTERING("cxuirggihlap2iv2khmb1w5l5","mark_clusters"); +try { + int c; + Agnode_s n, nn=null, vn; + Agedge_s orig, e; + Agraph_s clust; + /* remove sub-clusters below this level */ + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + if (ND_ranktype(n) == 7) + UF_singleton(n); + ND_clust(n, null); + } + for (c = 1; c <= GD_n_cluster(g); c++) { + clust = (Agraph_s) GD_clust(g).plus(c).getPtr(); + for (n = agfstnode(clust); n!=null; n = nn) { + nn = agnxtnode(clust,n); + if (ND_ranktype(n) != 0) { +UNSUPPORTED("5l8jenkv77ax02t47zzxyv1k0"); // agerr(AGWARN, +UNSUPPORTED("2ipl4umxgijawr7756ysp9hhd"); // "%s was already in a rankset, deleted from cluster %s\n", +UNSUPPORTED("7r0ulsiau9cygesawzzjnpt5j"); // agnameof(n), agnameof(g)); +UNSUPPORTED("4zqc8357rwnd9xe7zaoqooqv3"); // agdelete(clust,n); +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; + } + UF_setname(n, GD_leader(clust)); + ND_clust(n, clust); + ND_ranktype(n, 7); + /* here we mark the vnodes of edges in the cluster */ + for (orig = agfstout(clust, n); orig!=null; + orig = agnxtout(clust, orig)) { + if ((e = ED_to_virt(orig))!=null) { + while (e!=null && ND_node_type(vn =aghead(e)) == 1) { + ND_clust(vn, clust); + e = (Agedge_s) ND_out(aghead(e)).getFromList(0); + /* trouble if concentrators and clusters are mixed */ + } + } + } + } + } +} finally { +LEAVING("cxuirggihlap2iv2khmb1w5l5","mark_clusters"); +} +} + + + + +//3 bwrw5u0gi2rgah1cn9h0glpse +// void build_skeleton(graph_t * g, graph_t * subg) +public static void build_skeleton(Agraph_s g, Agraph_s subg) { +ENTERING("bwrw5u0gi2rgah1cn9h0glpse","build_skeleton"); +try { + int r; + Agnode_s v, prev, rl; + Agedge_s e; + prev = null; + GD_rankleader(subg, zmalloc(sizeof_starstar_empty(Agnode_s.class, GD_maxrank(subg) + 2))); + for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { + v = virtual_node(g); + GD_rankleader(subg).plus(r).setPtr(v); + ND_rank(v, r); + ND_ranktype(v, 7); + ND_clust(v, subg); + if (prev!=null) { + e = virtual_edge(prev, v, null); + ED_xpenalty(e, ED_xpenalty(e) * 1000); + } + prev = v; + } + /* set the counts on virtual edges of the cluster skeleton */ + for (v = agfstnode(subg); v!=null; v = agnxtnode(subg, v)) { + rl = (Agnode_s) GD_rankleader(subg).plus(ND_rank(v)).getPtr(); + ND_UF_size(rl, ND_UF_size(rl)+1); + for (e = agfstout(subg, v); e!=null; e = agnxtout(subg, e)) { + for (r = ND_rank(agtail(e)); r < ND_rank(aghead(e)); r++) { + ED_count(ND_out(rl).getFromList(0), ED_count(ND_out(rl).getFromList(0))+1); + } + } + } + for (r = GD_minrank(subg); r <= GD_maxrank(subg); r++) { + rl = (Agnode_s) GD_rankleader(subg).plus(r).getPtr(); + if (ND_UF_size(rl) > 1) + ND_UF_size(rl, ND_UF_size(rl)-1); + } +} finally { +LEAVING("bwrw5u0gi2rgah1cn9h0glpse","build_skeleton"); +} +} + + + + +//3 75yt3xwcwnxipi827t1r8zcmn +// void install_cluster(graph_t * g, node_t * n, int pass, nodequeue * q) +public static void install_cluster(Agraph_s g, Agnode_s n, int pass, nodequeue q) { +ENTERING("75yt3xwcwnxipi827t1r8zcmn","install_cluster"); +try { + int r; + Agraph_s clust; + clust = ND_clust(n); + if (GD_installed(clust) != pass + 1) { + for (r = GD_minrank(clust); r <= GD_maxrank(clust); r++) + install_in_rank(g, (Agnode_s) GD_rankleader(clust).plus(r).getPtr()); + for (r = GD_minrank(clust); r <= GD_maxrank(clust); r++) + enqueue_neighbors(q, (Agnode_s) GD_rankleader(clust).plus(r).getPtr(), pass); + GD_installed(clust, pass + 1); + } +} finally { +LEAVING("75yt3xwcwnxipi827t1r8zcmn","install_cluster"); +} +} + + + + +//3 4muksvb3ec03mt6cvaqpb5c7a +// void mark_lowclusters(Agraph_t * root) +public static void mark_lowclusters(Agraph_s root) { +ENTERING("4muksvb3ec03mt6cvaqpb5c7a","mark_lowclusters"); +try { + Agnode_s n, vn; + Agedge_s orig, e; + /* first, zap any previous cluster labelings */ + for (n = agfstnode(root); n!=null; n = agnxtnode(root, n)) { + ND_clust(n, null); + for (orig = agfstout(root, n); orig!=null; orig = agnxtout(root, orig)) { + if ((e = ED_to_virt(orig))!=null) { + while (e!=null && (ND_node_type(vn = aghead(e))) == 1) { + ND_clust(vn, null); + e = (Agedge_s) ND_out(aghead(e)).getFromList(0); + } + } + } + } + /* do the recursion */ + mark_lowcluster_basic(root); +} finally { +LEAVING("4muksvb3ec03mt6cvaqpb5c7a","mark_lowclusters"); +} +} + + + + +//3 48j6fdymvkcgeh4wde060ctac +// static void mark_lowcluster_basic(Agraph_t * g) +public static void mark_lowcluster_basic(Agraph_s g) { +ENTERING("48j6fdymvkcgeh4wde060ctac","mark_lowcluster_basic"); +try { + Agraph_s clust; + Agnode_s n, vn; + Agedge_s orig, e; + int c; + for (c = 1; c <= GD_n_cluster(g); c++) { + clust = (Agraph_s) GD_clust(g).plus(c).getPtr(); + mark_lowcluster_basic(clust); + } + /* see what belongs to this graph that wasn't already marked */ + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + if (ND_clust(n) == null) + ND_clust(n, g); + for (orig = agfstout(g, n); orig!=null; orig = agnxtout(g, orig)) { + if ((e = ED_to_virt(orig))!=null) { + while (e!=null && (ND_node_type(vn = aghead(e))) == 1) { + if (ND_clust(vn) == null) + ND_clust(vn, g); + e = (Agedge_s) ND_out(aghead(e)).getFromList(0); + } + } + } + } +} finally { +LEAVING("48j6fdymvkcgeh4wde060ctac","mark_lowcluster_basic"); +} +} + + +} diff --git a/src/gen/lib/dotgen/compound__c.java b/src/gen/lib/dotgen/compound__c.java new file mode 100644 index 0000000..614cae9 --- /dev/null +++ b/src/gen/lib/dotgen/compound__c.java @@ -0,0 +1,1172 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.UNSUPPORTED; +import h.boxf; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.__struct__; + +public class compound__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 389gsvrjy9cfa7ie5c9sr5rvi +// static char *pf2s(pointf p, char *buf) +public static Object pf2s(Object... arg) { +UNSUPPORTED("d7e1ecldlwckmebycqwdif5qi"); // static char *pf2s(pointf p, char *buf) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9nq1kahe848q44s51s8b249jw"); // sprintf(buf, "(%.5g,%.5g)", p.x, p.y); +UNSUPPORTED("5jfpogdyby101eyuw2dhtb5cg"); // return buf; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 aaeedfeqjstij7teh2arwur0s +// static pointf boxIntersectf(pointf pp, pointf cp, boxf * bp) +public static Object boxIntersectf(Object... arg) { +UNSUPPORTED("9lbfcrf6tg3qq2hoi74tj6jil"); // static pointf boxIntersectf(pointf pp, pointf cp, boxf * bp) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("e7e629d656z5m5408o06swiy3"); // pointf ipp; +UNSUPPORTED("77e5d834qbjgxa5m8msxj0b22"); // double ppx = pp.x; +UNSUPPORTED("5zf0pogb3f4f5faatrew5itus"); // double ppy = pp.y; +UNSUPPORTED("etdvp5w4bmvc3hfjv6xsbqhgl"); // double cpx = cp.x; +UNSUPPORTED("dzvbcgu397soy9gv5p7bqez7e"); // double cpy = cp.y; +UNSUPPORTED("dzq83vvwl259k7394rpz3ahw4"); // pointf ll; +UNSUPPORTED("1ilrhzyqh05f2u3j3vzg0ys8u"); // pointf ur; +UNSUPPORTED("82ter8mdp5dwyq284t271kkq2"); // ll = bp->LL; +UNSUPPORTED("cjf1mmtyv7enn9aid7eveqj3m"); // ur = bp->UR; +UNSUPPORTED("hrb7x7coec3ls1f3tbzbv1i4"); // if (cp.x < ll.x) { +UNSUPPORTED("bz02pree35ok6h7ne2b9078gr"); // ipp.x = ll.x; +UNSUPPORTED("79t0kzkjgtsgnwjzk2423w61c"); // ipp.y = pp.y + (int) ((ipp.x - ppx) * (ppy - cpy) / (ppx - cpx)); +UNSUPPORTED("5zwh31a86akovenbej0w7yjlq"); // if (ipp.y >= ll.y && ipp.y <= ur.y) +UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("92dqlio3tyb7oqz8rrk4u1i39"); // if (cp.x > ur.x) { +UNSUPPORTED("ct5wv2h1epcow92rfyyuvo9x8"); // ipp.x = ur.x; +UNSUPPORTED("79t0kzkjgtsgnwjzk2423w61c"); // ipp.y = pp.y + (int) ((ipp.x - ppx) * (ppy - cpy) / (ppx - cpx)); +UNSUPPORTED("5zwh31a86akovenbej0w7yjlq"); // if (ipp.y >= ll.y && ipp.y <= ur.y) +UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("d1vpfkzy4othi356ddvouf1du"); // if (cp.y < ll.y) { +UNSUPPORTED("645jp0y7ad6zmpqv1ujuwv7d2"); // ipp.y = ll.y; +UNSUPPORTED("6xy4qjwbmyv2lmoecg9lz44m1"); // ipp.x = pp.x + (int) ((ipp.y - ppy) * (ppx - cpx) / (ppy - cpy)); +UNSUPPORTED("6or7iqvva2wcjp65woe9ywn9j"); // if (ipp.x >= ll.x && ipp.x <= ur.x) +UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("22uv9kfz9ohd3u69nktr9fsko"); // if (cp.y > ur.y) { +UNSUPPORTED("7fbze74dhzwnj80vwncttjoza"); // ipp.y = ur.y; +UNSUPPORTED("6xy4qjwbmyv2lmoecg9lz44m1"); // ipp.x = pp.x + (int) ((ipp.y - ppy) * (ppx - cpx) / (ppy - cpy)); +UNSUPPORTED("6or7iqvva2wcjp65woe9ywn9j"); // if (ipp.x >= ll.x && ipp.x <= ur.x) +UNSUPPORTED("6klahfi7ib1my989uyt3r3fns"); // return ipp; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("2brtdhuqnq3wbu0y4vha1lxe1"); // /* failure */ +UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { +UNSUPPORTED("8lid84pwtuybl3mg15z7f9v8n"); // char ppbuf[100], cpbuf[100], llbuf[100], urbuf[100]; +UNSUPPORTED("8utponegpfhxi3ifoaet3w22u"); // agerr(AGERR, +UNSUPPORTED("4e7yhbghqnz3l8o03xenxz6qk"); // "segment [%s,%s] does not intersect box ll=%s,ur=%s\n", +UNSUPPORTED("a7epvdx0qf9ql74dqkbz43vak"); // pf2s(pp, ppbuf), pf2s(cp, cpbuf), +UNSUPPORTED("e9otl0bm92qbvbxwfd4euftxb"); // pf2s(ll, llbuf), pf2s(ur, urbuf)); +UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("2eteshlf6etzhvieru9a3d7hl"); // return ipp; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 cdgb9eokkhoxckam633l1qm6t +// static int inBoxf(pointf p, boxf * bb) +public static Object inBoxf(Object... arg) { +UNSUPPORTED("18frdpfl5gpq5be170xxu7ypk"); // static int inBoxf(pointf p, boxf * bb) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("62grwq3ychthd06kd0dma6nl4"); // return INSIDE(p, *bb); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7i49mbvuj9tvhyjtdrhyomfd2 +// static graph_t *getCluster(graph_t * g, char *cluster_name, Dt_t* map) +public static Object getCluster(Object... arg) { +UNSUPPORTED("b3i6y8ykkxx0imig66aitm32p"); // static graph_t *getCluster(graph_t * g, char *cluster_name, Dt_t* map) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("a9vu6hocyi7htsqyh6phlzeil"); // Agraph_t* sg; +UNSUPPORTED("bdri6gk80s45bza4efp7hp3io"); // if (!cluster_name || (*cluster_name == '\0')) +UNSUPPORTED("11hwqop4xebvtcskop4uhpp01"); // return NULL; +UNSUPPORTED("e7qf9buhacu05os7k2mmh66cv"); // sg = findCluster (map, cluster_name); +UNSUPPORTED("2cbce9349ulperyph2yxmob79"); // if (sg == NULL) { +UNSUPPORTED("d4c9bmlrq8gy5z6b7aj0hh95m"); // agerr(AGWARN, "cluster named %s not found\n", cluster_name); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1jw141gg4omv8r72xcbl5ln0o"); // return sg; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1shblnlks0zlz7s6h6l9az96k +// static int countVertCross(pointf * pts, double xcoord) +public static Object countVertCross(Object... arg) { +UNSUPPORTED("3fh5r6lqrzpzitfo6fg3mbhr9"); // static int countVertCross(pointf * pts, double xcoord) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("84e683m9cp16ljzwmonvu6h5o"); // int sign, old_sign; +UNSUPPORTED("3m0xdv3clh5kt5r24q2nq8qy3"); // int num_crossings = 0; +UNSUPPORTED("anrpp1ijmhz0zvudygqnuhuxg"); // sign = CMP(pts[0].x, xcoord); +UNSUPPORTED("cn59uvgfsp852xd4juwg253ab"); // if (sign == 0) +UNSUPPORTED("31x1ju7msb5pxljz8c9cdfxi2"); // num_crossings++; +UNSUPPORTED("46jnsuhm7tq2klfsjamf7jrpa"); // for (i = 1; i <= 3; i++) { +UNSUPPORTED("863qxcme12wfzx1clw4ehqelq"); // old_sign = sign; +UNSUPPORTED("pfykk7uimn1p9y4mh0gs58ft"); // sign = CMP(pts[i].x, xcoord); +UNSUPPORTED("34hhymaa1fodp7eoxwo7qev6v"); // if ((sign != old_sign) && (old_sign != 0)) +UNSUPPORTED("dsc9eps2jqbca8n4oaud2b223"); // num_crossings++; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ahpb1md0lwtdwqxgalm3b4rqa"); // return num_crossings; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 65jkpfhzlwld3rg4ggrojwo0t +// static int countHorzCross(pointf * pts, double ycoord) +public static Object countHorzCross(Object... arg) { +UNSUPPORTED("de9l7dbf21io84d7j6fr2g2bk"); // static int countHorzCross(pointf * pts, double ycoord) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("84e683m9cp16ljzwmonvu6h5o"); // int sign, old_sign; +UNSUPPORTED("3m0xdv3clh5kt5r24q2nq8qy3"); // int num_crossings = 0; +UNSUPPORTED("1jpgvdmmizse7xc7bwhb6fowk"); // sign = CMP(pts[0].y, ycoord); +UNSUPPORTED("cn59uvgfsp852xd4juwg253ab"); // if (sign == 0) +UNSUPPORTED("31x1ju7msb5pxljz8c9cdfxi2"); // num_crossings++; +UNSUPPORTED("46jnsuhm7tq2klfsjamf7jrpa"); // for (i = 1; i <= 3; i++) { +UNSUPPORTED("863qxcme12wfzx1clw4ehqelq"); // old_sign = sign; +UNSUPPORTED("e1b5xplhock9z22bd4pd2dqlq"); // sign = CMP(pts[i].y, ycoord); +UNSUPPORTED("34hhymaa1fodp7eoxwo7qev6v"); // if ((sign != old_sign) && (old_sign != 0)) +UNSUPPORTED("dsc9eps2jqbca8n4oaud2b223"); // num_crossings++; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ahpb1md0lwtdwqxgalm3b4rqa"); // return num_crossings; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 aih397ad5qkovyx9x0wr21h54 +// static double findVertical(pointf * pts, double tmin, double tmax, double xcoord, double ymin, double ymax) +public static Object findVertical(Object... arg) { +UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double +UNSUPPORTED("85kaoubr5lh52fmxz21tc0c1j"); // findVertical(pointf * pts, double tmin, double tmax, +UNSUPPORTED("6qy8dlo2xl5uszko7s7dlvxw7"); // double xcoord, double ymin, double ymax) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("15equnrdjvp7z6hnykwsq855q"); // pointf Left[4]; +UNSUPPORTED("czk4lot3uqdf06o5ws37gsxwv"); // pointf Right[4]; +UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; +UNSUPPORTED("78xh7rd4kkol7tca0ou5rsl2l"); // int no_cross = countVertCross(pts, xcoord); +UNSUPPORTED("d7u308dr2xy07ijwz1hdhhmfx"); // if (no_cross == 0) +UNSUPPORTED("6etr2h2322v9ragqutm759yas"); // return -1.0; +UNSUPPORTED("ad9m8nxf0mcmhf2djox688ldn"); // /* if 1 crossing and on the line x == xcoord (within 1 point) */ +UNSUPPORTED("4acg9xblgk4ucgodvaih6xrxj"); // if ((no_cross == 1) && (ROUND(pts[3].x) == ROUND(xcoord))) { +UNSUPPORTED("bf7x4u2r8ux51e40gclwa1a1a"); // if ((ymin <= pts[3].y) && (pts[3].y <= ymax)) { +UNSUPPORTED("bygqzclvo91ia8pdfxgwt277e"); // return tmax; +UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else +UNSUPPORTED("ap55zco1042e8hct3w86akeke"); // return -1.0; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9d4ocidcx0valemm3vzi00avm"); // /* split the Bezier into halves, trying the first half first. */ +UNSUPPORTED("605jhx0qvq7rusredvjldyy4c"); // Bezier(pts, 3, 0.5, Left, Right); +UNSUPPORTED("6cwj26bp1l7s2las5a7m77tku"); // t = findVertical(Left, tmin, (tmin + tmax) / 2.0, xcoord, ymin, ymax); +UNSUPPORTED("1j0wovs9fkx43ukygc0u69s5g"); // if (t >= 0.0) +UNSUPPORTED("d78ai9c2o2d3q4femq5es1anw"); // return t; +UNSUPPORTED("9d6bwwzbxp9fm5m208jh9i8vu"); // return findVertical(Right, (tmin + tmax) / 2.0, tmax, xcoord, ymin, +UNSUPPORTED("cd6vwnucsms9wzpeqb5nxh0ky"); // ymax); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 ekvbbd4zvuxrho7sitbt8ql7s +// static double findHorizontal(pointf * pts, double tmin, double tmax, double ycoord, double xmin, double xmax) +public static Object findHorizontal(Object... arg) { +UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double +UNSUPPORTED("78h62jx38l5t5fm5l5pcmhbsf"); // findHorizontal(pointf * pts, double tmin, double tmax, +UNSUPPORTED("710x71u5311vcqfimkbvzi83a"); // double ycoord, double xmin, double xmax) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("15equnrdjvp7z6hnykwsq855q"); // pointf Left[4]; +UNSUPPORTED("czk4lot3uqdf06o5ws37gsxwv"); // pointf Right[4]; +UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; +UNSUPPORTED("4954qgan4jixgvt69g1ajjdpo"); // int no_cross = countHorzCross(pts, ycoord); +UNSUPPORTED("d7u308dr2xy07ijwz1hdhhmfx"); // if (no_cross == 0) +UNSUPPORTED("6etr2h2322v9ragqutm759yas"); // return -1.0; +UNSUPPORTED("epscxk2oek6v8c25l06qg49ym"); // /* if 1 crossing and on the line y == ycoord (within 1 point) */ +UNSUPPORTED("bwwz4x8fjy78hz5xaadjtuwte"); // if ((no_cross == 1) && (ROUND(pts[3].y) == ROUND(ycoord))) { +UNSUPPORTED("8mh80lea0b69k078vehmxhy3"); // if ((xmin <= pts[3].x) && (pts[3].x <= xmax)) { +UNSUPPORTED("bygqzclvo91ia8pdfxgwt277e"); // return tmax; +UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else +UNSUPPORTED("ap55zco1042e8hct3w86akeke"); // return -1.0; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9d4ocidcx0valemm3vzi00avm"); // /* split the Bezier into halves, trying the first half first. */ +UNSUPPORTED("605jhx0qvq7rusredvjldyy4c"); // Bezier(pts, 3, 0.5, Left, Right); +UNSUPPORTED("83enazrwlypz7ni9b8bftyxs3"); // t = findHorizontal(Left, tmin, (tmin + tmax) / 2.0, ycoord, xmin, +UNSUPPORTED("669ctf1reahp9td1amg1zq5u"); // xmax); +UNSUPPORTED("1j0wovs9fkx43ukygc0u69s5g"); // if (t >= 0.0) +UNSUPPORTED("d78ai9c2o2d3q4femq5es1anw"); // return t; +UNSUPPORTED("7yh5k9v3lj4qwcasd986zd88c"); // return findHorizontal(Right, (tmin + tmax) / 2.0, tmax, ycoord, xmin, +UNSUPPORTED("qt8mgej4qnelxqtwoy8dt0jt"); // xmax); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 f35390txedsmk9p0bb7lc0glh +// static int splineIntersectf(pointf * pts, boxf * bb) +public static Object splineIntersectf(Object... arg) { +UNSUPPORTED("5skcahu2z7i5of3rceeyk3dja"); // static int splineIntersectf(pointf * pts, boxf * bb) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("4x99qvp4a3bmbyxtp16ajfnsk"); // double tmin = 2.0; +UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t; +UNSUPPORTED("9g866elzsedx9foz9yjhoiou1"); // pointf origpts[4]; +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("a2n8aqfq0cqpx8elstmfn9oq6"); // for (i = 0; i < 4; i++) { +UNSUPPORTED("4zou1qx7inlvcv0miqk04wcab"); // origpts[i] = pts[i]; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("6vm6zifwonvzwuelxtslbue2"); // t = findVertical(pts, 0.0, 1.0, bb->LL.x, bb->LL.y, bb->UR.y); +UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { +UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); +UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("981p5dxcykkvx91604334lab3"); // t = findVertical(pts, 0.0, MIN(1.0, tmin), bb->UR.x, bb->LL.y, +UNSUPPORTED("1of63c5vskctycz57r6s1aop5"); // bb->UR.y); +UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { +UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); +UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7a2rh5vrty9usl73kwlat7axz"); // t = findHorizontal(pts, 0.0, MIN(1.0, tmin), bb->LL.y, bb->LL.x, +UNSUPPORTED("de5psijf8qtaea4iaibltvfli"); // bb->UR.x); +UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { +UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); +UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("8j6y4x6maqneer7is54dvjrg8"); // t = findHorizontal(pts, 0.0, MIN(1.0, tmin), bb->UR.y, bb->LL.x, +UNSUPPORTED("de5psijf8qtaea4iaibltvfli"); // bb->UR.x); +UNSUPPORTED("9zvtsolyyf2ytpv8pj4a8n5iu"); // if ((t >= 0) && (t < tmin)) { +UNSUPPORTED("8w1khrdoc5zw1yk6j1a8drqse"); // Bezier(origpts, 3, t, pts, NULL); +UNSUPPORTED("5ml6bcuw1xgfn7f3dyox7iwrv"); // tmin = t; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5yrkc1uiqwozz2tsxyo3vpj6n"); // if (tmin < 2.0) { +UNSUPPORTED("eleqpc2p2r3hvma6tipoy7tr"); // return 1; +UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else +UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 cqg91aue3soclnawequqcxspl +// static void makeCompoundEdge(graph_t * g, edge_t * e, Dt_t* clustMap) +public static Object makeCompoundEdge(Object... arg) { +UNSUPPORTED("94ok4vzwibg79sh9bgw127ynj"); // static void makeCompoundEdge(graph_t * g, edge_t * e, Dt_t* clustMap) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("d8yeygt41ba5jbyj4rz2bs7jh"); // graph_t *lh; /* cluster containing head */ +UNSUPPORTED("ckcdimdpkin3lhakg1rjgopmi"); // graph_t *lt; /* cluster containing tail */ +UNSUPPORTED("em6swtpn9fdaqlt4w0ye5p7db"); // bezier *bez; /* original Bezier for e */ +UNSUPPORTED("2nh8wbaihnp137k4pc9xuzwhg"); // bezier *nbez; /* new Bezier for e */ +UNSUPPORTED("1tw709ct510b9s636x7nkqfkr"); // int starti = 0, endi = 0; /* index of first and last control point */ +UNSUPPORTED("8i0kwb8r6a2sj6nuvcy3bg9rx"); // node_t *head; +UNSUPPORTED("abn0n8lzvb24ju9mrqm4oqu8"); // node_t *tail; +UNSUPPORTED("v5k4w91mrx94yjcdoytcu9oh"); // boxf *bb; +UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j; +UNSUPPORTED("cav0e7ncloqss0hsvc4fyfi7s"); // int size; +UNSUPPORTED("d8sp6cfkpfyndzmid92shiq50"); // pointf pts[4]; +UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p; +UNSUPPORTED("a1awknurkwnitpucodqwmcybo"); // int fixed; +UNSUPPORTED("eg8l6bf528m9rxpz19s67zunk"); // /* find head and tail target clusters, if defined */ +UNSUPPORTED("cv6tt9aup4gcbgqhx1nq22k1c"); // lh = getCluster(g, agget(e, "lhead"), clustMap); +UNSUPPORTED("1c1flydze3375acsjsk9q3kp"); // lt = getCluster(g, agget(e, "ltail"), clustMap); +UNSUPPORTED("c0uthnj5r46is8vqpjh6vftc8"); // if (!lt && !lh) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("7r9z58ji5z8h9c59lp0npnrgu"); // if (!ED_spl(e)) return; +UNSUPPORTED("d5zyxsdhnmpgj9r2eeuoe24qd"); // /* at present, we only handle single spline case */ +UNSUPPORTED("9y41ojbiongk0r6fdtq1my3t1"); // if (ED_spl(e)->size > 1) { +UNSUPPORTED("2bykd7j98lcwoewshvpja61l3"); // agerr(AGWARN, "%s -> %s: spline size > 1 not supported\n", +UNSUPPORTED("1wah0q9mwnexbe0myh4pe78ks"); // agnameof(agtail(e)), agnameof(aghead(e))); +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9zp3bsvuco9me48ea4fiy6acl"); // bez = ED_spl(e)->list; +UNSUPPORTED("1mwkc047hik3rfvg9nirzx1eu"); // size = bez->size; +UNSUPPORTED("9vcgvjkna4elv9mw682bcl1ry"); // head = aghead(e); +UNSUPPORTED("6pl9v5iuk7ek5nv87env6rn8y"); // tail = agtail(e); +UNSUPPORTED("ap2j55l6otqo1gbl6ltds9nwh"); // /* allocate new Bezier */ +UNSUPPORTED("evus0s8ajoz1nr025560y72nt"); // nbez = (bezier*)gmalloc(sizeof(bezier)); +UNSUPPORTED("ep4g00m6u2qqzjjpl5wv8pf68"); // nbez->eflag = bez->eflag; +UNSUPPORTED("3f2ouh5001dudtknnvyd0d3k"); // nbez->sflag = bez->sflag; +UNSUPPORTED("9puveeg1x9guxlasq00a4jkoy"); // /* if Bezier has four points, almost collinear, +UNSUPPORTED("3j2z7u8v0esgm7xffel168hq7"); // * make line - unimplemented optimization? +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("gquyyp49r5koft7tvjy0s8rg"); // /* If head cluster defined, find first Bezier +UNSUPPORTED("36p20hcsa21623tw4wu1oz2p6"); // * crossing head cluster, and truncate spline to +UNSUPPORTED("9s9druwau7a95yt795beirpsq"); // * box edge. +UNSUPPORTED("cn1atesybawh2axikezvwq87k"); // * Otherwise, leave end alone. +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("7ub8yceaqsfpwhdiiln16imu8"); // fixed = 0; +UNSUPPORTED("9pt4rploytevhgdsh2ccwqwa5"); // if (lh) { +UNSUPPORTED("1epg8to10rb7b0uyumqk5by3d"); // bb = &(GD_bb(lh)); +UNSUPPORTED("5kfib01to02c8vzno1s2ekcr6"); // if (!inBoxf(ND_coord(head), bb)) { +UNSUPPORTED("dw7kdr12sq66xx2svd4s92czw"); // agerr(AGWARN, "%s -> %s: head not inside head cluster %s\n", +UNSUPPORTED("4685lstw48yeb92f1qu3uf6ju"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "lhead")); +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("3uodo3h9hth2y90nphjmbr0oz"); // /* If first control point is in bb, degenerate case. Spline +UNSUPPORTED("48lbfpll26nek7srz6txj1ifd"); // * reduces to four points between the arrow head and the point +UNSUPPORTED("bnhwhc0oclranqqrc084eqy25"); // * where the segment between the first control point and arrow head +UNSUPPORTED("cqgsnvduolzsvf228s6bzu09z"); // * crosses box. +UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ +UNSUPPORTED("9pqsbiv3p2qq7o79wqbbz8l5n"); // if (inBoxf(bez->list[0], bb)) { +UNSUPPORTED("9w1xj4pf7ycfdklkv9mztvayi"); // if (inBoxf(ND_coord(tail), bb)) { +UNSUPPORTED("3f0u3cjz549lwgnkj0rlfv6rv"); // agerr(AGWARN, +UNSUPPORTED("27beaae4u5f8m2rui7t930icj"); // "%s -> %s: tail is inside head cluster %s\n", +UNSUPPORTED("5su0sbzvdwjhkfmbg8xivrf3y"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "lhead")); +UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { +UNSUPPORTED("ewwp403copbj6mdyqowm6q2s4"); // assert(bez->sflag); /* must be arrowhead on tail */ +UNSUPPORTED("lp06fc3tmr8xux3w7kfnjg4r"); // p = boxIntersectf(bez->list[0], bez->sp, bb); +UNSUPPORTED("ejtuxx5nuew10e08cnrbh9avq"); // bez->list[3] = p; +UNSUPPORTED("7duperi3l69fplb736n7smpqf"); // bez->list[1] = mid_pointf(p, bez->sp); +UNSUPPORTED("a4eh5xj2wrncqnmttmavzegdw"); // bez->list[0] = mid_pointf(bez->list[1], bez->sp); +UNSUPPORTED("5dxkrve755ukj7tzac4ft5kee"); // bez->list[2] = mid_pointf(bez->list[1], p); +UNSUPPORTED("59ne8fp4dumv8e2dt8nzlbwm9"); // if (bez->eflag) +UNSUPPORTED("e0iax8us2lskwlp49snfuewo5"); // endi = arrowEndClip(e, bez->list, +UNSUPPORTED("cblie3jhaa9y0orqcusd4rz3n"); // starti, 0, nbez, bez->eflag); +UNSUPPORTED("dtvlepuobgzgt31wlwvahcuz6"); // endi += 3; +UNSUPPORTED("b1vrskwl75muujmh6lvltym9p"); // fixed = 1; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { +UNSUPPORTED("2sf4rxnj84i693qu8p8eeb0th"); // for (endi = 0; endi < size - 1; endi += 3) { +UNSUPPORTED("3gsvjp9m9s9xkrldmovrxl86l"); // if (splineIntersectf(&(bez->list[endi]), bb)) +UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("6v67nn2fkgve6sliwhhcjhlzy"); // if (endi == size - 1) { /* no intersection */ +UNSUPPORTED("ne38tb76v74pens6v8pbfrbg"); // assert(bez->eflag); +UNSUPPORTED("6zfsm93mmi2u1kkkh72v0p3ko"); // nbez->ep = boxIntersectf(bez->ep, bez->list[endi], bb); +UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { +UNSUPPORTED("59ne8fp4dumv8e2dt8nzlbwm9"); // if (bez->eflag) +UNSUPPORTED("2931qkcakw4pmrkqfxkwz6c9w"); // endi = +UNSUPPORTED("5m1xf54kia4xa3oh9pi0laqg2"); // arrowEndClip(e, bez->list, +UNSUPPORTED("dif2h2k72i4vle08l8zt6g99d"); // starti, endi, nbez, bez->eflag); +UNSUPPORTED("dtvlepuobgzgt31wlwvahcuz6"); // endi += 3; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("37cextn872jccni47tbuylnde"); // fixed = 1; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("b4l5v1tzcfyxswk474eyxoh7g"); // if (fixed == 0) { /* if no lh, or something went wrong, use original head */ +UNSUPPORTED("5iaa7yro1fezven3pxpfgmxu4"); // endi = size - 1; +UNSUPPORTED("a4jsfnfkjyk5zvhtmxz837cwk"); // if (bez->eflag) +UNSUPPORTED("ardm696r3cpsbtf6losy2b016"); // nbez->ep = bez->ep; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ea4t41cqs5cu6h8oyl4vr26m2"); // /* If tail cluster defined, find last Bezier +UNSUPPORTED("7p2mckkgkchxr6vhh6gezq8wz"); // * crossing tail cluster, and truncate spline to +UNSUPPORTED("9s9druwau7a95yt795beirpsq"); // * box edge. +UNSUPPORTED("cn1atesybawh2axikezvwq87k"); // * Otherwise, leave end alone. +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("7ub8yceaqsfpwhdiiln16imu8"); // fixed = 0; +UNSUPPORTED("5qu8oy18iv3lo7czvfxeoa9uf"); // if (lt) { +UNSUPPORTED("pk4bun7t8spswxbvfqizndma"); // bb = &(GD_bb(lt)); +UNSUPPORTED("5fdmhqx0gpmawrdmhes377bcj"); // if (!inBoxf(ND_coord(tail), bb)) { +UNSUPPORTED("1m0jbxdni08pgm584b96t3rjx"); // agerr(AGWARN, "%s -> %s: tail not inside tail cluster %s\n", +UNSUPPORTED("3s8r91i8l8gnx912jssz9qyeo"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "ltail")); +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("1qjsjzvwnzg5em6iaq3reaswh"); // /* If last control point is in bb, degenerate case. Spline +UNSUPPORTED("f2rlo65dpa2r245fl7q3a8uhm"); // * reduces to four points between arrow head, and the point +UNSUPPORTED("c22xvluit87sy443q8y00uc4g"); // * where the segment between the last control point and the +UNSUPPORTED("drage3192rqa7ifzj1p0rzr7b"); // * arrow head crosses box. +UNSUPPORTED("20m1lc1moer8x00tx9ceto0iw"); // */ +UNSUPPORTED("5xu4e03fqpef4n5pmrb5kau0d"); // if (inBoxf(bez->list[endi], bb)) { +UNSUPPORTED("25cb9bqsfesb0faqthoggdumf"); // if (inBoxf(ND_coord(head), bb)) { +UNSUPPORTED("3f0u3cjz549lwgnkj0rlfv6rv"); // agerr(AGWARN, +UNSUPPORTED("5xfu8lqrs0caaz29aue2f4s21"); // "%s -> %s: head is inside tail cluster %s\n", +UNSUPPORTED("f3g912itxolsegc77eg84cl5l"); // agnameof(agtail(e)), agnameof(aghead(e)), agget(e, "ltail")); +UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { +UNSUPPORTED("8f4spvkivd7okr9g59i6nwodq"); // assert(bez->eflag); /* must be arrowhead on head */ +UNSUPPORTED("7f7fhm60xzneykhpsinmusktg"); // p = boxIntersectf(bez->list[endi], nbez->ep, bb); +UNSUPPORTED("5sxlw9wg1evuruihg2pf20m2q"); // starti = endi - 3; +UNSUPPORTED("469jcsvjasontlve9fx1oiprf"); // bez->list[starti] = p; +UNSUPPORTED("cnpwuv23ryh1zxbij0n57992e"); // bez->list[starti + 2] = mid_pointf(p, nbez->ep); +UNSUPPORTED("o7wu7segbiephyk1mn6ruzii"); // bez->list[starti + 3] = mid_pointf(bez->list[starti + 2], nbez->ep); +UNSUPPORTED("1hq51ue6km9jd5khvilyiu8ba"); // bez->list[starti + 1] = mid_pointf(bez->list[starti + 2], p); +UNSUPPORTED("f018p8s1pklqzeu862o8grqz3"); // if (bez->sflag) +UNSUPPORTED("c9hvjpjpxposlztt4ykhchse4"); // starti = arrowStartClip(e, bez->list, starti, +UNSUPPORTED("dbcocs457i5fpymvciq1id8sl"); // endi - 3, nbez, bez->sflag); +UNSUPPORTED("b1vrskwl75muujmh6lvltym9p"); // fixed = 1; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { +UNSUPPORTED("d2jlvy1nqfh80mgss1c39f01j"); // for (starti = endi; starti > 0; starti -= 3) { +UNSUPPORTED("28srqjfv5l9fgucte4xcck1wf"); // for (i = 0; i < 4; i++) +UNSUPPORTED("8c8hwyg5j3w5quof1ir68ns70"); // pts[i] = bez->list[starti - i]; +UNSUPPORTED("4r5afy1ydhha880ua170puwym"); // if (splineIntersectf(pts, bb)) { +UNSUPPORTED("ej309gi9fv5xlnkscibruakjp"); // for (i = 0; i < 4; i++) +UNSUPPORTED("7i03k1aqcvrb8znb7097fyn48"); // bez->list[starti - i] = pts[i]; +UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; +UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("btve1tg4yf6dsbobp66rbktt7"); // if (starti == 0) { +UNSUPPORTED("8n6t6jnfgooxt9ia0n2d9xj5a"); // assert(bez->sflag); +UNSUPPORTED("9iea16dzn148ggj1yhec6nrv6"); // nbez->sp = +UNSUPPORTED("3c8n4kr8984t1a8f2tvj7wgrr"); // boxIntersectf(bez->sp, bez->list[starti], bb); +UNSUPPORTED("a47jqpic91ky93e1ohxv590l5"); // } else { +UNSUPPORTED("5yn57nenv2uh775lo64evo8ma"); // starti -= 3; +UNSUPPORTED("f018p8s1pklqzeu862o8grqz3"); // if (bez->sflag) +UNSUPPORTED("c9hvjpjpxposlztt4ykhchse4"); // starti = arrowStartClip(e, bez->list, starti, +UNSUPPORTED("dbcocs457i5fpymvciq1id8sl"); // endi - 3, nbez, bez->sflag); +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("37cextn872jccni47tbuylnde"); // fixed = 1; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7016d9urlsksnhs3cnhecjcda"); // if (fixed == 0) { /* if no lt, or something went wrong, use original tail */ +UNSUPPORTED("eb2mhex2xw1imv1kk03mvjjou"); // /* Note: starti == 0 */ +UNSUPPORTED("bid01qt9cg10ravykoxdnzxyk"); // if (bez->sflag) +UNSUPPORTED("5r4ncqv0i1d4e42av5wd1enpg"); // nbez->sp = bez->sp; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("6npoy905gpw81hrxzbjbr2cfx"); // /* complete Bezier, free garbage and attach new Bezier to edge +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("5xonbkojra95eckls0aqmri36"); // nbez->size = endi - starti + 1; +UNSUPPORTED("ahcr8abvd2jxjhobcfhctvs1b"); // nbez->list = (pointf*)gmalloc((nbez->size)*sizeof(pointf)); +UNSUPPORTED("c9hwlt12y9khkl85dhudsnoji"); // for (i = 0, j = starti; i < nbez->size; i++, j++) +UNSUPPORTED("bafoyknloit5d46b4iu8wll9p"); // nbez->list[i] = bez->list[j]; +UNSUPPORTED("60fikjho2iwcxgrd8xetr09m6"); // free(bez->list); +UNSUPPORTED("3qr0q84nc1rpnmowlbyiowg2z"); // free(bez); +UNSUPPORTED("70byyll04ac6uqbdyb54i1gr"); // ED_spl(e)->list = nbez; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8dlmdg7jixgrpxke9pgbbnous +// void dot_compoundEdges(graph_t * g) +public static Object dot_compoundEdges(Object... arg) { +UNSUPPORTED("7ugy3v610tnicjpszcs8fvlvb"); // void dot_compoundEdges(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("aice9tv6l0gls54iyk8147m5u"); // Dt_t* clustMap = mkClustMap (g); +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("1urljgadk0bknazngl2w39evt"); // makeCompoundEdge(g, e, clustMap); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("11epc7udwyi67f5gszznmfwn8"); // dtclose(clustMap); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} diff --git a/src/gen/lib/dotgen/conc__c.java b/src/gen/lib/dotgen/conc__c.java new file mode 100644 index 0000000..ea9d419 --- /dev/null +++ b/src/gen/lib/dotgen/conc__c.java @@ -0,0 +1,990 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.UNSUPPORTED; +import h.boxf; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.__struct__; +import smetana.core.jmp_buf; + +public class conc__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 540u5gu9i0x1wzoxqqx5n2vwp +// static jmp_buf jbuf +private static jmp_buf jbuf = new jmp_buf(); + + + +//3 hiohl94lfxzfx1mjrwsqz37c +// static boolean samedir(edge_t * e, edge_t * f) +public static Object samedir(Object... arg) { +UNSUPPORTED("29nu0bleg7r6obvwg17es3eva"); // static boolean samedir(edge_t * e, edge_t * f) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5prsmuiayujknpr12ysexceww"); // edge_t *e0, *f0; +UNSUPPORTED("a87jx348k6dr2owi2ge2e9r86"); // for (e0 = e; ED_edge_type(e0) != 0; e0 = ED_to_orig(e0)); +UNSUPPORTED("cws6ess4x4o5kp609fhzl087m"); // for (f0 = f; ED_edge_type(f0) != 0; f0 = ED_to_orig(f0)); +UNSUPPORTED("ay9e2jfde73nguyfs214f5pif"); // if (ED_conc_opp_flag(e0)) +UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; +UNSUPPORTED("3qs48pp09z881fbxjwqfm4u1r"); // if (ED_conc_opp_flag(f0)) +UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; +UNSUPPORTED("5p8e0qmobo1inow3m2l1iis5t"); // return ((ND_rank(agtail(f0)) - ND_rank(aghead(f0))) +UNSUPPORTED("6n93ns5ibdr64eugmmuj5rn02"); // * (ND_rank(agtail(e0)) - ND_rank(aghead(e0))) > 0); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6pb0av8sjhmso4mrttaqsuv6h +// static boolean downcandidate(node_t * v) +public static Object downcandidate(Object... arg) { +UNSUPPORTED("5rcx94deeexsyuzu3uu8v1yk2"); // static boolean downcandidate(node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("6jfx7802edvf66slrrtiwdr3x"); // return ((ND_node_type(v) == 1) && (ND_in(v).size == 1) +UNSUPPORTED("bc5c94xpimskyg4uxfcpjzjbk"); // && (ND_out(v).size == 1) && (ND_label(v) == NULL)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5yy2uwgnjzdmsqjig6m7pi4dh +// static boolean bothdowncandidates(node_t * u, node_t * v) +public static Object bothdowncandidates(Object... arg) { +UNSUPPORTED("70c1exdtu7f7a0g2xvtjf1h4v"); // static boolean bothdowncandidates(node_t * u, node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("n6nd0vbfveotd6ua08vaz9kc"); // e = ND_in(u).list[0]; +UNSUPPORTED("a1yoae6m61u88abwgei4iwrv6"); // f = ND_in(v).list[0]; +UNSUPPORTED("1igpcdu1bpbjym8gly2bydxmp"); // if (downcandidate(v) && (agtail(e) == agtail(f))) { +UNSUPPORTED("b0c3dm89khvdfaecz8vndzs4g"); // return samedir(e, f) +UNSUPPORTED("b65ygvpn73rc7xtl4ogmyfdc3"); // && (portcmp(ED_tail_port(e), ED_tail_port(f)) == 0); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 pnmyeaeyufqhbdt9phmr34w8 +// static boolean upcandidate(node_t * v) +public static Object upcandidate(Object... arg) { +UNSUPPORTED("1bwv2llboqrh45zw5aau3g8wy"); // static boolean upcandidate(node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8cpz8jcws7vc5ljvhpqsvtr95"); // return ((ND_node_type(v) == 1) && (ND_out(v).size == 1) +UNSUPPORTED("3h8pm2cl2yek27t8a1r51vwwm"); // && (ND_in(v).size == 1) && (ND_label(v) == NULL)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 eoltukpbxfjnxh04nr63ockc2 +// static boolean bothupcandidates(node_t * u, node_t * v) +public static Object bothupcandidates(Object... arg) { +UNSUPPORTED("cqzsemphpsgvcisjr9bifnbar"); // static boolean bothupcandidates(node_t * u, node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("9zpg3620h4heznn3b6mf3rkzc"); // e = ND_out(u).list[0]; +UNSUPPORTED("1vg7brvscwl8tqwcwgf2vc1iu"); // f = ND_out(v).list[0]; +UNSUPPORTED("232o0u3m0hk33kom12ddv5cf5"); // if (upcandidate(v) && (aghead(e) == aghead(f))) { +UNSUPPORTED("b0c3dm89khvdfaecz8vndzs4g"); // return samedir(e, f) +UNSUPPORTED("2sbh73r3hanfplu15qi49xx9e"); // && (portcmp(ED_head_port(e), ED_head_port(f)) == 0); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9ugj5cxjwh6izs7qwoeplieyq +// static void mergevirtual(graph_t * g, int r, int lpos, int rpos, int dir) +public static Object mergevirtual(Object... arg) { +UNSUPPORTED("7fykjo0tsdbiv0zeb6x3fb8fs"); // static void mergevirtual(graph_t * g, int r, int lpos, int rpos, int dir) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("3omv4g8dibh1pqrvt46eo9gvq"); // int i, k; +UNSUPPORTED("amyi14irz6dbz0367id35hvp"); // node_t *left, *right; +UNSUPPORTED("8f8h355l1495yy9dbaz0it2in"); // edge_t *e, *f, *e0; +UNSUPPORTED("231cg7wmyzy38x2wt2fo5w4mj"); // left = GD_rank(g)[r].v[lpos]; +UNSUPPORTED("ell7qlxmonsekwusp8xopfdfu"); // /* merge all right nodes into the leftmost one */ +UNSUPPORTED("1eeld04u92ygccgaquiq6xaex"); // for (i = lpos + 1; i <= rpos; i++) { +UNSUPPORTED("5elwzk0mnuzvd2hm4hjqerr0f"); // right = GD_rank(g)[r].v[i]; +UNSUPPORTED("c1uckn7ho04t7ub7xklkxju8h"); // if (dir == 1) { +UNSUPPORTED("b0aboa5nfb7ujemy7qx50riyo"); // while ((e = ND_out(right).list[0])) { +UNSUPPORTED("61h4dtrrxp3gqi4qq4fa84dj6"); // for (k = 0; (f = ND_out(left).list[k]); k++) +UNSUPPORTED("e0g1j10s0bixkrbon6u0yv9c6"); // if (aghead(f) == aghead(e)) +UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; +UNSUPPORTED("34init75thgijzfyzza21moxe"); // if (f == NULL) +UNSUPPORTED("bevz1zn0blsflvx6jkk50rba9"); // f = virtual_edge(left, aghead(e), e); +UNSUPPORTED("asb45d5rqv8it74v7tne8f2fg"); // while ((e0 = ND_in(right).list[0])) { +UNSUPPORTED("cuttljjerosdc8dabm2bnnyb8"); // merge_oneway(e0, f); +UNSUPPORTED("7v5ie1ooevp21zluuewlboyb5"); // /*ED_weight(f) += ED_weight(e0); */ +UNSUPPORTED("5s7a1scru7071fh3chrychja8"); // delete_fast_edge(e0); +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("4xzroqevvsjt307vvx10f8atw"); // delete_fast_edge(e); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("a9byy1rucxlzdlxewp2rv7gqq"); // while ((e = ND_in(right).list[0])) { +UNSUPPORTED("c7omxpe29tnl9ydgup95clcci"); // for (k = 0; (f = ND_in(left).list[k]); k++) +UNSUPPORTED("a8u5bsqed458j870nosh64yic"); // if (agtail(f) == agtail(e)) +UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break; +UNSUPPORTED("34init75thgijzfyzza21moxe"); // if (f == NULL) +UNSUPPORTED("dbqismmahqza8fnkjhntz4ll0"); // f = virtual_edge(agtail(e), left, e); +UNSUPPORTED("eukpmnw48odadjb55ie78fit9"); // while ((e0 = ND_out(right).list[0])) { +UNSUPPORTED("cuttljjerosdc8dabm2bnnyb8"); // merge_oneway(e0, f); +UNSUPPORTED("5s7a1scru7071fh3chrychja8"); // delete_fast_edge(e0); +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("4xzroqevvsjt307vvx10f8atw"); // delete_fast_edge(e); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("20831ggpnh7lvyeu87hwsm0t3"); // assert(ND_in(right).size + ND_out(right).size == 0); +UNSUPPORTED("ahkylw437651e5mf9138vl35w"); // delete_fast_node(g, right); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("4yunnb5j9hoe6bcsy79b69fh0"); // k = lpos + 1; +UNSUPPORTED("1ta71a6pw0aspmpknbt3wjj4k"); // i = rpos + 1; +UNSUPPORTED("6vm80zqnn9yxelf6y0p8pdhlh"); // while (i < GD_rank(g)[r].n) { +UNSUPPORTED("aour3qu5mlw9cykjikxt0fxcy"); // node_t *n; +UNSUPPORTED("2z4aexzipvp6690gajlfsw9ub"); // n = GD_rank(g)[r].v[k] = GD_rank(g)[r].v[i]; +UNSUPPORTED("98h1qvrthbfxdz7717i3e1ylh"); // ND_order(n) = k; +UNSUPPORTED("9zq7xtwq5cysffia17vtbbt9u"); // k++; +UNSUPPORTED("chd2f5z6rt19lbaye25ej7q6j"); // i++; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("85og729c3c58hh8wdsc8uec8l"); // GD_rank(g)[r].n = k; +UNSUPPORTED("d8ajai913hx6i4otnoso8kawv"); // GD_rank(g)[r].v[k] = NULL; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c20jfo46p56bjbachxehha9pu +// static void infuse(graph_t * g, node_t * n) +public static Object infuse(Object... arg) { +UNSUPPORTED("etmqgz9znjdg1p7di2fe6kis4"); // static void infuse(graph_t * g, node_t * n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9roij9rixfrdr3vio8wvn6cym"); // node_t *lead; +UNSUPPORTED("1dhtnolphtqb1vhzddsjs4997"); // lead = GD_rankleader(g)[ND_rank(n)]; +UNSUPPORTED("7sbrmrdrc6qm86jwzs2p1q0bv"); // if ((lead == NULL) || (ND_order(lead) > ND_order(n))) +UNSUPPORTED("4kboqcebkf36wvklvhc0smxyf"); // GD_rankleader(g)[ND_rank(n)] = n; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 e8chm1nms49vyf1mp9zdq7e3n +// static void rebuild_vlists(graph_t * g) +public static Object rebuild_vlists(Object... arg) { +UNSUPPORTED("8lxgqgoebpr6pqqvqimb2nold"); // static void rebuild_vlists(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c566lguiyozynv7spc9xx8agv"); // int c, i, r, maxi; +UNSUPPORTED("augenu6r3rx501311lht9q7qr"); // node_t *n, *lead; +UNSUPPORTED("3bqpdb6f6p2qw9s76g6txvvro"); // edge_t *e, *rep; +UNSUPPORTED("br5jnq2zjxxbz2mw0z8ns5uug"); // for (r = GD_minrank(g); r <= GD_maxrank(g); r++) +UNSUPPORTED("2rpy1wfe6lhmak6ce4v24v4ao"); // GD_rankleader(g)[r] = NULL; +UNSUPPORTED("4frgznaid5m5mdte931ti7cw"); // dot_scan_ranks(g); +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("7zlur6lceb4yawe9tb9amgq9s"); // infuse(g, n); +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("7uff9xbfc6s0idd1vxtjm2qth"); // for (rep = e; ED_to_virt(rep); rep = ED_to_virt(rep)); +UNSUPPORTED("4oqbk654pzi7973xynf59fntp"); // while (ND_rank(aghead(rep)) < ND_rank(aghead(e))) { +UNSUPPORTED("87e8ucrmzsn4x3vikrp4zqx96"); // infuse(g, aghead(rep)); +UNSUPPORTED("9l3almai3ugohjo61vxf13yb7"); // rep = ND_out(aghead(rep)).list[0]; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("60nab7gyukq3bs8e6dizhbacy"); // for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { +UNSUPPORTED("arvyjg1l9juza75tj23zsykps"); // lead = GD_rankleader(g)[r]; +UNSUPPORTED("4atymss3ar3wje54szsaa3omf"); // if (GD_rank(dot_root(g))[r].v[ND_order(lead)] != lead) { +UNSUPPORTED("b3cixj6rtwwwmjmebo4r2h15k"); // agerr(AGERR, "rebuiltd_vlists: rank lead %s not in order %d of rank %d\n", +UNSUPPORTED("6udrpqggfjxt0na5cdb0725bn"); // agnameof(lead), ND_order(lead), r); +UNSUPPORTED("edg6zn44g1egn9rxfpiizzrjo"); // longjmp(jbuf, 1); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("3907i7loyifjuq3p41y45kyhm"); // GD_rank(g)[r].v = +UNSUPPORTED("7j4ogkw53pg0iv0mmko48fw0x"); // GD_rank(dot_root(g))[r].v + ND_order((GD_rankleader(g)[r])); +UNSUPPORTED("2c6wxmjs9ytmjutd79l3vt4gl"); // maxi = -1; +UNSUPPORTED("6eix918gmfs16624x6omusuhm"); // for (i = 0; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("34a7o67ylktm1es8bkuaeejk2"); // if ((n = GD_rank(g)[r].v[i]) == NULL) +UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; +UNSUPPORTED("e0gk7m0zrsus94mtf86d91p04"); // if (ND_node_type(n) == 0) { +UNSUPPORTED("d13494tcz4gbtml8c1ev3ktzb"); // if (agcontains(g, n)) +UNSUPPORTED("80spg5b3li0mhxyw957sp2n7q"); // maxi = i; +UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else +UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; +UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { +UNSUPPORTED("3gm29k6z4aks8v0k1r7qvxvlt"); // edge_t *e; +UNSUPPORTED("42bmttyjay3sng4c3d0tsvkn9"); // for (e = ND_in(n).list[0]; e && ED_to_orig(e); +UNSUPPORTED("148t8jlrp8lwlu4pyvlslf49l"); // e = ED_to_orig(e)); +UNSUPPORTED("5n3hyea9ita57alojbawbcurz"); // if (e && (agcontains(g, agtail(e))) +UNSUPPORTED("2u3pptvaudhj3kaydu0xn0c9x"); // && agcontains(g, aghead(e))) +UNSUPPORTED("80spg5b3li0mhxyw957sp2n7q"); // maxi = i; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("csorvv6yhyohqnsvhazkk6eje"); // if (maxi == -1) +UNSUPPORTED("eq3mmft8bst07qw88wjzgvoet"); // agerr(AGWARN, "degenerate concentrated rank %s,%d\n", agnameof(g), +UNSUPPORTED("b6bf10m2f2pvxgkfcax559640"); // r); +UNSUPPORTED("10l3x6nke8pra4fu5ysnu6j08"); // GD_rank(g)[r].n = maxi + 1; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) +UNSUPPORTED("1d7lqtmagp5mwcbbkf4xawdog"); // rebuild_vlists(GD_clust(g)[c]); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 3mzzkxpsezmtvlbzshvr46b8m +// void dot_concentrate(graph_t * g) +public static Object dot_concentrate(Object... arg) { +UNSUPPORTED("4h7xkpw4zpae6ztth270w22gd"); // void dot_concentrate(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("62hcnpegd6vvkgtfo3a833aq9"); // int c, r, leftpos, rightpos; +UNSUPPORTED("amyi14irz6dbz0367id35hvp"); // node_t *left, *right; +UNSUPPORTED("1exryvusfp7fkh0rn8bxcz96g"); // if (GD_maxrank(g) - GD_minrank(g) <= 1) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("1o57fdj7j63samf9jysgvpqnq"); // /* this is the downward looking pass. r is a candidate rank. */ +UNSUPPORTED("ca08a4ijjaxoo89carapxu5ur"); // for (r = 1; GD_rank(g)[r + 1].n; r++) { +UNSUPPORTED("8elk0ekrvmk0yt6bmbwub0epc"); // for (leftpos = 0; leftpos < GD_rank(g)[r].n; leftpos++) { +UNSUPPORTED("ela65u1ff5sc7nw7eq6hioji0"); // left = GD_rank(g)[r].v[leftpos]; +UNSUPPORTED("7yq5j8b980yc5rz1e4lkwgmth"); // if (downcandidate(left) == 0) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("exizgsc0bwm37dxc6j6op74lz"); // for (rightpos = leftpos + 1; rightpos < GD_rank(g)[r].n; +UNSUPPORTED("5a4wx0786piefhj7q3m241wof"); // rightpos++) { +UNSUPPORTED("3jh1iupmf6freiri4v7zbt87k"); // right = GD_rank(g)[r].v[rightpos]; +UNSUPPORTED("7ap3iy5ysmyd0x869id0jyedv"); // if (bothdowncandidates(left, right) == 0) +UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("3q4uw7garqdhjalzpk1bivu8s"); // if (rightpos - leftpos > 1) +UNSUPPORTED("4o5cptipygbr3qu2m6rkk4qwg"); // mergevirtual(g, r, leftpos, rightpos - 1, 1); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("cakeuerd3mfjfwy396sci21tn"); // /* this is the corresponding upward pass */ +UNSUPPORTED("9cqq87ffcq47f55xlupeeuo6u"); // while (r > 0) { +UNSUPPORTED("8elk0ekrvmk0yt6bmbwub0epc"); // for (leftpos = 0; leftpos < GD_rank(g)[r].n; leftpos++) { +UNSUPPORTED("ela65u1ff5sc7nw7eq6hioji0"); // left = GD_rank(g)[r].v[leftpos]; +UNSUPPORTED("dgbio6b5e3ja3yul0q4rl5qqn"); // if (upcandidate(left) == 0) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("exizgsc0bwm37dxc6j6op74lz"); // for (rightpos = leftpos + 1; rightpos < GD_rank(g)[r].n; +UNSUPPORTED("5a4wx0786piefhj7q3m241wof"); // rightpos++) { +UNSUPPORTED("3jh1iupmf6freiri4v7zbt87k"); // right = GD_rank(g)[r].v[rightpos]; +UNSUPPORTED("6j41xobwrcrep12b6hhs39r8z"); // if (bothupcandidates(left, right) == 0) +UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("3q4uw7garqdhjalzpk1bivu8s"); // if (rightpos - leftpos > 1) +UNSUPPORTED("c3v2wops656i36vmsec5ezxk0"); // mergevirtual(g, r, leftpos, rightpos - 1, 0); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("8a1wsnjguqfvz8vfx6erejakp"); // r--; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ci9r8sj8tbc6yer5c8cebb0cm"); // if (setjmp(jbuf)) { +UNSUPPORTED("ej9htgkxfq6bintcw04c6svwu"); // agerr(AGPREV, "concentrate=true may not work correctly.\n"); +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) +UNSUPPORTED("1d7lqtmagp5mwcbbkf4xawdog"); // rebuild_vlists(GD_clust(g)[c]); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} diff --git a/src/gen/lib/dotgen/decomp__c.java b/src/gen/lib/dotgen/decomp__c.java new file mode 100644 index 0000000..75e30a6 --- /dev/null +++ b/src/gen/lib/dotgen/decomp__c.java @@ -0,0 +1,848 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.common.utils__c.UF_find; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_n_nodes; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_rankleader; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_flat_in; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_mark; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_prev; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.ST_elist; +import h.boxf; +import h.elist; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.Z; +import smetana.core.__array_of_struct__; +import smetana.core.__struct__; + +public class decomp__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 5kbimjtsi4ulxiyk2w1brj6py +// static graph_t *G +//private static Agraph_s G; +//1 ca279jzn1n2k40bv7mz55ccx7 +// static node_t *Last_node +//private static Agnode_s Last_node; +//1 5t6dmo5pbc1wdmxtabavdwyb2 +// static char Cmark +//private static char Cmark; + + +//3 7ggrwt0f912kp1marrxdjq155 +// static void begin_component(void) +public static void begin_component() { +ENTERING("7ggrwt0f912kp1marrxdjq155","begin_component"); +try { + Z.z().Last_node_decomp = null; + GD_nlist(Z.z().G_decomp, null); +} finally { +LEAVING("7ggrwt0f912kp1marrxdjq155","begin_component"); +} +} + + + + +//3 7icc6b2pvnj6te1yndbel47gg +// static void add_to_component(node_t * n) +public static void add_to_component(Agnode_s n) { +ENTERING("7icc6b2pvnj6te1yndbel47gg","add_to_component"); +try { + GD_n_nodes(Z.z().G_decomp, 1+GD_n_nodes(Z.z().G_decomp)); + ND_mark(n, Z.z().Cmark); + if (Z.z().Last_node_decomp!=null) { + ND_prev(n, Z.z().Last_node_decomp); + ND_next(Z.z().Last_node_decomp, n); + } else { + ND_prev(n, null); + GD_nlist(Z.z().G_decomp, n); + } + Z.z().Last_node_decomp = n; + ND_next(n, null); +} finally { +LEAVING("7icc6b2pvnj6te1yndbel47gg","add_to_component"); +} +} + + + + +//3 5o8hxpr6ppi15pinuy79m7u04 +// static void end_component(void) +public static void end_component() { +ENTERING("5o8hxpr6ppi15pinuy79m7u04","end_component"); +try { + int i; + i = GD_comp(Z.z().G_decomp).size; + GD_comp(Z.z().G_decomp).size = 1+GD_comp(Z.z().G_decomp).size; + GD_comp(Z.z().G_decomp).reallocEmpty(GD_comp(Z.z().G_decomp).size, Agnode_s.class); + GD_comp(Z.z().G_decomp).setInList(i ,GD_nlist(Z.z().G_decomp)); +} finally { +LEAVING("5o8hxpr6ppi15pinuy79m7u04","end_component"); +} +} + + + + +//3 c5u5lnfbu0pmlk6vsvyrdj8ep +// static void search_component(graph_t * g, node_t * n) +public static void search_component(Agraph_s g, Agnode_s n) { +ENTERING("c5u5lnfbu0pmlk6vsvyrdj8ep","search_component"); +try { + int c, i; + __array_of_struct__ vec = __array_of_struct__.malloc(elist.class, 4); + Agnode_s other; + Agedge_s e; + add_to_component(n); + vec.plus(0).setStruct(ND_out(n)); + vec.plus(1).setStruct(ND_in(n)); + vec.plus(2).setStruct(ND_flat_out(n)); + vec.plus(3).setStruct(ND_flat_in(n)); + for (c = 0; c <= 3; c++) { + if (((ST_elist) vec.plus(c).getStruct()).listNotNull()) + for (i = 0; (e = (Agedge_s) ((ST_elist) vec.plus(c).getStruct()).getFromList(i))!=null; i++) { + if (EQ(other = aghead(e), n)) + other = agtail(e); + if ((ND_mark(other) != Z.z().Cmark) && (EQ(other, UF_find(other)))) + search_component(g, other); + } + } +} finally { +LEAVING("c5u5lnfbu0pmlk6vsvyrdj8ep","search_component"); +} +} + + + + +//3 2t7r964kqtl5qrl7i57i22tqy +// void decompose(graph_t * g, int pass) +public static void decompose(Agraph_s g, int pass) { +ENTERING("2t7r964kqtl5qrl7i57i22tqy","decompose"); +try { + Agraph_s subg; + Agnode_s n, v; + Z.z().G_decomp = g; + if (++Z.z().Cmark == 0) + Z.z().Cmark = 1; + GD_n_nodes(g, 0); + GD_comp(g).size = 0; + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + v = n; + if ((pass > 0) && (subg = ND_clust(v))!=null) + v = (Agnode_s) GD_rankleader(subg).plus(ND_rank(v)).getPtr(); + else if (v != UF_find(v)) + continue; + if (ND_mark(v) != Z.z().Cmark) { + begin_component(); + search_component(g, v); + end_component(); + } + } +} finally { +LEAVING("2t7r964kqtl5qrl7i57i22tqy","decompose"); +} +} + + +} diff --git a/src/gen/lib/dotgen/dotinit__c.java b/src/gen/lib/dotgen/dotinit__c.java new file mode 100644 index 0000000..f6768c0 --- /dev/null +++ b/src/gen/lib/dotgen/dotinit__c.java @@ -0,0 +1,1281 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agattr; +import static gen.lib.cgraph.attr__c.agget; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.graph__c.agnnodes; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agraphof; +import static gen.lib.cgraph.obj__c.agroot; +import static gen.lib.cgraph.rec__c.agbindrec; +import static gen.lib.cgraph.subg__c.agfstsubg; +import static gen.lib.cgraph.subg__c.agnxtsubg; +import static gen.lib.common.postproc__c.dotneato_postprocess; +import static gen.lib.common.utils__c.common_init_edge; +import static gen.lib.common.utils__c.common_init_node; +import static gen.lib.common.utils__c.gv_nodesize; +import static gen.lib.common.utils__c.late_int; +import static gen.lib.common.utils__c.late_string; +import static gen.lib.common.utils__c.mapbool; +import static gen.lib.common.utils__c.setEdgeType; +import static gen.lib.dotgen.aspect__c.setAspect; +import static gen.lib.dotgen.class1__c.nonconstraint_edge; +import static gen.lib.dotgen.compound__c.dot_compoundEdges; +import static gen.lib.dotgen.dotsplines__c.dot_splines; +import static gen.lib.dotgen.mincross__c.dot_mincross; +import static gen.lib.dotgen.position__c.dot_position; +import static gen.lib.dotgen.rank__c.dot_rank; +import static gen.lib.dotgen.sameport__c.dot_sameports; +import static gen.lib.pack.pack__c.getPack; +import static gen.lib.pack.pack__c.getPackInfo; +import static gen.lib.pack.pack__c.getPackModeInfo; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.enumAsInt; +import static smetana.core.JUtils.sizeof; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.AGRAPH; +import static smetana.core.Macro.ED_count; +import static smetana.core.Macro.ED_minlen; +import static smetana.core.Macro.ED_showboxes; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.ED_xpenalty; +import static smetana.core.Macro.GD_dotroot; +import static smetana.core.Macro.GD_flags; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_UF_size; +import static smetana.core.Macro.ND_flat_in; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.UNSUPPORTED; +import static smetana.core.Macro.alloc_elist; +import h.Agedge_s; +import h.Agedgeinfo_t; +import h.Agnode_s; +import h.Agnodeinfo_t; +import h.Agraph_s; +import h.Agraphinfo_t; +import h.aspect_t; +import h.boxf; +import h.pack_info; +import h.pack_mode; +import h.pointf; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Memory; +import smetana.core.Z; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class dotinit__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 exy2l03ceq9zw4vf01bbd4d3o +// typedef unsigned int packval_t + + + + +//3 cmr94z4p2bdeiply1d4wrqwes +// static void dot_init_subg(graph_t * g, graph_t* droot) +public static void dot_init_subg(Agraph_s g, Agraph_s droot) { +ENTERING("cmr94z4p2bdeiply1d4wrqwes","dot_init_subg"); +try { + Agraph_s subg; + if (NEQ(g, agroot(g))) + agbindrec(g, new CString("Agraphinfo_t"), sizeof(Agraphinfo_t.class), (N(0))); + if (EQ(g, droot)) + GD_dotroot(agroot(g), droot); + for (subg = agfstsubg(g); subg!=null; subg = agnxtsubg(subg)) { + dot_init_subg(subg, droot); + } +} finally { +LEAVING("cmr94z4p2bdeiply1d4wrqwes","dot_init_subg"); +} +} + + + + +//3 3hk92jbrfjmn6no3svn9jvje9 +// static void dot_init_node(node_t * n) +public static void dot_init_node(Agnode_s n) { +ENTERING("3hk92jbrfjmn6no3svn9jvje9","dot_init_node"); +try { + agbindrec(n, new CString("Agnodeinfo_t"), sizeof(Agnodeinfo_t.class), (N(0))); //graph custom data + common_init_node(n); + gv_nodesize(n, GD_flip(agraphof(n))); + alloc_elist(4, ND_in(n), Agnode_s.class); + alloc_elist(4, ND_out(n), Agnode_s.class); + alloc_elist(2, ND_flat_in(n), Agnode_s.class); + alloc_elist(2, ND_flat_out(n), Agnode_s.class); + alloc_elist(2, ND_other(n), Agnode_s.class); + ND_UF_size(n, 1); +} finally { +LEAVING("3hk92jbrfjmn6no3svn9jvje9","dot_init_node"); +} +} + + + + +//3 zbvhnhd78bppq8wb872847bj +// static void dot_init_edge(edge_t * e) +public static void dot_init_edge(Agedge_s e) { +ENTERING("zbvhnhd78bppq8wb872847bj","dot_init_edge"); +try { + CString tailgroup, headgroup; + agbindrec(e, new CString("Agedgeinfo_t"), sizeof(Agedgeinfo_t.class), (N(0))); //graph custom data + common_init_edge(e); + ED_weight(e, late_int(e, Z.z().E_weight, 1, 0)); + tailgroup = late_string(agtail(e), Z.z().N_group, new CString("")); + headgroup = late_string(aghead(e), Z.z().N_group, new CString("")); + ED_count(e, 1); + ED_xpenalty(e, 1); + if (tailgroup.charAt(0)!='\0' && (tailgroup.isSame(headgroup))) { +UNSUPPORTED("atjraranegsdjegclykesn5gx"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->xpenalty) = 1000; +UNSUPPORTED("5y0yunmvmngg67c9exlbn6jbk"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) *= 100; + } + if (nonconstraint_edge(e)) { +UNSUPPORTED("54niz21n2omf1i9v67brdid9w"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->xpenalty) = 0; +UNSUPPORTED("2v5u5jdguhhn7vjihniotrml0"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; + } + ED_showboxes(e, late_int(e, Z.z().E_showboxes, 0, 0)); + ED_minlen(e, late_int(e, Z.z().E_minlen, 1, 0)); +} finally { +LEAVING("zbvhnhd78bppq8wb872847bj","dot_init_edge"); +} +} + + + + +//3 2ylyhz7macit0ts1hap2tg3wy +// void dot_init_node_edge(graph_t * g) +public static void dot_init_node_edge(Agraph_s g) { +ENTERING("2ylyhz7macit0ts1hap2tg3wy","dot_init_node_edge"); +try { + Agnode_s n; + Agedge_s e; + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) + dot_init_node(n); + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) + dot_init_edge(e); + } +} finally { +LEAVING("2ylyhz7macit0ts1hap2tg3wy","dot_init_node_edge"); +} +} + + + + +//3 5z1h7gr0tgapjvuc2z9st9xjr +// static void dot_cleanup_node(node_t * n) +public static Object dot_cleanup_node(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("3wd33alc21mdt92sw3x9gl65j"); // dot_cleanup_node(node_t * n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("bft238x0kn16j4rew2s49lf8p"); // free_list(ND_in(n)); +UNSUPPORTED("9k0f5njfz83ho3jgj8a6l97ia"); // free_list(ND_out(n)); +UNSUPPORTED("9hf5u4ow9x2bxsh5roh3klohe"); // free_list(ND_flat_out(n)); +UNSUPPORTED("d5cejyb0j1nhixps76lgii0fr"); // free_list(ND_flat_in(n)); +UNSUPPORTED("er7qgmylfnw39xn97jixe3cqp"); // free_list(ND_other(n)); +UNSUPPORTED("dv63sk5dujcwfkf99o6ponzqm"); // free_label(ND_label(n)); +UNSUPPORTED("5or6zu6ycx4zage9ggy1o9it4"); // free_label(ND_xlabel(n)); +UNSUPPORTED("4wkmsp7365vb7u5fqtm2buotu"); // if (ND_shape(n)) +UNSUPPORTED("2yujce4phniaiwg4fq8up6xu7"); // ND_shape(n)->fns->freefn(n); +UNSUPPORTED("4zk1aro1ispxkab9ee4dd0tf"); // agdelrec(n, "Agnodeinfo_t"); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5x42drpgjuyzb9oapi7osqxb6 +// static void free_virtual_edge_list(node_t * n) +public static Object free_virtual_edge_list(Object... arg) { +UNSUPPORTED("2kwoaiz0pcpatrbztzebypz24"); // static void free_virtual_edge_list(node_t * n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("4johvk6fhfn8nimnwv1bayucm"); // for (i = ND_in(n).size - 1; i >= 0; i--) { +UNSUPPORTED("dkwp8r3x5yxwt373copif99qc"); // e = ND_in(n).list[i]; +UNSUPPORTED("d0cytt2j3orasq0977h5sdypp"); // delete_fast_edge(e); +UNSUPPORTED("3ersod3eshpdnzwy1yb73olpy"); // free(e->base.data); +UNSUPPORTED("7eb6ytlppce1o1ihl2yf1mb6w"); // free(e); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("dyyfpe9giifeythxw1ecgc9gw"); // for (i = ND_out(n).size - 1; i >= 0; i--) { +UNSUPPORTED("d0wu190s7vunqmaadd9r01j7m"); // e = ND_out(n).list[i]; +UNSUPPORTED("d0cytt2j3orasq0977h5sdypp"); // delete_fast_edge(e); +UNSUPPORTED("3ersod3eshpdnzwy1yb73olpy"); // free(e->base.data); +UNSUPPORTED("7eb6ytlppce1o1ihl2yf1mb6w"); // free(e); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bzy6cpyjjzfeesjlq49c5sfmo +// static void free_virtual_node_list(node_t * vn) +public static Object free_virtual_node_list(Object... arg) { +UNSUPPORTED("b8mii2q777xhhq7ugpswc15so"); // static void free_virtual_node_list(node_t * vn) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("3lk7715piw6ktz28izcuw3l10"); // node_t *next_vn; +UNSUPPORTED("cs50uo5tdqm5ri532weezud0q"); // while (vn) { +UNSUPPORTED("1zc0twfsq0pvs72obqpqn3jt7"); // next_vn = ND_next(vn); +UNSUPPORTED("6v1txca0lc0m7vffh6cxe7s0v"); // free_virtual_edge_list(vn); +UNSUPPORTED("ar8qtrvshtnclyd1lwsud1fe1"); // if (ND_node_type(vn) == 1) { +UNSUPPORTED("52z735rh4jv9he0idjly61jel"); // free_list(ND_out(vn)); +UNSUPPORTED("2cx91nqjcw6sdd1j219nb29ty"); // free_list(ND_in(vn)); +UNSUPPORTED("f2pq0qi224q8wspagt6qwoxdp"); // free(vn->base.data); +UNSUPPORTED("3lo6egckclz8tk579663nqark"); // free(vn); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("1jra8cgf1nhojwmj7gyucvoni"); // vn = next_vn; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 colq6urkwrm9hh0zggl873dla +// static void dot_cleanup_graph(graph_t * g) +public static Object dot_cleanup_graph(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("84r7i6e9lays55x1yan1d0nlp"); // dot_cleanup_graph(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; +UNSUPPORTED("92vjk6rjnnnji7bcczz51lwfx"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { +UNSUPPORTED("ykczo4avgse9arffpd1plmme"); // dot_cleanup_graph(subg); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("12nbb17pw6fg2wwg5c7i800xv"); // if (GD_clust(g)) free (GD_clust(g)); +UNSUPPORTED("cw69q4tfzxmrd72fi1vz2be1g"); // if (GD_rankleader(g)) free (GD_rankleader(g)); +UNSUPPORTED("cnrd9322z9c4eqvr450ughbzh"); // free_list(GD_comp(g)); +UNSUPPORTED("djox731ykith2qz2trtp7zgzf"); // if (GD_rank(g)) { +UNSUPPORTED("1vkvarx8mfy1iq12oyq5rtzpa"); // for (i = GD_minrank(g); i <= GD_maxrank(g); i++) +UNSUPPORTED("32lqmila03wshgx9x3686apbo"); // free(GD_rank(g)[i].av); +UNSUPPORTED("dnv6plmiyr74l3u1aqc16qmiz"); // if (GD_minrank(g) == -1) +UNSUPPORTED("b0hpil9jwq1zov1klvpd6vbnf"); // free(GD_rank(g)-1); +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("eqir7eaetsm1anqchd3kb8q8t"); // free(GD_rank(g)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("58o9b8zmlqcq96deeorllidce"); // if (g != agroot(g)) +UNSUPPORTED("f5hqyohefj8o12bvcv17xpswc"); // agdelrec(g,"Agraphinfo_t"); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2uv40x0vx6nmbvld01reukyly +// void dot_cleanup(graph_t * g) +public static Object dot_cleanup(Object... arg) { +UNSUPPORTED("a2tqiktifcbodk46i6x0ux9j1"); // void dot_cleanup(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("v8twirr9ihzxnb06d6x6nxrd"); // free_virtual_node_list(GD_nlist(g)); +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("5otoqd7o1zz8ni50urywr7yjy"); // gv_cleanup_edge(e); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("yis08tp9td0x00hxoxqopt6b"); // dot_cleanup_node(n); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("2w88m44roqcqg67kuhg5k4agu"); // dot_cleanup_graph(g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4jt1p8taqjuk4atqpwbxkru3g +// static void remove_from_rank (Agraph_t * g, Agnode_t* n) +public static Object remove_from_rank(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("9axg5z61bd5rkf0cbubkto6eb"); // remove_from_rank (Agraph_t * g, Agnode_t* n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5v9scbkty9fkcyo8yw7jmkokj"); // Agnode_t* v = NULL; +UNSUPPORTED("86gmm9qxyhkzst815hr54r1sp"); // int j, rk = ND_rank(n); +UNSUPPORTED("7bstlpzg93apc08cfgp386p7m"); // for (j = 0; j < GD_rank(g)[rk].n; j++) { +UNSUPPORTED("5oq2646mpw8p4gen80z8g8baz"); // v = GD_rank(g)[rk].v[j]; +UNSUPPORTED("aby82dr89m0xbcj8mya7f9fvx"); // if (v == n) { +UNSUPPORTED("5494ozi7uqin7n7xlbkqrsahd"); // for (j++; j < GD_rank(g)[rk].n; j++) { +UNSUPPORTED("a4l7560unq1yw14pck0v0yo6x"); // GD_rank(g)[rk].v[j-1] = GD_rank(g)[rk].v[j]; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("8pdkxsqmvoce243jar5hwxl3u"); // GD_rank(g)[rk].n--; +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("cytanc5i1hmu0ag0vz4awfpi"); // assert (v == n); /* if found */ +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 xgvyh3kinj6cbnknb5oo9qfr +// static void removeFill (Agraph_t * g) +public static Object removeFill(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("8asq16rjvm285smlce6dul5nq"); // removeFill (Agraph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; +UNSUPPORTED("167at4ws3rrdv3znbvpsnb83o"); // Agnode_t* nxt; +UNSUPPORTED("22j86kdb5hbziiedfsspj3ipn"); // Agraph_t* sg = agsubg (g, "_new_rank", 0); +UNSUPPORTED("1pjx7ke9o4h5tgq0cs9jfui7j"); // if (!sg) return; +UNSUPPORTED("5sms8ok354044bziyaq1kfv93"); // for (n = agfstnode(sg); n; n = nxt) { +UNSUPPORTED("18crodqmo1f1apt7bwq0mv72m"); // nxt = agnxtnode(sg, n); +UNSUPPORTED("227ays2g6u04e210i8wp3jntu"); // delete_fast_node (g, n); +UNSUPPORTED("2tp9t78wzq032fbm3msk2gpfx"); // remove_from_rank (g, n); +UNSUPPORTED("cyyixtb6lqfain86edffcd92b"); // dot_cleanup_node (n); +UNSUPPORTED("3xjgsp211uvaug1aa3mvpdlnc"); // agdelnode(g, n); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9ar3yxaq5s0lagg5bw59suv8u"); // agdelsubg (g, sg); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 63o8ieaetc5apjocrd74fobt0 +// static void attach_phase_attrs (Agraph_t * g, int maxphase) +public static Object attach_phase_attrs(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("adogsvx2s8kkwixbfl53zj175"); // attach_phase_attrs (Agraph_t * g, int maxphase) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("28snkvv05tay2b94o220j0rkx"); // Agsym_t* rk = agattr(g,AGNODE,"rank",""); +UNSUPPORTED("2mf6hpet62ccb0nfggxptz459"); // Agsym_t* order = agattr(g,AGNODE,"order",""); +UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; +UNSUPPORTED("cf8w5z35zxww7q6yjin9lc9op"); // char buf[BUFSIZ]; +UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { +UNSUPPORTED("16p5t5iyomfedg6du3xoszhzq"); // if (maxphase >= 1) { +UNSUPPORTED("bwgz5xhm64nl5wtnj9vfs1rx7"); // sprintf(buf, "%d", ND_rank(n)); +UNSUPPORTED("42xwkqdgcponmubqyxg876oo6"); // agxset(n,rk,buf); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("93x84236b3xx5glpnx5xseeg0"); // if (maxphase >= 2) { +UNSUPPORTED("dt1ra0nrgwwdbm8fmxvgcz16x"); // sprintf(buf, "%d", ND_order(n)); +UNSUPPORTED("5e6vrutroh3qimffd0rioyhnz"); // agxset(n,order,buf); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7t18nggek2s9vvb5opwqa8rwr +// static void dotLayout(Agraph_t * g) +public static void dotLayout(Agraph_s g) { +ENTERING("7t18nggek2s9vvb5opwqa8rwr","dotLayout"); +try { + aspect_t aspect = (aspect_t) Memory.malloc(aspect_t.class); + aspect_t asp; + int maxphase = late_int(g, (agattr(g,AGRAPH,new CString("phase"),null)), -1, 1); + setEdgeType (g, (5 << 1)); + asp = setAspect (g, aspect); + dot_init_subg(g,g); + dot_init_node_edge(g); + do { + dot_rank(g, asp); + if (maxphase == 1) { + attach_phase_attrs (g, 1); + return; + } + if (aspect.getBoolean("badGraph")) { +UNSUPPORTED("1yu5j8tk43i6jlmu8wk9jks15"); // agerr(AGWARN, "dot does not support the aspect attribute for disconnected graphs or graphs with clusters\n"); +UNSUPPORTED("5uwp9z6jkv5uc30iyfszyg6dw"); // asp = NULL; +UNSUPPORTED("28kbszyxsjoj03gb134ov4hag"); // aspect.nextIter = 0; + } + dot_mincross(g, (asp != null)); + if (maxphase == 2) { + attach_phase_attrs (g, 2); + return; + } + dot_position(g, asp); + if (maxphase == 3) { + attach_phase_attrs (g, 2); /* positions will be attached on output */ + return; + } + aspect.setInt("nPasses", aspect.getInt("nPasses") -1); + } while (aspect.getInt("nextIter")!=0 && aspect.getInt("nPasses")!=0); + if ((GD_flags(g) & (1 << 4))!=0) + removeFill (g); + dot_sameports(g); + dot_splines(g); + if (mapbool(agget(g, new CString("compound")))) + dot_compoundEdges(g); +} finally { +LEAVING("7t18nggek2s9vvb5opwqa8rwr","dotLayout"); +} +} + + + + +//3 j18uqz16uc5895o8w92sc8us +// static void initSubg (Agraph_t* sg, Agraph_t* g) +public static Object initSubg(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("dxv1kymai2xe3m4wblwapgffu"); // initSubg (Agraph_t* sg, Agraph_t* g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("3oolj8gqkndhoy95ebyjmjt0w"); // agbindrec(sg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); +UNSUPPORTED("2um641xaifqq107czm0htblc3"); // GD_drawing(sg) = (layout_t*)zmalloc(sizeof(layout_t)); +UNSUPPORTED("bfocldqmll6ddnmq3h3ci6njt"); // GD_drawing(sg)->quantum = GD_drawing(g)->quantum; +UNSUPPORTED("7cnwfvm4lswn7kvucss74krd3"); // GD_drawing(sg)->dpi = GD_drawing(g)->dpi; +UNSUPPORTED("7kbbs52ycpyuytqi61m5vme4c"); // GD_gvc(sg) = GD_gvc (g); +UNSUPPORTED("8flpf5avt4eg89sc16bgp9v13"); // GD_charset(sg) = GD_charset (g); +UNSUPPORTED("d9o7bxs9hl0r5ma0lt9oejmqv"); // GD_rankdir2(sg) = GD_rankdir2 (g); +UNSUPPORTED("74762qecxnstp743fwt31hk0p"); // GD_nodesep(sg) = GD_nodesep(g); +UNSUPPORTED("b29jhl6zjh8f8jqfb6okoixby"); // GD_ranksep(sg) = GD_ranksep(g); +UNSUPPORTED("bctcse1zj9vx2p0in9p4jhso3"); // GD_fontnames(sg) = GD_fontnames(g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9pe0e6i01ks2zju1xjzgg39v1 +// static void attachPos (Agraph_t* g) +public static Object attachPos(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("d606brtp0hf4k8bamafqhu08b"); // attachPos (Agraph_t* g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8fmu9hadea4uw8fwzoexoxab"); // node_t* np; +UNSUPPORTED("5cl2cj5wj7w1zr7qjww0s4cdf"); // double* ps = (double*)zmalloc((2*agnnodes(g))*sizeof(double)); +UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { +UNSUPPORTED("7tbl6es7oks3vntqoetg24xa4"); // ND_pos(np) = ps; +UNSUPPORTED("9qwq8ll4gb28hun94xos9i4ud"); // ps[0] = ((ND_coord(np).x)/(double)72); +UNSUPPORTED("5z9ztec30pze3mzecneza61qq"); // ps[1] = ((ND_coord(np).y)/(double)72); +UNSUPPORTED("aeuy5zibx9et1ncwcqwlr3s3m"); // ps += 2; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 eufhyu2dccn1mleg8a43s9k2h +// static void resetCoord (Agraph_t* g) +public static Object resetCoord(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("caofcucw710wwaiwfz4650zsz"); // resetCoord (Agraph_t* g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7ds7ppzwt5kjihc3hp8q0ncyl"); // node_t* np = agfstnode(g); +UNSUPPORTED("5s8nx20pwknmsow15z16muyab"); // double* sp = ND_pos(np); +UNSUPPORTED("5u1fte9td0znzxeayi62ozq8a"); // double* ps = sp; +UNSUPPORTED("73rfwkv8ws65l7qgnz7jw27gf"); // for (np = agfstnode(g); np; np = agnxtnode(g, np)) { +UNSUPPORTED("8p3hwwbq7seyn0wpf7llgw1xd"); // ND_pos(np) = 0; +UNSUPPORTED("a33fx4q39yal0dnv915x71zia"); // ND_coord(np).x = ((ps[0])*(double)72); +UNSUPPORTED("avms8890ml5c9jclp66fpto3x"); // ND_coord(np).y = ((ps[1])*(double)72); +UNSUPPORTED("aeuy5zibx9et1ncwcqwlr3s3m"); // ps += 2; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("btsriptlygrzlk6ojhvss234j"); // free (sp); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 nedairhdof6qkmjjoh4h68zy +// static void doDot (Agraph_t* g) +public static void doDot(Agraph_s g) { +ENTERING("nedairhdof6qkmjjoh4h68zy","doDot"); +try { + Agraph_s ccs[]; + Agraph_s sg; + int ncc; + int i; + pack_info pinfo = (pack_info) Memory.malloc(pack_info.class); + int Pack = getPack(g, -1, 8); + int mode = getPackModeInfo (g, enumAsInt(pack_mode.class, "l_undef"), pinfo); + getPackInfo(g, enumAsInt(pack_mode.class, "l_node"), 8, pinfo); + if ((mode == enumAsInt(pack_mode.class, "l_undef")) && (Pack < 0)) { + /* No pack information; use old dot with components + * handled during layout + */ + dotLayout(g); + } else { +UNSUPPORTED("952usp51fee2pbidl2frwpq2x"); // /* fill in default values */ +UNSUPPORTED("7d8flcn5zht92nop46f168hf9"); // if (mode == l_undef) +UNSUPPORTED("bf04f2a6do2dovxgq57ta3qz5"); // pinfo.mode = l_node; +UNSUPPORTED("7l7lph3yd7o3jelejupsiytnc"); // else if (Pack < 0) +UNSUPPORTED("7odp6lwv29g4nwpfvqt8hkmve"); // Pack = 8; +UNSUPPORTED("au4kpvl0egq3dt8hlmqnad61o"); // pinfo.margin = Pack; +UNSUPPORTED("6o6lvrnsp1zkqdkduwrfetrrm"); // pinfo.fixed = 0; +UNSUPPORTED("7ijhbsssflu2oty986iwhi5u7"); // /* components using clusters */ +UNSUPPORTED("axesx20t6oyprzdzjz5cwneq4"); // ccs = cccomps(g, &ncc, 0); +UNSUPPORTED("edukq9g8egufczs6ja3h99k6a"); // if (ncc == 1) { +UNSUPPORTED("aj3wrqm1ouyaocsn56geghko0"); // dotLayout(g); +UNSUPPORTED("2pkescmk4qojc8cqt3wzo8jkp"); // } else if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->drawing)->ratio_kind == R_NONE) { +UNSUPPORTED("295yqzsqueggcx71mcuv1zy7t"); // pinfo.doSplines = 1; +UNSUPPORTED("3rfcnwowz3h58n92j7igzwap0"); // for (i = 0; i < ncc; i++) { +UNSUPPORTED("6n1wgj9rnpi5u0c1f6mo7hvdr"); // sg = ccs[i]; +UNSUPPORTED("9f5l1z5fur3bn6wlzykztsrr5"); // initSubg (sg, g); +UNSUPPORTED("boery4d5nv4jssiy0y3mf2yf7"); // dotLayout (sg); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("ahr97rgrh96az7iroebb6p14f"); // attachPos (g); +UNSUPPORTED("1eeqkm1855z53jwep9ukxptxa"); // packSubgraphs(ncc, ccs, g, &pinfo); +UNSUPPORTED("5jevnxwr3ejh3o6i1n3b15oyz"); // resetCoord (g); +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("3dnz4esjw60s265perisqld8n"); // /* Not sure what semantics should be for non-trivial ratio +UNSUPPORTED("9752lfn24j9vhkz6y8fvyvpop"); // * attribute with multiple components. +UNSUPPORTED("cxv608avcmjij1ltc81ac9zp0"); // * One possibility is to layout nodes, pack, then apply the ratio +UNSUPPORTED("71ykqx29qwldoh9wf4e85xh7u"); // * adjustment. We would then have to re-adjust all positions. +UNSUPPORTED("29edlge3wqyp1gs0vymtr5700"); // */ +UNSUPPORTED("aj3wrqm1ouyaocsn56geghko0"); // dotLayout(g); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("cjjlbx1oxw3twss3vlotij507"); // for (i = 0; i < ncc; i++) { +UNSUPPORTED("dc0uduk2687c8n6qn7y3y0aph"); // free ((((Agraphinfo_t*)(((Agobj_t*)(ccs[i]))->data))->drawing)); +UNSUPPORTED("6lefivq8plsiwa47ucvy1ze1a"); // agdelete(g, ccs[i]); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("5eru5cerydhchm7ojmgdlkv9y"); // free(ccs); + } +} finally { +LEAVING("nedairhdof6qkmjjoh4h68zy","doDot"); +} +} + + + + +//3 euvc3uoksq3e24augkwebfkcv +// void dot_layout(Agraph_t * g) +public static void dot_layout(Agraph_s g) { +ENTERING("euvc3uoksq3e24augkwebfkcv","dot_layout"); +try { + if (agnnodes(g)!=0) doDot (g); + dotneato_postprocess(g); +} finally { +LEAVING("euvc3uoksq3e24augkwebfkcv","dot_layout"); +} +} + + + + +//3 ca52dadcp7m8x0bqhaw4tvtaw +// Agraph_t * dot_root (void* p) +public static Agraph_s dot_root(__ptr__ p) { +ENTERING("ca52dadcp7m8x0bqhaw4tvtaw","dot_root"); +try { + return GD_dotroot(agroot(p)); +} finally { +LEAVING("ca52dadcp7m8x0bqhaw4tvtaw","dot_root"); +} +} + + +} diff --git a/src/gen/lib/dotgen/dotsplines__c.java b/src/gen/lib/dotgen/dotsplines__c.java new file mode 100644 index 0000000..4265f90 --- /dev/null +++ b/src/gen/lib/dotgen/dotsplines__c.java @@ -0,0 +1,3180 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agraphof; +import static gen.lib.common.memory__c.gmalloc; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.common.routespl__c.makeStraightEdge; +import static gen.lib.common.routespl__c.routepolylines; +import static gen.lib.common.routespl__c.routesplines; +import static gen.lib.common.routespl__c.routesplinesinit; +import static gen.lib.common.routespl__c.routesplinesterm; +import static gen.lib.common.routespl__c.simpleSplineRoute; +import static gen.lib.common.splines__c.add_box; +import static gen.lib.common.splines__c.beginpath; +import static gen.lib.common.splines__c.clip_and_install; +import static gen.lib.common.splines__c.endpath; +import static gen.lib.common.splines__c.getsplinepoints; +import static gen.lib.common.splines__c.makeSelfEdge; +import static gen.lib.common.utils__c.updateBB; +import static gen.lib.dotgen.cluster__c.mark_lowclusters; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.LOG2; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.function; +import static smetana.core.JUtils.qsort; +import static smetana.core.JUtils.sizeof; +import static smetana.core.JUtils.sizeof_starstar_empty; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ABS; +import static smetana.core.Macro.AGSEQ; +import static smetana.core.Macro.ALLOC_empty; +import static smetana.core.Macro.BETWEEN; +import static smetana.core.Macro.ED_adjacent; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_head_port; +import static smetana.core.Macro.ED_label; +import static smetana.core.Macro.ED_spl; +import static smetana.core.Macro.ED_tail_port; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_tree_index; +import static smetana.core.Macro.GD_bb; +import static smetana.core.Macro.GD_flags; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.GD_has_labels; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_nodesep; +import static smetana.core.Macro.GD_rank; +import static smetana.core.Macro.GD_ranksep; +import static smetana.core.Macro.MAKEFWDEDGE; +import static smetana.core.Macro.MAX; +import static smetana.core.Macro.MIN; +import static smetana.core.Macro.M_PI; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_alg; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_coord; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_ht; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_label; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_mval; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_order; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.ROUND; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agedgeinfo_t; +import h.Agedgepair_s; +import h.Agnode_s; +import h.Agraph_s; +import h.Ppoly_t; +import h.ST_boxf; +import h.ST_port; +import h.attr_state_t; +import h.bezier; +import h.boxf; +import h.path; +import h.pathend_t; +import h.pointf; +import h.spline_info_t; +import h.splines; +import smetana.core.JUtils; +import smetana.core.Memory; +import smetana.core.Z; +import smetana.core.__array_of_struct__; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class dotsplines__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static ST_boxf boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static ST_boxf boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final ST_boxf b = new ST_boxf(); + b.LL.x = llx; + b.LL.y = lly; + b.UR.x = urx; + b.UR.y = ury; + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 8vvgiozsykdn0hhbvaem6lifn +// static boxf boxes[1000] +//private static __array_of_struct__ boxes = __array_of_struct__.malloc(boxf.class, 1000); + + + +//3 dobhmc46zwtvv8rg3ywntl91j +// static edge_t* getmainedge(edge_t * e) +public static Agedge_s getmainedge(Agedge_s e) { +ENTERING("dobhmc46zwtvv8rg3ywntl91j","getmainedge"); +try { + Agedge_s le = e; + while (ED_to_virt(le)!=null) + le = ED_to_virt(le); + while (ED_to_orig(le)!=null) + le = ED_to_orig(le); + return le; +} finally { +LEAVING("dobhmc46zwtvv8rg3ywntl91j","getmainedge"); +} +} + + + + +//3 ddeny5ht7w8b16ztj5zt840ld +// static boolean spline_merge(node_t * n) +public static boolean spline_merge(Agnode_s n) { +ENTERING("ddeny5ht7w8b16ztj5zt840ld","spline_merge"); +try { + return ((ND_node_type(n) == 1) + && ((ND_in(n).size > 1) || (ND_out(n).size > 1))); +} finally { +LEAVING("ddeny5ht7w8b16ztj5zt840ld","spline_merge"); +} +} + + + + +//3 36ofw2qfqlh5ci8gc8cfkqgg3 +// static boolean swap_ends_p(edge_t * e) +public static boolean swap_ends_p(Agedge_s e) { +ENTERING("36ofw2qfqlh5ci8gc8cfkqgg3","swap_ends_p"); +try { + while (ED_to_orig(e)!=null) + e = ED_to_orig(e); + if (ND_rank(aghead(e)) > ND_rank(agtail(e))) + return false; + if (ND_rank(aghead(e)) < ND_rank(agtail(e))) + return NOT(false); + if (ND_order(aghead(e)) >= ND_order(agtail(e))) + return false; + return NOT(false); +} finally { +LEAVING("36ofw2qfqlh5ci8gc8cfkqgg3","swap_ends_p"); +} +} + + +//1 300wnvw9sndobgke752j9u139 +// static splineInfo sinfo = +/*static final __struct__<splineInfo> sinfo = JUtils.from(splineInfo.class); +static { + sinfo.setPtr("swapEnds", function(dotsplines__c.class, "swap_ends_p")); + sinfo.setPtr("splineMerge", function(dotsplines__c.class, "spline_merge")); +}*/ + + + + +//3 3krohso3quojiv4fveh1en7o6 +// int portcmp(port p0, port p1) +public static int portcmp(final ST_port p0, final ST_port p1) { +// WARNING!! STRUCT +return portcmp_w_(p0.copy(), p1.copy()); +} +private static int portcmp_w_(final ST_port p0, final ST_port p1) { +ENTERING("3krohso3quojiv4fveh1en7o6","portcmp"); +try { + int rv; + if (p1.defined == 0) + return (p0.defined!=0 ? 1 : 0); + if (p0.defined == 0) + return -1; + rv = (int) (p0.p.x - p1.p.x); + if (rv == 0) + rv = (int) (p0.p.y - p1.p.y); + return rv; +} finally { +LEAVING("3krohso3quojiv4fveh1en7o6","portcmp"); +} +} + + + + +//3 10wbtt4gwnxgqutinpj4ymjpk +// static void swap_bezier(bezier * old, bezier * new) +public static void swap_bezier(__ptr__ old, __ptr__ new_) { +ENTERING("10wbtt4gwnxgqutinpj4ymjpk","swap_bezier"); +try { + __ptr__ list; + __ptr__ lp; + __ptr__ olp; + int i, sz; + sz = old.getInt("size"); + list = gmalloc(sizeof(pointf.class, sz)); + lp = list; + olp = old.getArrayOfPtr("list").plus(sz - 1).asPtr(); + for (i = 0; i < sz; i++) { /* reverse list of points */ + lp.getStruct().___(olp.getStruct()); + lp=lp.plus(1); + olp=olp.plus(-1); + } + new_.setPtr("list", list); + new_.setInt("size", sz); + new_.setInt("sflag", old.getInt("eflag")); + new_.setInt("eflag", old.getInt("sflag")); + new_.setStruct("sp", old.getStruct("ep")); + new_.setStruct("ep", old.getStruct("sp")); +} finally { +LEAVING("10wbtt4gwnxgqutinpj4ymjpk","swap_bezier"); +} +} + + + + +//3 3256l3e2huarsy29dd97vqj85 +// static void swap_spline(splines * s) +public static void swap_spline(splines s) { +ENTERING("3256l3e2huarsy29dd97vqj85","swap_spline"); +try { + __ptr__ list; + __ptr__ lp; + __ptr__ olp; + int i, sz; + sz = s.getInt("size"); + list = gmalloc(sizeof(bezier.class, sz)); + lp = list; + olp = s.getArrayOfPtr("list").plus(sz - 1).asPtr(); + for (i = 0; i < sz; i++) { /* reverse and swap list of beziers */ + swap_bezier(olp, lp); + olp = olp.plus(-1); + lp = lp.plus(1); + } + /* free old structures */ + for (i = 0; i < sz; i++) + Memory.free(s.getArrayOfPtr("list").plus(i).getPtr().getArrayOfPtr("list")); + Memory.free(s.getArrayOfPtr("list")); + s.setPtr("list", list); +} finally { +LEAVING("3256l3e2huarsy29dd97vqj85","swap_spline"); +} +} + + + + +//3 dgkssqjj566ifra0xy7m46qsb +// static void edge_normalize(graph_t * g) +public static void edge_normalize(Agraph_s g) { +ENTERING("dgkssqjj566ifra0xy7m46qsb","edge_normalize"); +try { + Agedge_s e; + Agnode_s n; + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + if ((Boolean)Z.z().sinfo.call("swapEnds", e) && ED_spl(e)!=null) + swap_spline(ED_spl(e)); + } + } +} finally { +LEAVING("dgkssqjj566ifra0xy7m46qsb","edge_normalize"); +} +} + + + + +//3 bwzdgdea9suuagzueyw8ztx42 +// static void resetRW (graph_t * g) +public static Object resetRW(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("c4vqsmfolc1meewxoebfkyppx"); // resetRW (graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n; +UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { +UNSUPPORTED("b83f20tdode2lz5a49mhmn9ei"); // if (ND_other(n).list) { +UNSUPPORTED("ez6pf4w4vi7z6fqq43v5i3gpv"); // double tmp = ND_rw(n); +UNSUPPORTED("24qsh566odunv14qzj2zan7bz"); // ND_rw(n) = ND_mval(n); +UNSUPPORTED("cgxuqwflawrd9e6dmnsh3sbwa"); // ND_mval(n) = tmp; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9co1bgu5603fx30juwb01faf +// static void setEdgeLabelPos (graph_t * g) +public static Object setEdgeLabelPos(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("7y94r9t4hf6d0ltbie4f323al"); // setEdgeLabelPos (graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n; +UNSUPPORTED("1o9j4rz3dizwsgefis1axd6uw"); // textlabel_t* l; +UNSUPPORTED("cbzhyr6lytrowd5gxn3tg000a"); // /* place regular edge labels */ +UNSUPPORTED("8g62mxpap4eeua2lkn9a1iosi"); // for (n = GD_nlist(g); n; n = ND_next(n)) { +UNSUPPORTED("53rvntgqit26uu0ydhawavshp"); // if (ND_node_type(n) == 1) { +UNSUPPORTED("7sijld2wh9ulkpkumhl6dqqaj"); // if (ND_alg(n)) { // label of non-adjacent flat edge +UNSUPPORTED("5ccfgna84rl1jtgmuk8nbffqy"); // edge_t* fe = (edge_t*)ND_alg(n); +UNSUPPORTED("8rofnso8jnaa77ukvfpwruvyx"); // assert ((l = ED_label(fe))); +UNSUPPORTED("ak1kh1v4u9s5kof1svwbc6ssr"); // l->pos = ND_coord(n); +UNSUPPORTED("9ehteylkrnipypq5s9c6jjm67"); // l->set = NOT(0); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("15c8rehrm31gtqtwrj9r863k5"); // else if ((l = ND_label(n))) {// label of regular edge +UNSUPPORTED("3i64wd6mr21h7x0hadumabd5r"); // place_vnlabel(n); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("mlknwb70zhu4paqbncp6enq9"); // if (l) updateBB(g, l); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6agx6m2qof9lg57co232lwakj +// static void _dot_splines(graph_t * g, int normalize) +static void _dot_splines(Agraph_s g, int normalize) +{ +ENTERING("6agx6m2qof9lg57co232lwakj","_dot_splines"); +try { + int i, j, k, n_nodes, n_edges, ind, cnt; + Agnode_s n; + final __struct__<Agedgeinfo_t> fwdedgeai = JUtils.from(Agedgeinfo_t.class), fwdedgebi = JUtils.from(Agedgeinfo_t.class); + final __struct__<Agedgepair_s> fwdedgea = JUtils.from(Agedgepair_s.class), fwdedgeb = JUtils.from(Agedgepair_s.class); + Agedge_s e, e0, e1, ea, eb, le0, le1; + __ptr__ edges; + path P; + final __struct__<spline_info_t> sd = JUtils.from(spline_info_t.class); + int et = (GD_flags(g) & (7 << 1)); + fwdedgea.getStruct("out").getStruct("base").setPtr("data", fwdedgeai.amp()); + fwdedgeb.getStruct("out").getStruct("base").setPtr("data", fwdedgebi.amp()); + if (et == (0 << 1)) return; + if (et == (2 << 1)) { + resetRW (g); + if ((GD_has_labels(g) & (1 << 0))!=0) { +UNSUPPORTED("4k888z8ymdp2b653twxc1ugbu"); // agerr (AGWARN, "edge labels with splines=curved not supported in dot - use xlabels\n"); + } + for (n = agfstnode (g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(g, n); e!=null; e = agnxtout(g,e)) { + makeStraightEdge(g, e, et, Z.z().sinfo); + } + } +UNSUPPORTED("46btiag50nczzur103eqhjcup"); // goto finish; + } + mark_lowclusters(g); + if (routesplinesinit()!=0) return; + P = (path) zmalloc(sizeof(path.class)); + /* FlatHeight = 2 * GD_nodesep(g); */ + sd.setInt("Splinesep", GD_nodesep(g) / 4); + sd.setInt("Multisep", GD_nodesep(g)); + edges = zmalloc(sizeof_starstar_empty(Agedge_s.class, 128)); + /* compute boundaries and list of splines */ + sd.setInt("RightBound", 0); + sd.setInt("LeftBound", 0); + n_edges = n_nodes = 0; + for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { + n_nodes += GD_rank(g).plus(i).getInt("n"); + if ((n = (Agnode_s) GD_rank(g).plus(i).getArrayOfPtr("v").plus(0).getPtr())!=null) + sd.setInt("LeftBound", (int)MIN(sd.getInt("LeftBound"), (ND_coord(n).getDouble("x") - ND_lw(n)))); + if (GD_rank(g).plus(i).getInt("n")!=0 && (n = (Agnode_s) GD_rank(g).plus(i).getArrayOfPtr("v").plus(GD_rank(g).plus(i).getInt("n") - 1).getPtr())!=null) + sd.setInt("RightBound", (int)MAX(sd.getInt("RightBound"), (ND_coord(n).getDouble("x") + ND_rw(n)))); + sd.setInt("LeftBound", sd.getInt("LeftBound") - 16); + sd.setInt("RightBound", sd.getInt("RightBound") + 16); + for (j = 0; j < GD_rank(g).plus(i).getInt("n"); j++) { + n = (Agnode_s) GD_rank(g).plus(i).getArrayOfPtr("v").plus(j).getPtr(); + /* if n is the label of a flat edge, copy its position to + * the label. + */ + if (ND_alg(n)!=null) { + Agedge_s fe = (Agedge_s) ND_alg(n); + assert (ED_label(fe)!=null); + ED_label(fe).setStruct("pos", ND_coord(n)); + ED_label(fe).setBoolean("set", NOT(false)); + } + if ((ND_node_type(n) != 0) && + ((Boolean)Z.z().sinfo.call("splineMerge", n) == false)) + continue; + for (k = 0; (e = (Agedge_s) ND_out(n).getFromList(k))!=null; k++) { + if ((ED_edge_type(e) == 4) + || (ED_edge_type(e) == 6)) + continue; + setflags(e, 1, 16, 64); + edges.plus(n_edges++).setPtr(e); + if (n_edges % 128 == 0) + edges = ALLOC_empty (n_edges + 128, edges, Agedge_s.class); + } + if (ND_flat_out(n).listNotNull()) + for (k = 0; (e = (Agedge_s) ND_flat_out(n).getFromList(k))!=null; k++) { + setflags(e, 2, 0, 128); + edges.plus(n_edges++).setPtr(e); + if (n_edges % 128 == 0) + edges = ALLOC_empty (n_edges + 128, edges, Agedge_s.class); + } + if (ND_other(n).listNotNull()) { + /* In position, each node has its rw stored in mval and, + * if a node is part of a loop, rw may be increased to + * reflect the loops and associated labels. We restore + * the original value here. + */ + if (ND_node_type(n) == 0) { + double tmp = ND_rw(n); + ND_rw(n, ND_mval(n)); + ND_mval(n, tmp); + } + for (k = 0; (e = (Agedge_s) ND_other(n).getFromList(k))!=null; k++) { + setflags(e, 0, 0, 128); + edges.plus(n_edges++).setPtr(e); + if (n_edges % 128 == 0) + edges = ALLOC_empty (n_edges + 128, edges, Agedge_s.class); + } + } + } + } + /* Sort so that equivalent edges are contiguous. + * Equivalence should basically mean that 2 edges have the + * same set {(tailnode,tailport),(headnode,headport)}, or + * alternatively, the edges would be routed identically if + * routed separately. + */ + LOG2("_dot_splines::n_edges="+n_edges); + qsort(edges, + n_edges, + sizeof(edges.plus(0)), + function(dotsplines__c.class, "edgecmp")); + /* FIXME: just how many boxes can there be? */ + P.setPtr("boxes", zmalloc(sizeof(boxf.class, n_nodes + 20 * 2 * 9))); + sd.setPtr("Rank_box", zmalloc(sizeof(boxf.class, i))); + if (et == (1 << 1)) { + /* place regular edge labels */ + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + if ((ND_node_type(n) == 1) && (ND_label(n)!=null)) { + place_vnlabel(n); + } + } + } + for (i = 0; i < n_edges;) { + boolean havePorts; + ind = i; + le0 = getmainedge((e0 = (Agedge_s) edges.plus(i++).getPtr())); + if (ED_tail_port(e0).defined!=0 || ED_head_port(e0).defined!=0) { + havePorts = NOT(false); + ea = e0; + } else { + havePorts = false; + ea = le0; + } + if ((ED_tree_index(ea) & 32)!=0) { + MAKEFWDEDGE(fwdedgea.getStruct("out").amp(), ea); + ea = (Agedge_s) fwdedgea.getStruct("out").amp(); + } + for (cnt = 1; i < n_edges; cnt++, i++) { + if (NEQ(le0, (le1 = getmainedge((e1 = (Agedge_s) edges.plus(i).getPtr()))))) + break; + if (ED_adjacent(e0)!=0) continue; /* all flat adjacent edges at once */ + if (ED_tail_port(e1).defined!=0 || ED_head_port(e1).defined!=0) { + if (N(havePorts)) break; + else + eb = e1; + } else { + if (havePorts) break; + else + eb = le1; + } + if ((ED_tree_index(eb) & 32)!=0) { + MAKEFWDEDGE(fwdedgeb.getStruct("out").amp(), eb); + eb = (Agedge_s) fwdedgeb.getStruct("out").amp(); + } + if (portcmp(ED_tail_port(ea), ED_tail_port(eb))!=0) + break; + if (portcmp(ED_head_port(ea), ED_head_port(eb))!=0) + break; + if ((ED_tree_index(e0) & 15) == 2 + && NEQ(ED_label(e0), ED_label(e1))) + break; + if ((ED_tree_index(edges.plus(i).getPtr()) & 64)!=0) /* Aha! -C is on */ + break; + } + if (EQ(agtail(e0), aghead(e0))) { + int b, sizey, r; + n = agtail(e0); + r = ND_rank(n); + if (r == GD_maxrank(g)) { + if (r > 0) + sizey = (int) (ND_coord(GD_rank(g).plus(r-1).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y") - ND_coord(n).getDouble("y")); + else + sizey = (int) ND_ht(n); + } + else if (r == GD_minrank(g)) { + sizey = (int)(ND_coord(n).getDouble("y") - ND_coord(GD_rank(g).plus(r+1).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y")); + } + else { + int upy = (int) (ND_coord(GD_rank(g).plus(r-1).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y") - ND_coord(n).getDouble("y")); + int dwny = (int) (ND_coord(n).getDouble("y") - ND_coord(GD_rank(g).plus(r+1).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y")); + sizey = MIN(upy, dwny); + } + makeSelfEdge(P, edges, ind, cnt, sd.getInt("Multisep"), sizey/2, Z.z().sinfo.amp()); + for (b = 0; b < cnt; b++) { + e = (Agedge_s) edges.plus(ind+b).getPtr(); + if (ED_label(e)!=null) + updateBB(g, ED_label(e)); + } + } + else if (ND_rank(agtail(e0)) == ND_rank(aghead(e0))) { + make_flat_edge(g, sd.amp(), P, edges, ind, cnt, et); + } + else + make_regular_edge(g, sd.amp(), P, edges, ind, cnt, et); + } + /* place regular edge labels */ + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + if ((ND_node_type(n) == 1) && (ND_label(n))!=null) { + place_vnlabel(n); + updateBB(g, ND_label(n)); + } + } + /* normalize splines so they always go from tail to head */ + /* place_portlabel relies on this being done first */ + if (normalize!=0) + edge_normalize(g); +finish : + /* vladimir: place port labels */ + /* FIX: head and tail labels are not part of cluster bbox */ + if ((Z.z().E_headlabel!=null || Z.z().E_taillabel!=null) && (Z.z().E_labelangle!=null || Z.z().E_labeldistance!=null)) { +UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("54jm4bbgzyl0txauszo1mappu"); // if (E_headlabel) { +UNSUPPORTED("dw8yu56thd0wpolmtby8r5doo"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) +UNSUPPORTED("4h39n1vkqyqszgmg2o7d2pw7z"); // if (ED_head_label(AGMKOUT(e))) { +UNSUPPORTED("ex7h0x60y0l4oi3dsqg7sfk1t"); // place_portlabel(AGMKOUT(e), NOT(0)); +UNSUPPORTED("9u960ou1xs0cdsdn0qe8a13ye"); // updateBB(g, ED_head_label(AGMKOUT(e))); +UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("cqi8doquf015wo1bw8on36qct"); // if (E_taillabel) { +UNSUPPORTED("6gnq0yj07udpwxbuc86k8yysb"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("ejz8yrj8mh0l0gdl5zeaht1ex"); // if (ED_tail_label(e)) { +UNSUPPORTED("9pdg7peez077ldl84zfh73o1w"); // if (place_portlabel(e, 0)) +UNSUPPORTED("6jup6d9gfnx4b1wptmtw09n6w"); // updateBB(g, ED_tail_label(e)); +UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } + } + /* end vladimir */ + if (et != (2 << 1)) { + Memory.free(edges); + Memory.free(P.getPtr("boxes")); + Memory.free(P); + Memory.free(sd.getPtr("Rank_box")); + routesplinesterm(); + } + Z.z().State = 1; + Z.z().EdgeLabelsDone = 1; +} finally { +LEAVING("6agx6m2qof9lg57co232lwakj","_dot_splines"); +} +} + + + + +//3 5n306wbdfjbfnimdo9lg6jjaa +// void dot_splines(graph_t * g) +public static void dot_splines(Agraph_s g) { +ENTERING("5n306wbdfjbfnimdo9lg6jjaa","dot_splines"); +try { + _dot_splines (g, 1); +} finally { +LEAVING("5n306wbdfjbfnimdo9lg6jjaa","dot_splines"); +} +} + + + + +//3 8jja9ukzsq8tlb9yy7uzavg91 +// static void place_vnlabel(node_t * n) +public static void place_vnlabel(Agnode_s n) { +ENTERING("8jja9ukzsq8tlb9yy7uzavg91","place_vnlabel"); +try { + final __struct__<pointf> dimen = JUtils.from(pointf.class); + double width; + Agedge_s e; + if (ND_in(n).size == 0) + return; /* skip flat edge labels here */ + for (e = (Agedge_s) ND_out(n).getFromList(0); ED_edge_type(e) != 0; + e = ED_to_orig(e)); + dimen.___(ED_label(e).getStruct("dimen")); + width = GD_flip(agraphof(n))!=0 ? dimen.getDouble("y") : dimen.getDouble("x"); + ED_label(e).getStruct("pos").setDouble("x", ND_coord(n).getDouble("x") + width / 2.0); + ED_label(e).getStruct("pos").setDouble("y", ND_coord(n).getDouble("y")); + ED_label(e).setBoolean("set", NOT(false)); +} finally { +LEAVING("8jja9ukzsq8tlb9yy7uzavg91","place_vnlabel"); +} +} + + + + +//3 598jn37hjkm7j0kcg2nmdvlwq +// static void setflags(edge_t *e, int hint1, int hint2, int f3) +public static void setflags(Agedge_s e, int hint1, int hint2, int f3) { +ENTERING("598jn37hjkm7j0kcg2nmdvlwq","setflags"); +try { + int f1, f2; + if (hint1 != 0) + f1 = hint1; + else { + if (EQ(agtail(e), aghead(e))) + if (ED_tail_port(e).defined!=0 || ED_head_port(e).defined!=0) + f1 = 4; + else + f1 = 8; + else if (ND_rank(agtail(e)) == ND_rank(aghead(e))) + f1 = 2; + else + f1 = 1; + } + if (hint2 != 0) + f2 = hint2; + else { + if (f1 == 1) + f2 = (ND_rank(agtail(e)) < ND_rank(aghead(e))) ? 16 : 32; + else if (f1 == 2) + f2 = (ND_order(agtail(e)) < ND_order(aghead(e))) ? 16 : 32; + else /* f1 == SELF*EDGE */ + f2 = 16; + } + ED_tree_index(e, (f1 | f2 | f3)); +} finally { +LEAVING("598jn37hjkm7j0kcg2nmdvlwq","setflags"); +} +} + + + + +//3 1nf1s6wkn35ptjn884ii56fh +// static int edgecmp(edge_t** ptr0, edge_t** ptr1) +public static int edgecmp(__ptr__ ptr0, __ptr__ ptr1) { +ENTERING("1nf1s6wkn35ptjn884ii56fh","edgecmp"); +try { + final __struct__<Agedgeinfo_t> fwdedgeai = JUtils.from(Agedgeinfo_t.class), fwdedgebi = JUtils.from(Agedgeinfo_t.class); + final __struct__<Agedgepair_s> fwdedgea = JUtils.from(Agedgepair_s.class), fwdedgeb = JUtils.from(Agedgepair_s.class); + Agedge_s e0, e1, ea, eb, le0, le1; + int et0, et1, v0, v1, rv; + double t0, t1; + fwdedgea.getStruct("out").getStruct("base").setPtr("data", fwdedgeai.amp()); + fwdedgeb.getStruct("out").getStruct("base").setPtr("data", fwdedgebi.amp()); + e0 = (Agedge_s) ptr0.getPtr(); + e1 = (Agedge_s) ptr1.getPtr(); + et0 = ED_tree_index(e0) & 15; + et1 = ED_tree_index(e1) & 15; + if (et0 != et1) + return (et1 - et0); + le0 = getmainedge(e0); + le1 = getmainedge(e1); + t0 = ND_rank(agtail(le0)) - ND_rank(aghead(le0)); + t1 = ND_rank(agtail(le1)) - ND_rank(aghead(le1)); + v0 = ABS((int)t0); /* ugly, but explicit as to how we avoid equality tests on fp numbers */ + v1 = ABS((int)t1); + if (v0 != v1) + return (v0 - v1); + t0 = ND_coord(agtail(le0)).getDouble("x") - ND_coord(aghead(le0)).getDouble("x"); + t1 = ND_coord(agtail(le1)).getDouble("x") - ND_coord(aghead(le1)).getDouble("x"); + v0 = ABS((int)t0); + v1 = ABS((int)t1); + if (v0 != v1) + return (v0 - v1); + /* This provides a cheap test for edges having the same set of endpoints. */ + if (AGSEQ(le0) != AGSEQ(le1)) + return (AGSEQ(le0) - AGSEQ(le1)); + ea = (ED_tail_port(e0).defined!=0 || ED_head_port(e0).defined!=0) ? e0 : le0; + if ((ED_tree_index(ea) & 32)!=0) { + MAKEFWDEDGE(fwdedgea.getStruct("out").amp(), ea); + ea = fwdedgea.getStruct("out").amp(); + } + eb = (ED_tail_port(e1).defined!=0 || ED_head_port(e1).defined!=0) ? e1 : le1; + if ((ED_tree_index(eb) & 32)!=0) { + MAKEFWDEDGE(fwdedgeb.getStruct("out").amp(), eb); + eb = fwdedgeb.getStruct("out").amp(); + } + if ((rv = portcmp(ED_tail_port(ea), ED_tail_port(eb)))!=0) + return rv; + if ((rv = portcmp(ED_head_port(ea), ED_head_port(eb)))!=0) + return rv; + et0 = ED_tree_index(e0) & 192; + et1 = ED_tree_index(e1) & 192; + if (et0 != et1) + return (et0 - et1); + if (et0 == 2 && NEQ(ED_label(e0), ED_label(e1))) + UNSUPPORTED("return (int) (ED_label(e0) - ED_label(e1))"); + return (AGSEQ(e0) - AGSEQ(e1)); +} finally { +LEAVING("1nf1s6wkn35ptjn884ii56fh","edgecmp"); +} +} + + + + +//3 djq8tev8thshox7bob64vi0tf +// static void setState (graph_t* auxg, attr_state_t* attr_state) +public static Object setState(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("7ovh16jwyjc9wtu0rfxnlws9r"); // setState (graph_t* auxg, attr_state_t* attr_state) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("1ko3jd94xpoli03tk73ardy84"); // /* save state */ +UNSUPPORTED("3ibgalw3fchq736xx1ozbvh27"); // attr_state->E_constr = E_constr; +UNSUPPORTED("e9yatqfh98i71w3v1jcx1agi9"); // attr_state->E_samehead = E_samehead; +UNSUPPORTED("57rkvwknyk9urdhck24todttg"); // attr_state->E_sametail = E_sametail; +UNSUPPORTED("4y5i0lqx0ze46l88ehzdh2x1z"); // attr_state->E_weight = E_weight; +UNSUPPORTED("3yryq1e1hmam5hqciu93ywjj2"); // attr_state->E_minlen = E_minlen; +UNSUPPORTED("1n91lxusirg2v758j4v9o9hcg"); // attr_state->E_fontcolor = E_fontcolor; +UNSUPPORTED("1ssj9fq3o1sm21ggttj4r3mo0"); // attr_state->E_fontname = E_fontname; +UNSUPPORTED("45ntpz46gx7j2hfu2r6ceescw"); // attr_state->E_fontsize = E_fontsize; +UNSUPPORTED("6vxi0wxhhjg065ishw2vebsqv"); // attr_state->E_headclip = E_headclip; +UNSUPPORTED("aqu557ovwt2k4j894b5p9dssa"); // attr_state->E_headlabel = E_headlabel; +UNSUPPORTED("6shb2vynxxgck2x8e8oz63ye"); // attr_state->E_label = E_label; +UNSUPPORTED("84eq22wy1zlxwofo8cwwbddbb"); // attr_state->E_label_float = E_label_float; +UNSUPPORTED("czndn89byb90jujvx2sudb6d6"); // attr_state->E_labelfontcolor = E_labelfontcolor; +UNSUPPORTED("385rz6p4kom75dmgvepqmxlrq"); // attr_state->E_labelfontname = E_labelfontname; +UNSUPPORTED("397fs88n9xnlcqo4z8at7j66s"); // attr_state->E_labelfontsize = E_labelfontsize; +UNSUPPORTED("f2nu6sif9lmukmlj2um7gnxns"); // attr_state->E_tailclip = E_tailclip; +UNSUPPORTED("3ctu9gb3ojun885w9ymnch0er"); // attr_state->E_taillabel = E_taillabel; +UNSUPPORTED("qiafl7ru9bq54qol6lov5rgm"); // attr_state->E_xlabel = E_xlabel; +UNSUPPORTED("ap9hj5xd4dfmwws8egpgvk5ti"); // attr_state->N_height = N_height; +UNSUPPORTED("ctvaloqgyn45in0jdkkvdpf6g"); // attr_state->N_width = N_width; +UNSUPPORTED("75ey3ud905155tfmw9zapeawj"); // attr_state->N_shape = N_shape; +UNSUPPORTED("19bnzpge8znnwzna8ub6otjze"); // attr_state->N_style = N_style; +UNSUPPORTED("6242e8neunx553zs7jb52e2i3"); // attr_state->N_fontsize = N_fontsize; +UNSUPPORTED("1rjcall3fixy49t0s4bcdgoho"); // attr_state->N_fontname = N_fontname; +UNSUPPORTED("1bj2vtyz3gettntmktngyjv02"); // attr_state->N_fontcolor = N_fontcolor; +UNSUPPORTED("1mj5q5f1eft9otmsuyiadl54z"); // attr_state->N_label = N_label; +UNSUPPORTED("5lkkhmgpur2i2arkoxbpb8lse"); // attr_state->N_xlabel = N_xlabel; +UNSUPPORTED("3c9tzymzuj2wkftyepa2epzur"); // attr_state->N_showboxes = N_showboxes; +UNSUPPORTED("9urvz64idw6yth9938puegx1d"); // attr_state->N_ordering = N_ordering; +UNSUPPORTED("9wqn3lttroloie8t4urgw9dwl"); // attr_state->N_sides = N_sides; +UNSUPPORTED("7aovr97vmuic712quqt6n4gkd"); // attr_state->N_peripheries = N_peripheries; +UNSUPPORTED("dc9knw1esnnr7j77so6k8zblk"); // attr_state->N_skew = N_skew; +UNSUPPORTED("eoium8gqo2cgsjv87c20ixx5k"); // attr_state->N_orientation = N_orientation; +UNSUPPORTED("aq6is6cduc5wvclu1hjacuyk0"); // attr_state->N_distortion = N_distortion; +UNSUPPORTED("3w13k0cqxkk8gniu6ydy3qii6"); // attr_state->N_fixed = N_fixed; +UNSUPPORTED("32p2drvqb6h9n0118du912gv0"); // attr_state->N_nojustify = N_nojustify; +UNSUPPORTED("e2hsbuo1kd2fghtopje0lfp2b"); // attr_state->N_group = N_group; +UNSUPPORTED("74w0uzukx3derbgpgi60dzyyg"); // attr_state->State = State; +UNSUPPORTED("936fjorw02qiz50qpj7y6en2m"); // attr_state->G_ordering = G_ordering; +UNSUPPORTED("2l0v2tecrgmws3to99rcimxzm"); // E_constr = NULL; +UNSUPPORTED("93dfyiz6pxq59j6ujx97hdd0c"); // E_samehead = agattr(auxg,AGEDGE, "samehead", NULL); +UNSUPPORTED("7kovxag1wgr874sgxwpz7ls6a"); // E_sametail = agattr(auxg,AGEDGE, "sametail", NULL); +UNSUPPORTED("295z0g5v309fbrrdopfy66rf4"); // E_weight = agattr(auxg,AGEDGE, "weight", NULL); +UNSUPPORTED("3uo53r92k5fuzy9gb2i1k7612"); // if (!E_weight) +UNSUPPORTED("4oq1f4cnu0hk0xm34kx9m79le"); // E_weight = agattr (auxg,AGEDGE,"weight", ""); +UNSUPPORTED("aoqamti27wg8hvpyho5xmdc9"); // E_minlen = NULL; +UNSUPPORTED("8jzaf5sdfgbpqx8y0squconvr"); // E_fontcolor = NULL; +UNSUPPORTED("25csaeghkl1rd5cha609fm2vm"); // E_fontname = (agattr(auxg,AGEDGE,"fontname",NULL)); +UNSUPPORTED("d9ivs4hv5xdhsxwh8oz1dri02"); // E_fontsize = (agattr(auxg,AGEDGE,"fontsize",NULL)); +UNSUPPORTED("djpd3vd7suatk0n76mplhzog4"); // E_headclip = (agattr(auxg,AGEDGE,"headclip",NULL)); +UNSUPPORTED("8fy5jrgw22q72jvvjmqh6ajjb"); // E_headlabel = NULL; +UNSUPPORTED("93a15wlfj0tmijeeyd1qb12v6"); // E_label = (agattr(auxg,AGEDGE,"label",NULL)); +UNSUPPORTED("2l6gmyi1pz4cv9i29k4u3mpjf"); // E_label_float = (agattr(auxg,AGEDGE,"label_float",NULL)); +UNSUPPORTED("dcp5qxpq37yer9cipch7q2oc4"); // E_labelfontcolor = NULL; +UNSUPPORTED("133ni5qwdb96od0wcma7hj05h"); // E_labelfontname = (agattr(auxg,AGEDGE,"labelfontname",NULL)); +UNSUPPORTED("cq9n4kf29qgqy1ll6gandld7f"); // E_labelfontsize = (agattr(auxg,AGEDGE,"labelfontsize",NULL)); +UNSUPPORTED("2l9pqb0sug1sr8dlojy1gvik0"); // E_tailclip = (agattr(auxg,AGEDGE,"tailclip",NULL)); +UNSUPPORTED("9a173t42nyif5cx0ee6c4qos2"); // E_taillabel = NULL; +UNSUPPORTED("pu58ta2e8cevjt84brxtyecs"); // E_xlabel = NULL; +UNSUPPORTED("2p7j1fghgsib6tkic2cc1t601"); // N_height = (agattr(auxg,AGNODE,"height",NULL)); +UNSUPPORTED("49eok3z6e4piel4m6f7rk8fb6"); // N_width = (agattr(auxg,AGNODE,"width",NULL)); +UNSUPPORTED("8cyc904mtcb0zlwybzrqxujrv"); // N_shape = (agattr(auxg,AGNODE,"shape",NULL)); +UNSUPPORTED("1ggb495lty2zumaw3qh2d3ssd"); // N_style = NULL; +UNSUPPORTED("6hcb194pxn8upijardzdy3v2a"); // N_fontsize = (agattr(auxg,AGNODE,"fontsize",NULL)); +UNSUPPORTED("e1cg6m56w3uwo3m2dfdh71o5x"); // N_fontname = (agattr(auxg,AGNODE,"fontname",NULL)); +UNSUPPORTED("1gjzz1tv51zd3vsgyc6b8dfdz"); // N_fontcolor = NULL; +UNSUPPORTED("42y8wmut30tkdxrxdvh5v8xtz"); // N_label = (agattr(auxg,AGNODE,"label",NULL)); +UNSUPPORTED("7jni9lzv0nagk8mnil6vsgzpt"); // N_xlabel = NULL; +UNSUPPORTED("5hshk2a2mwuk7cjxsc4mzky7g"); // N_showboxes = NULL; +UNSUPPORTED("1j63bq1sarpj53iwvo4ynyeck"); // N_ordering = (agattr(auxg,AGNODE,"ordering",NULL)); +UNSUPPORTED("7yaoaugb8cqh7ksl8w4i4utlv"); // N_sides = (agattr(auxg,AGNODE,"sides",NULL)); +UNSUPPORTED("15x8xrchzah7wcc5ukej42hut"); // N_peripheries = (agattr(auxg,AGNODE,"peripheries",NULL)); +UNSUPPORTED("dcu49fws0uvo8falspy1lno4k"); // N_skew = (agattr(auxg,AGNODE,"skew",NULL)); +UNSUPPORTED("bvjg1ch1pmuvfhvf5ubyrqhl3"); // N_orientation = (agattr(auxg,AGNODE,"orientation",NULL)); +UNSUPPORTED("b67lzfds2wabbxqa4qaoj0iv8"); // N_distortion = (agattr(auxg,AGNODE,"distortion",NULL)); +UNSUPPORTED("yet2s8h61hoih7vba5lhvbn"); // N_fixed = (agattr(auxg,AGNODE,"fixed",NULL)); +UNSUPPORTED("dv9ccs2r6bgkfuzvquyym1z1k"); // N_nojustify = NULL; +UNSUPPORTED("7kwmsq3m3f4oe4jyi2hzkq544"); // N_group = NULL; +UNSUPPORTED("3lqtt3u3nf2945mjpkjcw6s48"); // G_ordering = (agattr(auxg,AGRAPH,"ordering",NULL)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 14hhte1l3zo45pzop5ugwahiv +// static graph_t* cloneGraph (graph_t* g, attr_state_t* attr_state) +public static Object cloneGraph(Object... arg) { +UNSUPPORTED("9bkg8lvj5zr49zg08g7iijeg0"); // static graph_t* +UNSUPPORTED("4uq8e6159vvwjuygnnrtonzjr"); // cloneGraph (graph_t* g, attr_state_t* attr_state) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("d4lkyrfdivg76lnwroshuwy1r"); // Agsym_t* sym; +UNSUPPORTED("8scmnlh4aqjfli9hjn7snnhb2"); // graph_t* auxg; +UNSUPPORTED("9wn75gbfikchs3m5ip8uqbqp9"); // if (agisdirected(g)) +UNSUPPORTED("bc2kavqqh860759qs0rw39g9w"); // auxg = agopen ("auxg",Agdirected, ((Agdisc_t *)0)); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("41dm8ksorga6af1u82vvp2o08"); // auxg = agopen ("auxg",Agundirected, ((Agdisc_t *)0)); +UNSUPPORTED("dvx3r3ba8ihb3ho0irr3iflz9"); // agbindrec(auxg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); +UNSUPPORTED("8o4tyxwwt6nurmyulizd8yx4h"); // agattr(auxg, AGRAPH, "rank", ""); +UNSUPPORTED("4azamavz8yei4klxixxjkjdzy"); // GD_drawing(auxg) = (layout_t*)zmalloc(sizeof(layout_t)); +UNSUPPORTED("bl2bbfcsejbdva171i3uuah14"); // GD_drawing(auxg)->quantum = GD_drawing(g)->quantum; +UNSUPPORTED("96jzn981deono0qtt4353wjnd"); // GD_drawing(auxg)->dpi = GD_drawing(g)->dpi; +UNSUPPORTED("am2ry0w98859w4vlnhjmoegj2"); // GD_charset(auxg) = GD_charset (g); +UNSUPPORTED("8qqdurbqk0iszxbs1xz13bx72"); // if (GD_flip(g)) +UNSUPPORTED("dldh0wwkfscuwx8vmqd78zne6"); // (GD_rankdir2(auxg) = 0); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("a1gxjxg6ob083fwqk6gac69va"); // (GD_rankdir2(auxg) = 1); +UNSUPPORTED("94df1x35koj4u57phwmdtoipp"); // GD_nodesep(auxg) = GD_nodesep(g); +UNSUPPORTED("m7a4df7fb58fj3qpf7ocrnth"); // GD_ranksep(auxg) = GD_ranksep(g); +UNSUPPORTED("ehand70vpsfxy8xo2usw3sdpd"); // //copy node attrs to auxg +UNSUPPORTED("ee6l5a5uekrqgzpa1tzzvn8lu"); // sym=agnxtattr(agroot(g),AGNODE,NULL); //get the first attr. +UNSUPPORTED("e9gle5ohw021fnltrv101u94f"); // for (; sym; sym = agnxtattr(agroot(g),AGNODE,sym)) +UNSUPPORTED("4mgrl284otjjxa13ifyvsix9o"); // agattr (auxg, AGNODE,sym->name, sym->defval); +UNSUPPORTED("8l0npxgg53xbodt3h5bsxaf1u"); // //copy edge attributes +UNSUPPORTED("d0l2zhgn9atu49ot95sjvnjx7"); // sym=agnxtattr(agroot(g),AGEDGE,NULL); //get the first attr. +UNSUPPORTED("2syhqyxjtl43g8k8nszcgv3qa"); // for (; sym; sym = agnxtattr(agroot(g),AGEDGE,sym)) +UNSUPPORTED("7ne23vf4nlppvlnjcbkj9xj7s"); // agattr (auxg, AGEDGE,sym->name, sym->defval); +UNSUPPORTED("dbdwjxpzch7ieese5oq712h84"); // if (!agattr(auxg,AGEDGE, "headport", NULL)) +UNSUPPORTED("8e9itu32gwm54e46x9vefuuc"); // agattr(auxg,AGEDGE, "headport", ""); +UNSUPPORTED("8d6592shcigbk3cnbs3g6zd5o"); // if (!agattr(auxg,AGEDGE, "tailport", NULL)) +UNSUPPORTED("1afdsvho7rpgcscq77epwq7h0"); // agattr(auxg,AGEDGE, "tailport", ""); +UNSUPPORTED("8g7yfvh0djzbxpsk11iys8s73"); // setState (auxg, attr_state); +UNSUPPORTED("84c7zokshe6lxrxoh1l48oh0b"); // return auxg; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 75bd23hms71i6w46oddi0v7c7 +// static void cleanupCloneGraph (graph_t* g, attr_state_t* attr_state) +public static Object cleanupCloneGraph(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("8l276u9l2gpbol4c2u457ic4o"); // cleanupCloneGraph (graph_t* g, attr_state_t* attr_state) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("81hz17qm480gekbimxzqp5917"); // /* restore main graph syms */ +UNSUPPORTED("dyp7mrvrp7pgbjcxvjp3k0rb0"); // E_constr = attr_state->E_constr; +UNSUPPORTED("8x6a3xddh4y42i73tahevx314"); // E_samehead = attr_state->E_samehead; +UNSUPPORTED("cr53qmp35pahyiy1lksf7pc7o"); // E_sametail = attr_state->E_sametail; +UNSUPPORTED("3x6ebo3n7gp5ys2ei418ehbmt"); // E_weight = attr_state->E_weight; +UNSUPPORTED("1ho97fsth1t5vvxc5xlwbtvyp"); // E_minlen = attr_state->E_minlen; +UNSUPPORTED("bfo2q1yt9zej3021f132mqwe6"); // E_fontcolor = attr_state->E_fontcolor; +UNSUPPORTED("caxxsouex07crddgxredl1u2p"); // E_fontname = attr_state->E_fontname; +UNSUPPORTED("etmu0sib2tphqwe1wujlnfrup"); // E_fontsize = attr_state->E_fontsize; +UNSUPPORTED("6gb56lwdjjgzcqilrpq8m22ns"); // E_headclip = attr_state->E_headclip; +UNSUPPORTED("7arkupsho8bk69qdlx5osz58q"); // E_headlabel = attr_state->E_headlabel; +UNSUPPORTED("8dbqaxdoyj9z0pkuwsg9vl0eu"); // E_label = attr_state->E_label; +UNSUPPORTED("k2wg526i4loudvbn7p6a8e68"); // E_label_float = attr_state->E_label_float; +UNSUPPORTED("2tux1z7sjyb58ty6c0bvgfn7u"); // E_labelfontcolor = attr_state->E_labelfontcolor; +UNSUPPORTED("exlraaiion456s8e3xwpxozb4"); // E_labelfontname = attr_state->E_labelfontname; +UNSUPPORTED("31yhqytdbu2odz0oi3cudffo1"); // E_labelfontsize = attr_state->E_labelfontsize; +UNSUPPORTED("frcohw4vy68cah25ckm1cobw"); // E_tailclip = attr_state->E_tailclip; +UNSUPPORTED("2z89ojbnte8kwtr9jotk499fc"); // E_taillabel = attr_state->E_taillabel; +UNSUPPORTED("3ujqfey1gvz17vmhn9w63qxob"); // E_xlabel = attr_state->E_xlabel; +UNSUPPORTED("atq6bae3mv1qr8egljjfsrit6"); // N_height = attr_state->N_height; +UNSUPPORTED("aiqf0nz6dfedq2jwgmajnranb"); // N_width = attr_state->N_width; +UNSUPPORTED("dt3zktdkst02y23fr3owwe9b9"); // N_shape = attr_state->N_shape; +UNSUPPORTED("6pul6vxncmyc96hnj7hoh9xlv"); // N_style = attr_state->N_style; +UNSUPPORTED("bbr363noiuq4fiv6dc11hrgki"); // N_fontsize = attr_state->N_fontsize; +UNSUPPORTED("5jr71bz21o8ex4piwuj7cyf35"); // N_fontname = attr_state->N_fontname; +UNSUPPORTED("muitbco7ytv8yr71bth3vd45"); // N_fontcolor = attr_state->N_fontcolor; +UNSUPPORTED("gz675ugjp8z2xgply33d6llr"); // N_label = attr_state->N_label; +UNSUPPORTED("3l56ed3d2ocqttxq2mwcaxrs"); // N_xlabel = attr_state->N_xlabel; +UNSUPPORTED("2fmh1t4tflmptq1d2wqygd7qt"); // N_showboxes = attr_state->N_showboxes; +UNSUPPORTED("br7qgmqsjpzi772b9wc7g00x0"); // N_ordering = attr_state->N_ordering; +UNSUPPORTED("cpjgwylhr8d4gvztykf36mf71"); // N_sides = attr_state->N_sides; +UNSUPPORTED("dzvcridjcoqlimn9odmlcn9ao"); // N_peripheries = attr_state->N_peripheries; +UNSUPPORTED("7wd3t9ok31e37hdqtnffwum66"); // N_skew = attr_state->N_skew; +UNSUPPORTED("bkocxpinr1crae21mcidps0"); // N_orientation = attr_state->N_orientation; +UNSUPPORTED("bni1bp9we328ofu8dqwnws3b8"); // N_distortion = attr_state->N_distortion; +UNSUPPORTED("9ni0gtudygio7exe31uyvwwxy"); // N_fixed = attr_state->N_fixed; +UNSUPPORTED("2ep79qyr9wgfu8hyateqngx4o"); // N_nojustify = attr_state->N_nojustify; +UNSUPPORTED("77t5uu3931h080u18f50zr0qw"); // N_group = attr_state->N_group; +UNSUPPORTED("1czw51da8yggj3mvb5v6dircs"); // G_ordering = attr_state->G_ordering; +UNSUPPORTED("60kkiysc7uy667s1kr04csskc"); // State = attr_state->State; +UNSUPPORTED("9wfeu3yikah30i1eq789pb1dc"); // free (attr_state); +UNSUPPORTED("2tv8es032rxzavamw0dgvm53h"); // dot_cleanup(g); +UNSUPPORTED("ego3r1tvwrpv2hie8y9p8vq4z"); // agclose(g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 19tqa2ag8idq1y6l3zslax8e8 +// static node_t* cloneNode (graph_t* g, node_t* orign, int flipped) +public static Object cloneNode(Object... arg) { +UNSUPPORTED("b9dd3satxbh59hljdxzcxecc"); // static node_t* +UNSUPPORTED("o807sh2podu4gxrp6mweyg3p"); // cloneNode (graph_t* g, node_t* orign, int flipped) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9mlzre34kwhn9wm44mck7e8li"); // node_t* n = agnode(g, agnameof(orign),1); +UNSUPPORTED("21wqfabmz2qk7g2vnunyyw1n8"); // agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); +UNSUPPORTED("80tteudx6zbkyxy4erhh0fqeo"); // agcopyattr (orign, n); +UNSUPPORTED("65o4lsnpkxraq4wik0gzbv3g3"); // if (shapeOf(orign) == SH_RECORD) { +UNSUPPORTED("7w0wn4e9gizbzrsqcre4pnx7"); // int lbllen = strlen(ND_label(orign)->text); +UNSUPPORTED("3avq2zh3wpi2nrhofz3l9esev"); // char* buf = (char*)gmalloc((lbllen+3)*sizeof(char)); +UNSUPPORTED("bbilsao6wizinl5kripcoya9d"); // sprintf (buf, "{%s}", ND_label(orign)->text); +UNSUPPORTED("e93wd087tiy2p8rvqlme93ynm"); // agset (n, "label", buf); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 eqzwnj9u1k6ij1842mph3kly9 +// static edge_t* cloneEdge (graph_t* g, node_t* tn, node_t* hn, edge_t* orig) +public static Object cloneEdge(Object... arg) { +UNSUPPORTED("adyfsyiyu158mwhrtm33biik2"); // static edge_t* +UNSUPPORTED("cpg8ogbdq9zzrqiadh2q271ky"); // cloneEdge (graph_t* g, node_t* tn, node_t* hn, edge_t* orig) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("mdnixwzb9bm22acv2mbc4yo2"); // edge_t* e = agedge(g, tn, hn,NULL,1); +UNSUPPORTED("ce403szny1a2xoli6uh7ocakq"); // /* for (; ED_edge_type(orig) != NORMAL; orig = ED_to_orig(orig)); */ +UNSUPPORTED("554nt9t4qnutd0wixwbpok522"); // agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), NOT(0)); +UNSUPPORTED("6yfr23jllhpfychz887mht80b"); // agcopyattr (orig, e); +UNSUPPORTED("4v614d3uabme2jyn0anuritbb"); // /* +UNSUPPORTED("jgkgn8228j52jq4wc7yo2q8t"); // if (orig->tail != ND_alg(tn)) { +UNSUPPORTED("86dayio2rrehbyot92z4xh4d1"); // char* hdport = agget (orig, HEAD_ID); +UNSUPPORTED("39vbjr08q96wugxyva077qpok"); // char* tlport = agget (orig, TAIL_ID); +UNSUPPORTED("3z0livr6yj8gkkuxtvqwrqy95"); // agset (e, TAIL_ID, (hdport ? hdport : "")); +UNSUPPORTED("dilecd9q5c2tj0pnl7tfwgixx"); // agset (e, HEAD_ID, (tlport ? tlport : "")); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ +UNSUPPORTED("2bswif6w6ot01ynlvkimntfly"); // return e; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 3zb2qrqaqzr6n3m7dgxp4pmrp +// static pointf transformf (pointf p, pointf del, int flip) +public static Object transformf(Object... arg) { +UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf +UNSUPPORTED("a59oomtgi9wbd42kpsaaref6e"); // transformf (pointf p, pointf del, int flip) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9wlzvfxuhvsgkkq6lvlrw01d2"); // if (flip) { +UNSUPPORTED("3vhnqvj1whk5vk9hofkhjtksr"); // double i = p.x; +UNSUPPORTED("9sla4yejg4e4tlklijoil9k4u"); // p.x = p.y; +UNSUPPORTED("688l858wkw5j2uqosjyesr15h"); // p.y = -i; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("890s36h0fh77q487p72cjtyz"); // return add_pointf(p, del); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bmsa24i3avg14po4sp17yh89k +// static int edgelblcmpfn(edge_t** ptr0, edge_t** ptr1) +public static int edgelblcmpfn(__ptr__ ptr0, __ptr__ ptr1) { +ENTERING("bmsa24i3avg14po4sp17yh89k","edgelblcmpfn"); +try { + Agedge_s e0, e1; + final __struct__<pointf> sz0 = JUtils.from(pointf.class), sz1 = JUtils.from(pointf.class); + e0 = (Agedge_s) ptr0.getPtr(); + e1 = (Agedge_s) ptr1.getPtr(); + if (ED_label(e0)!=null) { + if (ED_label(e1)!=null) { + sz0.___(ED_label(e0).getStruct("dimen")); + sz1.___(ED_label(e1).getStruct("dimen")); + if (sz0.getDouble("x") > sz1.getDouble("x")) return -1; + else if (sz0.getDouble("x") < sz1.getDouble("x")) return 1; + else if (sz0.getDouble("y") > sz1.getDouble("y")) return -1; + else if (sz0.getDouble("y") < sz1.getDouble("y")) return 1; + else return 0; + } + else + return -1; + } + else if (ED_label(e1)!=null) { + return 1; + } + else + return 0; +} finally { +LEAVING("bmsa24i3avg14po4sp17yh89k","edgelblcmpfn"); +} +} + + + + +//3 3xmylrnypvoqrj2yrxnomsj5k +// static void makeSimpleFlatLabels (node_t* tn, node_t* hn, edge_t** edges, int ind, int cnt, int et, int n_lbls) +public static void makeSimpleFlatLabels(Agnode_s tn, Agnode_s hn, __ptr__ edges, int ind, int cnt, int et, int n_lbls) { +ENTERING("3xmylrnypvoqrj2yrxnomsj5k","makeSimpleFlatLabels"); +try { + pointf ps; + final __struct__<Ppoly_t> poly = JUtils.from(Ppoly_t.class); + int pn[] = new int[1]; + Agedge_s e = (Agedge_s) edges.plus(ind).getPtr(); + final __array_of_struct__ points = __array_of_struct__.malloc(pointf.class, 10); + final __struct__<pointf> tp = JUtils.from(pointf.class), hp = JUtils.from(pointf.class); + int i, pointn; + double leftend, rightend, ctrx=0, ctry=0, miny, maxy; + double uminx=0, umaxx=0; + double lminx=0, lmaxx=0; + __ptr__ earray = zmalloc(sizeof_starstar_empty(Agedge_s.class, cnt)); + for (i = 0; i < cnt; i++) { + earray.plus(i).setPtr(edges.plus(ind + i).getPtr()); + } + qsort(earray, + cnt, + sizeof(earray.plus(0)), + function(dotsplines__c.class, "edgelblcmpfn")); + tp.___(add_pointf(ND_coord(tn), ED_tail_port(e).getStruct("p"))); + hp.___(add_pointf(ND_coord(hn), ED_head_port(e).getStruct("p"))); + leftend = tp.getDouble("x")+ND_rw(tn); + rightend = hp.getDouble("x")-ND_lw(hn); + ctrx = (leftend + rightend)/2.0; + /* do first edge */ + e = (Agedge_s) earray.plus(0).getPtr(); + pointn = 0; + points.plus(pointn++).setStruct(tp); + points.plus(pointn++).setStruct(tp); + points.plus(pointn++).setStruct(hp); + points.plus(pointn++).setStruct(hp); + clip_and_install(e, aghead(e), points.asPtr(), pointn, Z.z().sinfo.amp()); + ED_label(e).getStruct("pos").setDouble("x", ctrx); + ED_label(e).getStruct("pos").setDouble("y", tp.getDouble("y") + (ED_label(e).getStruct("dimen").getDouble("y")+6)/2.0); + ED_label(e).setBoolean("set", NOT(false)); + miny = tp.getDouble("y") + 6/2.0; + maxy = miny + ED_label(e).getStruct("dimen").getDouble("y"); + uminx = ctrx - (ED_label(e).getStruct("dimen").getDouble("x"))/2.0; + umaxx = ctrx + (ED_label(e).getStruct("dimen").getDouble("x"))/2.0; + for (i = 1; i < n_lbls; i++) { + e = (Agedge_s) earray.plus(i).getPtr(); + if (i%2!=0) { /* down */ + if (i == 1) { + lminx = ctrx - (ED_label(e).getStruct("dimen").getDouble("x"))/2.0; + lmaxx = ctrx + (ED_label(e).getStruct("dimen").getDouble("x"))/2.0; + } + miny -= 6 + ED_label(e).getStruct("dimen").getDouble("y"); + points.plus(0).setStruct(tp); + points.plus(1).setDouble("x", tp.getDouble("x")); + points.plus(1).setDouble("y", miny - 6); + points.plus(2).setDouble("x", hp.getDouble("x")); + points.plus(2).setDouble("y", points.plus(1).getDouble("y")); + points.plus(3).setStruct(hp); + points.plus(4).setDouble("x", lmaxx); + points.plus(4).setDouble("y", hp.getDouble("y")); + points.plus(5).setDouble("x", lmaxx); + points.plus(5).setDouble("y", miny); + points.plus(6).setDouble("x", lminx); + points.plus(6).setDouble("y", miny); + points.plus(7).setDouble("x", lminx); + points.plus(7).setDouble("y", tp.getDouble("y")); + ctry = miny + (ED_label(e).getStruct("dimen").getDouble("y"))/2.0; + } + else { /* up */ +UNSUPPORTED("7owdudualx55z2cnm9x3iio0w"); // points[0] = tp; +UNSUPPORTED("43w0zont6q3y1axlcy96rzm5x"); // points[1].x = uminx; +UNSUPPORTED("285u4l65puy5nr3pgq6acl4i2"); // points[1].y = tp.y; +UNSUPPORTED("uctdrwzmec4w6vmirs9on197"); // points[2].x = uminx; +UNSUPPORTED("d9b8e2upja8koam9memys7nj1"); // points[2].y = maxy; +UNSUPPORTED("e8a8ucdpq7sgmbi3qyldleb1s"); // points[3].x = umaxx; +UNSUPPORTED("d7xd9vzbdbezltrxsp9a3byuc"); // points[3].y = maxy; +UNSUPPORTED("59abeyxxk9ow1g6m45t4ahih7"); // points[4].x = umaxx; +UNSUPPORTED("2lzgl5468xguophz9d5wyer2x"); // points[4].y = hp.y; +UNSUPPORTED("41u0uroraw4xanvpgg6l74kyh"); // points[5].x = hp.x; +UNSUPPORTED("cwkk5bnko3e1udrx4cb720zss"); // points[5].y = hp.y; +UNSUPPORTED("eev7hf3617k74bnq18uiedyb0"); // points[6].x = hp.x; +UNSUPPORTED("aqxt1dvgfq5zcptjwgx1b3mmq"); // points[6].y = maxy + 6; +UNSUPPORTED("5s3o04yf5lzca6ruuygfxngj2"); // points[7].x = tp.x; +UNSUPPORTED("56zheeat0b8mo4uvlcbvgbu80"); // points[7].y = maxy + 6; +UNSUPPORTED("ehcig8trxc4ble6pcochubv7z"); // ctry = maxy + (ED_label(e)->dimen.y)/2.0 + 6; +UNSUPPORTED("e2zgxycgqefryde9nbv6cqz1u"); // maxy += ED_label(e)->dimen.y + 6; + } + poly.setInt("pn", 8); + poly.setPtr("ps", points.asPtr()); + ps = simpleSplineRoute (tp, hp, poly, pn, et == (3 << 1)); + if (pn[0] == 0) return; + ED_label(e).getStruct("pos").setDouble("x", ctrx); + ED_label(e).getStruct("pos").setDouble("y", ctry); + ED_label(e).setBoolean("set", NOT(false)); + clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo.amp()); + } + /* edges with no labels */ + for (; i < cnt; i++) { + e = (Agedge_s) earray.plus(i).getPtr(); + if (i%2!=0) { /* down */ + if (i == 1) { + lminx = (2*leftend + rightend)/3.0; + lmaxx = (leftend + 2*rightend)/3.0; + } + miny -= 6; + points.plus(0).setStruct(tp); + points.plus(1).setDouble("x", tp.getDouble("x")); + points.plus(1).setDouble("y", miny - 6); + points.plus(2).setDouble("x", hp.getDouble("x")); + points.plus(2).setDouble("y", points.plus(1).getDouble("y")); + points.plus(3).setStruct(hp); + points.plus(4).setDouble("x", lmaxx); + points.plus(4).setDouble("y", hp.getDouble("y")); + points.plus(5).setDouble("x", lmaxx); + points.plus(5).setDouble("y", miny); + points.plus(6).setDouble("x", lminx); + points.plus(6).setDouble("y", miny); + points.plus(7).setDouble("x", lminx); + points.plus(7).setDouble("y", tp.getDouble("y")); + } + else { /* up */ +UNSUPPORTED("7owdudualx55z2cnm9x3iio0w"); // points[0] = tp; +UNSUPPORTED("43w0zont6q3y1axlcy96rzm5x"); // points[1].x = uminx; +UNSUPPORTED("285u4l65puy5nr3pgq6acl4i2"); // points[1].y = tp.y; +UNSUPPORTED("uctdrwzmec4w6vmirs9on197"); // points[2].x = uminx; +UNSUPPORTED("d9b8e2upja8koam9memys7nj1"); // points[2].y = maxy; +UNSUPPORTED("e8a8ucdpq7sgmbi3qyldleb1s"); // points[3].x = umaxx; +UNSUPPORTED("d7xd9vzbdbezltrxsp9a3byuc"); // points[3].y = maxy; +UNSUPPORTED("59abeyxxk9ow1g6m45t4ahih7"); // points[4].x = umaxx; +UNSUPPORTED("2lzgl5468xguophz9d5wyer2x"); // points[4].y = hp.y; +UNSUPPORTED("41u0uroraw4xanvpgg6l74kyh"); // points[5].x = hp.x; +UNSUPPORTED("cwkk5bnko3e1udrx4cb720zss"); // points[5].y = hp.y; +UNSUPPORTED("eev7hf3617k74bnq18uiedyb0"); // points[6].x = hp.x; +UNSUPPORTED("aqxt1dvgfq5zcptjwgx1b3mmq"); // points[6].y = maxy + 6; +UNSUPPORTED("5s3o04yf5lzca6ruuygfxngj2"); // points[7].x = tp.x; +UNSUPPORTED("56zheeat0b8mo4uvlcbvgbu80"); // points[7].y = maxy + 6; +UNSUPPORTED("7un2qk34mmmhqi296vl50bacs"); // maxy += + 6; + } + poly.setInt("pn", 8); + poly.setPtr("ps", points.asPtr()); + ps = simpleSplineRoute (tp, hp, poly, pn, et == (3 << 1)); + if (pn[0] == 0) return; + clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo.amp()); + } + Memory.free (earray); +} finally { +LEAVING("3xmylrnypvoqrj2yrxnomsj5k","makeSimpleFlatLabels"); +} +} + + + + +//3 8kqyzk43ovc2sq6jegua6ytp +// static void makeSimpleFlat (node_t* tn, node_t* hn, edge_t** edges, int ind, int cnt, int et) +public static void makeSimpleFlat(Agnode_s tn, Agnode_s hn, __ptr__ edges, int ind, int cnt, int et) { +ENTERING("8kqyzk43ovc2sq6jegua6ytp","makeSimpleFlat"); +try { + Agedge_s e = (Agedge_s) edges.plus(ind).getPtr(); + final __array_of_struct__ points = __array_of_struct__.malloc(pointf.class, 10); + final __struct__<pointf> tp = JUtils.from(pointf.class), hp = JUtils.from(pointf.class); + int i, pointn; + double stepy, dy; + tp.___(add_pointf(ND_coord(tn), ED_tail_port(e).getStruct("p"))); + hp.___(add_pointf(ND_coord(hn), ED_head_port(e).getStruct("p"))); + stepy = (cnt > 1) ? ND_ht(tn) / (double)(cnt - 1) : 0.; + dy = tp.getDouble("y") - ((cnt > 1) ? ND_ht(tn) / 2. : 0.); + for (i = 0; i < cnt; i++) { + e = (Agedge_s) edges.plus(ind + i).getPtr(); + pointn = 0; + if ((et == (5 << 1)) || (et == (1 << 1))) { + points.plus(pointn++).setStruct(tp); + points.plus(pointn++).setStruct(pointfof((2 * tp.getDouble("x") + hp.getDouble("x")) / 3, dy)); + points.plus(pointn++).setStruct(pointfof((2 * hp.getDouble("x") + tp.getDouble("x")) / 3, dy)); + points.plus(pointn++).setStruct(hp); + } + else { /* ET_PLINE */ +UNSUPPORTED("cai7diqq01v8vb92u4mx1xh38"); // points[pointn++] = tp; +UNSUPPORTED("cai7diqq01v8vb92u4mx1xh38"); // points[pointn++] = tp; +UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); +UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); +UNSUPPORTED("bnd7kao912fmo940u1gz3cmws"); // points[pointn++] = pointfof((2 * tp.x + hp.x) / 3, dy); +UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); +UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); +UNSUPPORTED("akir2i0ddpv2ombgdzzs9qqqa"); // points[pointn++] = pointfof((2 * hp.x + tp.x) / 3, dy); +UNSUPPORTED("59cwjy3j5e0igp278migykzi"); // points[pointn++] = hp; +UNSUPPORTED("59cwjy3j5e0igp278migykzi"); // points[pointn++] = hp; + } + dy += stepy; + clip_and_install(e, aghead(e), points.asPtr(), pointn, Z.z().sinfo.amp()); + } +} finally { +LEAVING("8kqyzk43ovc2sq6jegua6ytp","makeSimpleFlat"); +} +} + + + + +//3 bhnjospwghq4plid12757c928 +// static void make_flat_adj_edges(graph_t* g, path* P, edge_t** edges, int ind, int cnt, edge_t* e0, int et) +public static void make_flat_adj_edges(Agraph_s g, path P, __ptr__ edges, int ind, int cnt, Agedge_s e0, int et) { +ENTERING("bhnjospwghq4plid12757c928","make_flat_adj_edges"); +try { + Agnode_s n; + Agnode_s tn, hn; + Agedge_s e; + int labels = 0, ports = 0; + Agraph_s auxg; + Agraph_s subg; + Agnode_s auxt, auxh; + Agedge_s auxe; + int i, j, midx, midy, leftx, rightx; + final __struct__<pointf> del = JUtils.from(pointf.class); + Agedge_s hvye = null; + attr_state_t attrs; + tn = agtail(e0); hn = aghead(e0); + for (i = 0; i < cnt; i++) { + e = (Agedge_s) edges.plus(ind + i).getPtr(); + if (ED_label(e)!=null) labels++; + if (ED_tail_port(e).defined!=0 || ED_head_port(e).defined!=0) ports = 1; + } + if (ports == 0) { + /* flat edges without ports and labels can go straight left to right */ + if (labels == 0) { + makeSimpleFlat (tn, hn, edges, ind, cnt, et); + } + /* flat edges without ports but with labels take more work */ + else { + makeSimpleFlatLabels (tn, hn, edges, ind, cnt, et, labels); + } + return; + } +UNSUPPORTED("3ua0mgcwxnpymnpiv77owaur2"); // attrs = (attr_state_t*)zmalloc(sizeof(attr_state_t)); +UNSUPPORTED("5qcpchn65culafc5t2ibioksb"); // auxg = cloneGraph (g, attrs); +UNSUPPORTED("cwolismpef6l1w4xj5etx8w09"); // subg = agsubg (auxg, "xxx",1); +UNSUPPORTED("eocu0fte9egz381w3t8y5m64t"); // agbindrec(subg, "Agraphinfo_t", sizeof(Agraphinfo_t), NOT(0)); +UNSUPPORTED("er19m8huvnjjn1v6rreiisdf6"); // agset (subg, "rank", "source"); +UNSUPPORTED("du7zwfglureqnv5g2wiammuuu"); // rightx = ND_coord(hn).x; +UNSUPPORTED("5qa24lmumrg29fbtl0fo4d4z1"); // leftx = ND_coord(tn).x; +UNSUPPORTED("b2x6j7m1cmmkcmdl5jo9wn0ap"); // if (GD_flip(g)) { +UNSUPPORTED("2elvc001uux0vbe7sv4098e0c"); // node_t* n; +UNSUPPORTED("6m8k99c09zmhwgcdsgo33dugz"); // n = tn; +UNSUPPORTED("cenlfgoeymhe1am5z6632xniq"); // tn = hn; +UNSUPPORTED("cp2gf6c1xawd2yjbqerw98we3"); // hn = n; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1e98fnf9lsk7hwgjt70gh5r55"); // auxt = cloneNode(subg, tn, GD_flip(g)); +UNSUPPORTED("a4xa8i1nw83hhnknv84280z00"); // auxh = cloneNode(auxg, hn, GD_flip(g)); +UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { +UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; +UNSUPPORTED("b3w40fpgfj0j66yi6j582thq2"); // for (; ED_edge_type(e) != 0; e = ED_to_orig(e)); +UNSUPPORTED("bcu59ji1apn0rvv7aisl6e4pw"); // if (agtail(e) == tn) +UNSUPPORTED("4o3mq2ztiyxlbkpgcyygj4lny"); // auxe = cloneEdge (auxg, auxt, auxh, e); +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("3a7m578mxun4c8zv0jurzh7ox"); // auxe = cloneEdge (auxg, auxh, auxt, e); +UNSUPPORTED("e6khamu7fhu5m7il9r2v06mui"); // ED_alg(e) = auxe; +UNSUPPORTED("64u9xrw8iwy3mtuupoktw7xoz"); // if (!hvye && !ED_tail_port(e).defined && !ED_head_port(e).defined) { +UNSUPPORTED("6t23nfzzldtl419g582pr0wjn"); // hvye = auxe; +UNSUPPORTED("3fi2uxwkmau5664gnhzyosan5"); // ED_alg(hvye) = e; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("co4n3cv6ybhgvm341r3re61vu"); // if (!hvye) { +UNSUPPORTED("a0sxhnruv0ip65j05wt7dciak"); // hvye = agedge (auxg, auxt, auxh,NULL,1); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("26l323zwxztuc6sfnh36x7i9f"); // agxset (hvye, E_weight, "10000"); +UNSUPPORTED("4pj2d4pwf7wi9fcu4v0byk83z"); // GD_gvc(auxg) = GD_gvc(g); +UNSUPPORTED("b6dpjp9wgjzgoy0tq7b9kms74"); // GD_dotroot(auxg) = auxg; +UNSUPPORTED("e08t9bx8ldb1d5e0582wg82sx"); // setEdgeType (auxg, et); +UNSUPPORTED("8y4433lgybq35f4t7viqsvz5v"); // dot_init_node_edge(auxg); +UNSUPPORTED("13c2nt4jwumpvtwudz38a4sb3"); // dot_rank(auxg, 0); +UNSUPPORTED("6onnznyz9fof6r8we5z1e4r63"); // dot_mincross(auxg, 0); +UNSUPPORTED("4ry85qx5xmahkm0mdv9s65azo"); // dot_position(auxg, 0); +UNSUPPORTED("9921qakdgil2jvrvinke44xsz"); // /* reposition */ +UNSUPPORTED("ang8wy78872hvqkzvgfjwqwfl"); // midx = (ND_coord(tn).x - ND_rw(tn) + ND_coord(hn).x + ND_lw(hn))/2; +UNSUPPORTED("2r2ywte92l423tbcdfvbhz3zh"); // midy = (ND_coord(auxt).x + ND_coord(auxh).x)/2; +UNSUPPORTED("b8juh1dggb6sz4d9df42i150k"); // for (n = GD_nlist(auxg); n; n = ND_next(n)) { +UNSUPPORTED("4prtyy13ox1fif8vil3g86g87"); // if (n == auxt) { +UNSUPPORTED("7gvpia4yo3bfvh5dl7uwr3dbe"); // ND_coord(n).y = rightx; +UNSUPPORTED("2zsspnn0nfrdf9fx8sh3ld8j4"); // ND_coord(n).x = midy; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("ba2aaoh9ujy4ww9luial39sya"); // else if (n == auxh) { +UNSUPPORTED("aoy1ze6hhjuym44mkasdt19qp"); // ND_coord(n).y = leftx; +UNSUPPORTED("2zsspnn0nfrdf9fx8sh3ld8j4"); // ND_coord(n).x = midy; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("80o8q2qh1hr671ladbyqzglnt"); // else ND_coord(n).y = midx; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("48hn94qz2y2kb6lqc3462vlco"); // dot_sameports(auxg); +UNSUPPORTED("bglhuc9grqkk9ozb97oeh0m3b"); // _dot_splines(auxg, 0); +UNSUPPORTED("euvfot8f7xxnibd223qgsylew"); // dotneato_postprocess(auxg); +UNSUPPORTED("4mg60pszj0s1anwg8zp0tq0ra"); // /* copy splines */ +UNSUPPORTED("b2x6j7m1cmmkcmdl5jo9wn0ap"); // if (GD_flip(g)) { +UNSUPPORTED("baukf0b2l91bkgnfdc04rvuxe"); // del.x = ND_coord(tn).x - ND_coord(auxt).y; +UNSUPPORTED("96sq686mw9bvj7dli7wb241au"); // del.y = ND_coord(tn).y + ND_coord(auxt).x; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { +UNSUPPORTED("bxg8i1hqms0izrryxh2at6p7b"); // del.x = ND_coord(tn).x - ND_coord(auxt).x; +UNSUPPORTED("3xqgvdcxmu8e4eqtnhaa256tk"); // del.y = ND_coord(tn).y - ND_coord(auxt).y; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { +UNSUPPORTED("47ogn0fae1yuy3kefpawcgcmx"); // bezier* auxbz; +UNSUPPORTED("4mujfxtr0wy7m1rbm57rwigo4"); // bezier* bz; +UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; +UNSUPPORTED("b3w40fpgfj0j66yi6j582thq2"); // for (; ED_edge_type(e) != 0; e = ED_to_orig(e)); +UNSUPPORTED("3ii7nnxg3x8jpdk6lcijbizvf"); // auxe = (edge_t*)ED_alg(e); +UNSUPPORTED("5rc7uvn4xqfetekcci1uwri5v"); // if ((auxe == hvye) & !ED_alg(auxe)) continue; /* pseudo-edge */ +UNSUPPORTED("52vy3jbu67nebznqkhxxqthih"); // auxbz = ED_spl(auxe)->list; +UNSUPPORTED("azr1tv8blnu3i6b7wstpqv2tc"); // bz = new_spline(e, auxbz->size); +UNSUPPORTED("df84ie4egl6l1i82tz1zp7hg"); // bz->sflag = auxbz->sflag; +UNSUPPORTED("49bzonc32mbuchcsmw7csexdw"); // bz->sp = transformf(auxbz->sp, del, GD_flip(g)); +UNSUPPORTED("9g1glpjjy5wmh7dyr6u0nb2cn"); // bz->eflag = auxbz->eflag; +UNSUPPORTED("44tftrsdjjuh1qjmxjpysmee3"); // bz->ep = transformf(auxbz->ep, del, GD_flip(g)); +UNSUPPORTED("w0xl6ghxoii2ze2xmbbunv4d"); // for (j = 0; j < auxbz->size; ) { +UNSUPPORTED("22zm6ljvhpz7j2kiqee31nx61"); // pointf cp[4]; +UNSUPPORTED("4c88sva3ojadip5w3ehu782tp"); // cp[0] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); +UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; +UNSUPPORTED("duk541biqshfomah8rlxeyigr"); // if ( j >= auxbz->size ) +UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break; +UNSUPPORTED("2qrbm7mhicvoxzk91h9x3gq64"); // cp[1] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); +UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; +UNSUPPORTED("f4x9unnnofgnvy91ejtm90kw"); // cp[2] = bz->list[j] = transformf(auxbz->list[j], del, GD_flip(g)); +UNSUPPORTED("5jqtd9htl25cd3if3pjtl8dpo"); // j++; +UNSUPPORTED("6pldfj31dg88qzsa012v8auxn"); // cp[3] = transformf(auxbz->list[j], del, GD_flip(g)); +UNSUPPORTED("2xvehdctlpogpd7xhdf1pku00"); // update_bb_bz(&GD_bb(g), cp); +UNSUPPORTED("4mhlpjofolwivhm0tl8cxznly"); // } +UNSUPPORTED("8bokoh0vcnmvjcahn7de1z0kd"); // if (ED_label(e)) { +UNSUPPORTED("8ido4wfhvlqvczqfq5xz33kak"); // ED_label(e)->pos = transformf(ED_label(auxe)->pos, del, GD_flip(g)); +UNSUPPORTED("3tkba5lhpnujfu8lcz8lewsyn"); // ED_label(e)->set = NOT(0); +UNSUPPORTED("c62p0r1jj71ceakgzrv2gorvu"); // updateBB(g, ED_label(e)); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("22prbnbyxmapn1fcer1sktez7"); // cleanupCloneGraph (auxg, attrs); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("bhnjospwghq4plid12757c928","make_flat_adj_edges"); +} +} + + + + +//3 fybar4mljnmkh3kure5k1eod +// static void makeFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, pathend_t* endp, boolean isBegin) +public static void makeFlatEnd(Agraph_s g, spline_info_t sp, path P, Agnode_s n, Agedge_s e, pathend_t endp, boolean isBegin) { +ENTERING("fybar4mljnmkh3kure5k1eod","makeFlatEnd"); +try { + final ST_boxf b = new ST_boxf(); + b.___(maximal_bbox(g, sp, n, null, e)); + endp.setStruct("nb", b); + endp.setInt("sidemask", 1<<2); + if (isBegin) beginpath(P, e, 2, endp, false); + else endpath(P, e, 2, endp, false); + b.UR.y = ((ST_boxf)endp.getArrayOfStruct("boxes").plus(endp.getInt("boxn") - 1).getStruct()).UR.y; + b.LL.y = ((ST_boxf)endp.getArrayOfStruct("boxes").plus(endp.getInt("boxn") - 1).getStruct()).LL.y; + b.___(makeregularend((ST_boxf) b, (1<<2), ND_coord(n).getDouble("y") + GD_rank(g).plus(ND_rank(n)).getDouble("ht2"))); + if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) +UNSUPPORTED("cmjm4y40vf7wklmgz0ae4k36v"); // endp->boxes[endp->boxn++] = b; +} finally { +LEAVING("fybar4mljnmkh3kure5k1eod","makeFlatEnd"); +} +} + + + + +//3 rfro0b2nsukdjenux3f6osgj +// static void makeBottomFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, pathend_t* endp, boolean isBegin) +public static Object makeBottomFlatEnd(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("8ai1jk8aigoqod7sj7pw1phw3"); // makeBottomFlatEnd (graph_t* g, spline_info_t* sp, path* P, node_t* n, edge_t* e, +UNSUPPORTED("25ij2tn6de7b481tpf1ac644s"); // pathend_t* endp, boolean isBegin) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("458vjrt5zjt6am715aiuxdlpo"); // b = endp->nb = maximal_bbox(g, sp, n, NULL, e); +UNSUPPORTED("9wzfokn3t7zckgoaxgywy6cbz"); // endp->sidemask = (1<<0); +UNSUPPORTED("c3u0b2z8mb4le2v1g6q8amjt"); // if (isBegin) beginpath(P, e, 2, endp, 0); +UNSUPPORTED("1e0zyjb03r85tgqddfnlk9e9"); // else endpath(P, e, 2, endp, 0); +UNSUPPORTED("7pwqqvagpkzye4cdmjlbrmt7a"); // b.UR.y = endp->boxes[endp->boxn - 1].UR.y; +UNSUPPORTED("1mefjjoto40rfwb1qhzvobhje"); // b.LL.y = endp->boxes[endp->boxn - 1].LL.y; +UNSUPPORTED("4sn8dc58suk2d3oqlu13cr7ic"); // b = makeregularend(b, (1<<0), ND_coord(n).y - GD_rank(g)[ND_rank(n)].ht2); +UNSUPPORTED("6xj9sv3inmj1rwtz76qp6p30n"); // if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) +UNSUPPORTED("cmjm4y40vf7wklmgz0ae4k36v"); // endp->boxes[endp->boxn++] = b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 w8ptjibydq995d2lexg85mku +// static void make_flat_labeled_edge(graph_t* g, spline_info_t* sp, path* P, edge_t* e, int et) +public static void make_flat_labeled_edge(Agraph_s g, spline_info_t sp, path P, Agedge_s e, int et) { +ENTERING("w8ptjibydq995d2lexg85mku","make_flat_labeled_edge"); +try { + Agnode_s tn, hn, ln; + pointf ps = null; + final __struct__<pathend_t> tend = JUtils.from(pathend_t.class), hend = JUtils.from(pathend_t.class); + final ST_boxf lb = new ST_boxf(); + int boxn, i, ydelta; + int pn[] = new int[1]; + Agedge_s f; + final __array_of_struct__ points = __array_of_struct__.malloc(pointf.class, 7); + tn = agtail(e); + hn = aghead(e); + for (f = ED_to_virt(e); ED_to_virt(f)!=null; f = ED_to_virt(f)); + ln = agtail(f); + ED_label(e).setStruct("pos", ND_coord(ln)); + ED_label(e).setBoolean("set", NOT(false)); + if (et == (1 << 1)) { +UNSUPPORTED("ataaqkehwb736ts2x6olzqokx"); // pointf startp, endp, lp; +UNSUPPORTED("48h6vk2e5niep4dmpua377248"); // startp = add_pointf(ND_coord(tn), ED_tail_port(e).p); +UNSUPPORTED("8fokfn1629eyiqnzi7mey9o2q"); // endp = add_pointf(ND_coord(hn), ED_head_port(e).p); +UNSUPPORTED("8zpih1olxdgp3sxk2br3lezzx"); // lp = ED_label(e)->pos; +UNSUPPORTED("1sblcap44288tmc3cr80iqpj5"); // lp.y -= (ED_label(e)->dimen.y)/2.0; +UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; +UNSUPPORTED("16h577fdghqtaeot735guew4e"); // points[2] = points[3] = points[4] = lp; +UNSUPPORTED("9zjfovamhwwehbviws68s5woy"); // points[5] = points[6] = endp; +UNSUPPORTED("68ojpcos92c96bc0i5ag1yb6v"); // ps = points; +UNSUPPORTED("1uunj4jbr2uhiqxwor6rzmr3j"); // pn = 7; + } + else { + lb.LL.x = ND_coord(ln).getDouble("x") - ND_lw(ln); + lb.UR.x = ND_coord(ln).getDouble("x") + ND_rw(ln); + lb.UR.y = ND_coord(ln).getDouble("y") + ND_ht(ln)/2; + ydelta = (int)(ND_coord(ln).getDouble("y") - GD_rank(g).plus(ND_rank(tn)).getDouble("ht1") - + ND_coord(tn).getDouble("y") + GD_rank(g).plus(ND_rank(tn)).getDouble("ht2")); + ydelta = (int)(ydelta / 6.); + lb.LL.y = lb.UR.y - MAX(5.,ydelta); + boxn = 0; + makeFlatEnd (g, sp, P, tn, e, tend.amp(), NOT(false)); + makeFlatEnd (g, sp, P, hn, e, hend.amp(), false); + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = ((ST_boxf)tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()).LL.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = ((ST_boxf)tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()).UR.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = lb.LL.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = lb.LL.y; + boxn++; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = ((ST_boxf)tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()).LL.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = lb.LL.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = ((ST_boxf)hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()).UR.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = lb.UR.y; + boxn++; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = lb.UR.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = lb.LL.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = ((ST_boxf)hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()).UR.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = ((ST_boxf)hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()).UR.x; + boxn++; + for (i = 0; i < tend.getInt("boxn"); i++) add_box(P, (ST_boxf)tend.getArrayOfStruct("boxes").plus(i).getStruct()); + for (i = 0; i < boxn; i++) add_box(P, (ST_boxf)Z.z().boxes.plus(i).getStruct()); + for (i = hend.getInt("boxn") - 1; i >= 0; i--) add_box(P, (ST_boxf)hend.getArrayOfStruct("boxes").plus(i).getStruct()); + if (et == (5 << 1)) ps = routesplines(P, pn); + else ps = routepolylines(P, pn); + if (pn[0] == 0) return; + } + clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo.amp()); +} finally { +LEAVING("w8ptjibydq995d2lexg85mku","make_flat_labeled_edge"); +} +} + + + + +//3 d97ga7gm34rs6r0jo494nhhuo +// static void make_flat_bottom_edges(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, edge_t* e, int splines) +public static Object make_flat_bottom_edges(Object... arg) { +UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void +UNSUPPORTED("bkp39vt080is6iiqobsw59sk9"); // make_flat_bottom_edges(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int +UNSUPPORTED("2gat0ltxh7j57lspwmm9s9x7j"); // ind, int cnt, edge_t* e, int splines) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5np4z3gp6cfmicyuz91nownp8"); // node_t *tn, *hn; +UNSUPPORTED("3zgmm04g7gq65c57gco0id1eb"); // int j, i, r; +UNSUPPORTED("5wdd96amz7w1sym59mg5nfj51"); // double stepx, stepy, vspace; +UNSUPPORTED("63ozqzusft8gpehyaqrdjyr1"); // rank_t* nextr; +UNSUPPORTED("7hps2kejtrotcphg5gymma43b"); // int pn; +UNSUPPORTED("2rkzhui0essisp5zlw44vx4j9"); // pointf *ps; +UNSUPPORTED("32b8td88encjfj6yd1sp8bef"); // pathend_t tend, hend; +UNSUPPORTED("d0x4emyekwlcpua99voy3764p"); // tn = agtail(e); +UNSUPPORTED("axoua6xpo7xc40u2oj0a8dmr9"); // hn = aghead(e); +UNSUPPORTED("63jjxtcojh1aq4na9u4w2a6xe"); // r = ND_rank(tn); +UNSUPPORTED("atjnavwfg3xe4ygorslb4vvtv"); // if (r < GD_maxrank(g)) { +UNSUPPORTED("6b35lbhficoaf5216p3sdq1cj"); // nextr = GD_rank(g) + (r+1); +UNSUPPORTED("bj0cch0dmhpux7wm3fg4zg368"); // vspace = ND_coord(tn).y - GD_rank(g)[r].pht1 - +UNSUPPORTED("dqcrkagghulp8u9iuoyckepf7"); // (ND_coord(nextr->v[0]).y + nextr->pht2); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { +UNSUPPORTED("1sai54q4zfayczfcrklgw4x17"); // vspace = GD_ranksep(g); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("dyxkx5ftlgbeem7089pcu1qo4"); // stepx = ((double)(sp->Multisep)) / (cnt+1); +UNSUPPORTED("63qqo8mqbn6alfa5k3gfalz53"); // stepy = vspace / (cnt+1); +UNSUPPORTED("euw24sa4cgazdf9z7a3sretis"); // makeBottomFlatEnd (g, sp, P, tn, e, &tend, NOT(0)); +UNSUPPORTED("c8ip2hla7pb8tz4fhsj5m34wk"); // makeBottomFlatEnd (g, sp, P, hn, e, &hend, 0); +UNSUPPORTED("1psokm6w9e7qw7fm2g1cayuk7"); // for (i = 0; i < cnt; i++) { +UNSUPPORTED("3smlz0a87gj8w58rwau2ewq23"); // int boxn; +UNSUPPORTED("bg5tj2hjixth58v04043jb3do"); // boxf b; +UNSUPPORTED("8hwholxjp08y4q0zbb561684q"); // e = edges[ind + i]; +UNSUPPORTED("cpcqkqkhkaviy153h92apd82e"); // boxn = 0; +UNSUPPORTED("4wkbaj2424ug9j97efwu1r5mc"); // b = tend.boxes[tend.boxn - 1]; +UNSUPPORTED("3eyfj1o1bqxlfqw7tq76qiiiz"); // boxes[boxn].LL.x = b.LL.x; +UNSUPPORTED("dwlejn7xasxh4yyoq2xodqnyj"); // boxes[boxn].UR.y = b.LL.y; +UNSUPPORTED("10o1e4r5ux8d7cr6zg379ss59"); // boxes[boxn].UR.x = b.UR.x + (i + 1) * stepx; +UNSUPPORTED("79f4mryzkqqs3t4sxnet9jc7b"); // boxes[boxn].LL.y = b.LL.y - (i + 1) * stepy; +UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; +UNSUPPORTED("7n7f256w4ewtzexwfxjo28b2"); // boxes[boxn].LL.x = tend.boxes[tend.boxn - 1].LL.x; +UNSUPPORTED("6in0ql0upnjg00mgj5k8av2m4"); // boxes[boxn].UR.y = boxes[boxn-1].LL.y; +UNSUPPORTED("46ftsiqovpzo9r0mnlc4nf83"); // boxes[boxn].UR.x = hend.boxes[hend.boxn - 1].UR.x; +UNSUPPORTED("4bjnn4mhczzd1un9rbib5glch"); // boxes[boxn].LL.y = boxes[boxn].UR.y - stepy; +UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; +UNSUPPORTED("6oycftap8apw4glb1s5jzineu"); // b = hend.boxes[hend.boxn - 1]; +UNSUPPORTED("77c1sajrw9kfc7avomly90gm8"); // boxes[boxn].UR.x = b.UR.x; +UNSUPPORTED("e94nxsepfdq17q69drbro41je"); // boxes[boxn].UR.y = b.LL.y; +UNSUPPORTED("6cipt7th0uv2xfwyh4rvwignj"); // boxes[boxn].LL.x = b.LL.x - (i + 1) * stepx; +UNSUPPORTED("50uajtfbvgkrruywpjq9m4zoj"); // boxes[boxn].LL.y = boxes[boxn-1].UR.y; +UNSUPPORTED("cbrsymd5wpvadg3ziz4dypa50"); // boxn++; +UNSUPPORTED("eu29s7oeoca2yo9trhfhb9juy"); // for (j = 0; j < tend.boxn; j++) add_box(P, tend.boxes[j]); +UNSUPPORTED("b8xs00axp4lkksof6hmim3n3x"); // for (j = 0; j < boxn; j++) add_box(P, boxes[j]); +UNSUPPORTED("ahci7z910ypoj0e54wchvk54v"); // for (j = hend.boxn - 1; j >= 0; j--) add_box(P, hend.boxes[j]); +UNSUPPORTED("7r9nsxbfy7w3csc04nxo97xpq"); // if (splines) ps = routesplines(P, &pn); +UNSUPPORTED("dfku80ag90r137s9az9493oow"); // else ps = routepolylines(P, &pn); +UNSUPPORTED("919jubmuis4tp1c1f87rvfhog"); // if (pn == 0) +UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; +UNSUPPORTED("62oxk9cc5wf0f8gqbothfte1f"); // clip_and_install(e, aghead(e), ps, pn, &sinfo); +UNSUPPORTED("l1nh40fo9oar4mz31h14bc9i"); // P->nbox = 0; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6yr3jfkljl5w0z6dv354ryx63 +// static void make_flat_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, int et) +public static void make_flat_edge(Agraph_s g, spline_info_t sp, path P, __ptr__ edges, int ind, int cnt, int et) { +ENTERING("6yr3jfkljl5w0z6dv354ryx63","make_flat_edge"); +try { + Agnode_s tn, hn; + final __struct__<Agedgeinfo_t> fwdedgei = JUtils.from(Agedgeinfo_t.class); + final __struct__<Agedgepair_s> fwdedge = JUtils.from(Agedgepair_s.class); + Agedge_s e; + int j, i, r, isAdjacent; + double stepx, stepy, vspace; + int tside, hside; + int pn[] = new int[] {0}; + pointf ps; + final __struct__<pathend_t> tend = JUtils.from(pathend_t.class), hend = JUtils.from(pathend_t.class); + fwdedge.getStruct("out").getStruct("base").setPtr("data", fwdedgei.amp()); + /* Get sample edge; normalize to go from left to right */ + e = (Agedge_s) edges.plus(ind).getPtr(); + isAdjacent = ED_adjacent(e); + if ((ED_tree_index(e) & 32)!=0) { + MAKEFWDEDGE(fwdedge.getStruct("out").amp(), e); + e = (Agedge_s) fwdedge.getStruct("out").amp(); + } + for (i = 1; i < cnt; i++) { + if (ED_adjacent(edges.plus(ind+i).getPtr())!=0) { + isAdjacent = 1; + break; + } + } + /* The lead edge edges[ind] might not have been marked earlier as adjacent, + * so check them all. + */ + if (isAdjacent!=0) { + make_flat_adj_edges (g, P, edges, ind, cnt, e, et); + return; + } + if (ED_label(e)!=null) { /* edges with labels aren't multi-edges */ + make_flat_labeled_edge (g, sp, P, e, et); + return; + } + if (et == (1 << 1)) { + makeSimpleFlat (agtail(e), aghead(e), edges, ind, cnt, et); + return; + } + tside = ED_tail_port(e).getInt("side"); + hside = ED_head_port(e).getInt("side"); + if (((tside == (1<<0)) && (hside != (1<<2))) || + ((hside == (1<<0)) && (tside != (1<<2)))) { + make_flat_bottom_edges (g, sp, P, edges, ind, cnt, e, et == (5 << 1)); + return; + } + tn = agtail(e); + hn = aghead(e); + r = ND_rank(tn); + if (r > 0) { + __ptr__ prevr; + if ((GD_has_labels(g) & (1 << 0))!=0) + prevr = GD_rank(g).plus(r-2); + else + prevr = GD_rank(g).plus(r-1); + vspace = ND_coord(prevr.getPtr().getArrayOfPtr("v").plus(0).getPtr()).getDouble("y") - prevr.getPtr().getDouble("ht1") + - ND_coord(tn).getDouble("y") - GD_rank(g).plus(r).getDouble("ht2"); + } + else { + vspace = GD_ranksep(g); + } + stepx = ((double)sp.getInt("Multisep")) / (cnt+1); + stepy = vspace / (cnt+1); + makeFlatEnd (g, sp, P, tn, e, tend.amp(), true); + makeFlatEnd (g, sp, P, hn, e, hend.amp(), false); + for (i = 0; i < cnt; i++) { + int boxn; + final ST_boxf b = new ST_boxf(); + e = (Agedge_s) edges.plus(ind + i).getPtr(); + boxn = 0; + b.___(tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()); + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = b.LL.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = b.UR.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = b.UR.x + (i + 1) * stepx; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = b.UR.y + (i + 1) * stepy; + boxn++; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = ((ST_boxf)(tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct())).LL.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = ((ST_boxf)Z.z().boxes.plus(boxn-1).getStruct()).UR.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = ((ST_boxf)(hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct())).UR.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y + stepy; + boxn++; + b.___(hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()); + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.x = b.UR.x; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.y = b.UR.y; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).LL.x = b.LL.x - (i + 1) * stepx; + ((ST_boxf)Z.z().boxes.plus(boxn).getStruct()).UR.y = ((ST_boxf)Z.z().boxes.plus(boxn-1).getStruct()).LL.y; + boxn++; + for (j = 0; j < tend.getInt("boxn"); j++) add_box(P, (ST_boxf)tend.getArrayOfStruct("boxes").plus(j).getStruct()); + for (j = 0; j < boxn; j++) add_box(P, (ST_boxf)Z.z().boxes.plus(j).getStruct()); + for (j = hend.getInt("boxn") - 1; j >= 0; j--) add_box(P, (ST_boxf)hend.getArrayOfStruct("boxes").plus(j).getStruct()); + if (et == (5 << 1)) ps = (pointf) routesplines(P, pn); + else ps = (pointf) routepolylines(P, pn); + if (pn[0] == 0) + return; + clip_and_install(e, aghead(e), ps, pn[0], Z.z().sinfo.amp()); + P.setInt("nbox", 0); + } +} finally { +LEAVING("6yr3jfkljl5w0z6dv354ryx63","make_flat_edge"); +} +} + + + + +//3 78oy7e2xm3t4de66du11ej05j +// static int leftOf (pointf p1, pointf p2, pointf p3) +public static Object leftOf(Object... arg) { +UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int +UNSUPPORTED("iqhj2moads3aafqx5xa8j44g"); // leftOf (pointf p1, pointf p2, pointf p3) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5azgw3jpyk2yccpp3p4s3q817"); // int d; +UNSUPPORTED("42n6sq1mbcvm3tugypozccbua"); // d = ((p1.y - p2.y) * (p3.x - p2.x)) - +UNSUPPORTED("7y9r79gtx363mln6v9yaisvz6"); // ((p3.y - p2.y) * (p1.x - p2.x)); +UNSUPPORTED("8y4f8e0mnow6139qoguzsxojx"); // return (d > 0); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2n9bpvx34fnukqu1f9u4v7v6n +// static int makeLineEdge(graph_t* g, edge_t* fe, pointf* points, node_t** hp) +public static int makeLineEdge(Agraph_s g, Agedge_s fe, __ptr__ points, __ptr__ hp) { +ENTERING("2n9bpvx34fnukqu1f9u4v7v6n","makeLineEdge"); +try { + UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int +UNSUPPORTED("1act0rov08v6lg5ydqldks7d1"); // makeLineEdge(graph_t* g, edge_t* fe, pointf* points, node_t** hp) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("awgar8whid8l1c7lyj8w53w3i"); // int delr, pn; +UNSUPPORTED("ewlm0dtv1gpudqhfx5nsr9d77"); // node_t* hn; +UNSUPPORTED("cncpk333257fxnc9w8kfl8m70"); // node_t* tn; +UNSUPPORTED("etezq0kgy6mttiwr53pna62d7"); // edge_t* e = fe; +UNSUPPORTED("3ll9r1mvzzbhqrs4dwsduif44"); // pointf startp, endp, lp; +UNSUPPORTED("bgjjpl6jaaa122twwwd0vif6x"); // pointf dimen; +UNSUPPORTED("gdtli7sq5cifvdpg3ecrudew"); // double width, height; +UNSUPPORTED("1pa1p9mnpooqack43qfpnoio2"); // while (ED_edge_type(e) != 0) +UNSUPPORTED("bdmai1d040qmubf08ds339v9x"); // e = ED_to_orig(e); +UNSUPPORTED("axoua6xpo7xc40u2oj0a8dmr9"); // hn = aghead(e); +UNSUPPORTED("d0x4emyekwlcpua99voy3764p"); // tn = agtail(e); +UNSUPPORTED("b4x4vd9cei4o3tjifzw7pdec6"); // delr = ABS(ND_rank(hn)-ND_rank(tn)); +UNSUPPORTED("447fk34earndyf1qvvzttsxtk"); // if ((delr == 1) || ((delr == 2) && (GD_has_labels(g) & (1 << 0)))) +UNSUPPORTED("c9ckhc8veujmwcw0ar3u3zld4"); // return 0; +UNSUPPORTED("cbnarpi971ox21zdds7a60axh"); // if (agtail(fe) == agtail(e)) { +UNSUPPORTED("o7usaxh5vv7rla55dxzkfmk7"); // *hp = hn; +UNSUPPORTED("48h6vk2e5niep4dmpua377248"); // startp = add_pointf(ND_coord(tn), ED_tail_port(e).p); +UNSUPPORTED("8fokfn1629eyiqnzi7mey9o2q"); // endp = add_pointf(ND_coord(hn), ED_head_port(e).p); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { +UNSUPPORTED("3uxftvwe3olgfi579s8izpl76"); // *hp = tn; +UNSUPPORTED("akhrhgryddg74jqispnh1j1nn"); // startp = add_pointf(ND_coord(hn), ED_head_port(e).p); +UNSUPPORTED("dqdai9l5thna19ynowkfwstuh"); // endp = add_pointf(ND_coord(tn), ED_tail_port(e).p); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("brrmfllffwlnqxljgrwy8x5pq"); // if (ED_label(e)) { +UNSUPPORTED("et7phi46cskfaxzpfo97e1s5s"); // dimen = ED_label(e)->dimen; +UNSUPPORTED("z26zaj60vrdy38k1c2vk7law"); // if (GD_flip(agraphof(hn))) { +UNSUPPORTED("6mcl7j0bp09d061f0dywd1ru8"); // width = dimen.y; +UNSUPPORTED("eax7dzvpgqzsiffa2dn2idrxe"); // height = dimen.x; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { +UNSUPPORTED("de3o94hui5i4dbq9moun6h57f"); // width = dimen.x; +UNSUPPORTED("41ge1nnwfokwi43f6tlkgmvb0"); // height = dimen.y; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("d9umd1qjkl4kkybpd7se993ij"); // lp = ED_label(e)->pos, lp; +UNSUPPORTED("arxilpbzpy5a2s8skwl644jj2"); // if (leftOf (endp,startp,lp)) { +UNSUPPORTED("7bfb4rovu9obr4fje0hi95e67"); // lp.x += width/2.0; +UNSUPPORTED("7y2ejp6vr760aqh5qp4v5zdc8"); // lp.y -= height/2.0; +UNSUPPORTED("9l9roc1u8a03ljwm2mmeaiqq2"); // } +UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { +UNSUPPORTED("a4spf3n199lr00qkdb3vb8i6c"); // lp.x -= width/2.0; +UNSUPPORTED("f15m64yxj1oq475bvrt63d5gf"); // lp.y += height/2.0; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; +UNSUPPORTED("16h577fdghqtaeot735guew4e"); // points[2] = points[3] = points[4] = lp; +UNSUPPORTED("9zjfovamhwwehbviws68s5woy"); // points[5] = points[6] = endp; +UNSUPPORTED("1uunj4jbr2uhiqxwor6rzmr3j"); // pn = 7; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { +UNSUPPORTED("8ew9p3k3j0b33dnq0ntgbb6x8"); // points[1] = points[0] = startp; +UNSUPPORTED("aztkfl5qctibiu6en7xf6xf3e"); // points[3] = points[2] = endp; +UNSUPPORTED("5rmgdadjn23z8djo32eh9bhzd"); // pn = 4; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("abnopd2ggrpdb538wf7zsmrhq"); // return pn; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("2n9bpvx34fnukqu1f9u4v7v6n","makeLineEdge"); +} +} + + + + +//3 30wfq1dby4t07hft9io52nq6z +// static void make_regular_edge(graph_t* g, spline_info_t* sp, path * P, edge_t ** edges, int ind, int cnt, int et) +//private static __ptr__ pointfs; +//private static __ptr__ pointfs2; +//private static int numpts; +//private static int numpts2; +public static void make_regular_edge(Agraph_s g, spline_info_t sp, path P, __ptr__ edges, int ind, int cnt, int et) { +ENTERING("30wfq1dby4t07hft9io52nq6z","make_regular_edge"); +try { + Agnode_s tn, hn = null; + final __struct__<Agedgeinfo_t> fwdedgeai = JUtils.from(Agedgeinfo_t.class), fwdedgebi = JUtils.from(Agedgeinfo_t.class), fwdedgei = JUtils.from(Agedgeinfo_t.class); + final __struct__<Agedgepair_s> fwdedgea = JUtils.from(Agedgepair_s.class), fwdedgeb = JUtils.from(Agedgepair_s.class), fwdedge = JUtils.from(Agedgepair_s.class); + Agedge_s e, fe, le, segfirst; + pointf ps = null; + final __struct__<pathend_t> tend = JUtils.from(pathend_t.class), hend = JUtils.from(pathend_t.class); + final ST_boxf b = new ST_boxf(); + int boxn, sl, si, i, j, dx, hackflag, longedge; + boolean smode; + int pn[] = new int[] {0}; + int pointn[] = new int[] {0}; + fwdedgea.getStruct("out").getStruct("base").setPtr("data", fwdedgeai.amp()); + fwdedgeb.getStruct("out").getStruct("base").setPtr("data", fwdedgebi.amp()); + fwdedge.getStruct("out").getStruct("base").setPtr("data", fwdedgei.amp()); + if (N(Z.z().pointfs)) { + Z.z().pointfs = gmalloc(sizeof(pointf.class, 2000)); + Z.z().pointfs2 = gmalloc(sizeof(pointf.class, 2000)); + Z.z().numpts = 2000; + Z.z().numpts2 = 2000; + } + sl = 0; + e = (Agedge_s) edges.plus(ind).getPtr(); + hackflag = 0; + if (ABS(ND_rank(agtail(e)) - ND_rank(aghead(e))) > 1) { +UNSUPPORTED("8f17srpa5iisomehrb4b01h51"); // fwdedgeai = *(Agedgeinfo_t*)e->base.data; +UNSUPPORTED("97znyysf99vzzwpgnqcpp5yek"); // fwdedgea.out = *e; +UNSUPPORTED("b6jipryp9p354gtq9lwa35lzj"); // fwdedgea.out.base.data = (Agrec_t*)&fwdedgeai; +UNSUPPORTED("568s5ftes1chv9n1s98g9cncf"); // if (ED_tree_index(e) & 32) { +UNSUPPORTED("9hw2l0eu91vauhvj3cxf3andc"); // MAKEFWDEDGE(&fwdedgeb.out, e); +UNSUPPORTED("1rql0qzotc0yyozcfkj9p8xkm"); // agtail(&fwdedgea.out) = aghead(e); +UNSUPPORTED("dw3p473qmkgjvxewsr8pimi2h"); // ED_tail_port(&fwdedgea.out) = ED_head_port(e); +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("2gys0bodxz4fbasfnrvx6ivg2"); // fwdedgebi = *(Agedgeinfo_t*)e->base.data; +UNSUPPORTED("1qqbo2mfls7xhbdno0no8xq54"); // fwdedgeb.out = *e; +UNSUPPORTED("980ksnsma7kvvr9755ge8bhzh"); // fwdedgeb.out.base.data = (Agrec_t*)&fwdedgebi; +UNSUPPORTED("6le0rehxs2odmv3zg1qg5wvd4"); // agtail(&fwdedgea.out) = agtail(e); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("3p0d08nntark676jlv1jl0j27"); // le = getmainedge(e); +UNSUPPORTED("6tmwmfqoz3y8k44xamrpv82tl"); // while (ED_to_virt(le)) +UNSUPPORTED("1c19c7ftue4zoibf7d2tm6uxy"); // le = ED_to_virt(le); +UNSUPPORTED("d29k9lzj5g3d8dfxigwogdnoe"); // aghead(&fwdedgea.out) = aghead(le); +UNSUPPORTED("36l0czce101bg0wbmu68xjd7z"); // ED_head_port(&fwdedgea.out).defined = 0; +UNSUPPORTED("497rb9p6jdgdoyem0y42ecy6c"); // ED_edge_type(&fwdedgea.out) = 1; +UNSUPPORTED("4tjj1vbw4mog2qlouazrdirvw"); // ED_head_port(&fwdedgea.out).p.x = ED_head_port(&fwdedgea.out).p.y = 0; +UNSUPPORTED("8kdma1vi9aibo7isrge0lunrh"); // ED_to_orig(&fwdedgea.out) = e; +UNSUPPORTED("eih8eaai768x1un5mixrtgstp"); // e = &fwdedgea.out; +UNSUPPORTED("bxkpl0bp0qhtxaj6rspd19d1k"); // hackflag = NOT(0); + } else { + if ((ED_tree_index(e) & 32)!=0) { + MAKEFWDEDGE(fwdedgea.getPtr("out"), e); + e = (Agedge_s) fwdedgea.getPtr("out"); + } + } + fe = e; + /* compute the spline points for the edge */ + if ((et == (1 << 1)) && (pointn[0] = makeLineEdge (g, fe, Z.z().pointfs, hn.unsupported()))!=0) { + } + else { + boolean splines = (et == (5 << 1)); + boxn = 0; + pointn[0] = 0; + segfirst = e; + tn = agtail(e); + hn = aghead(e); + b.___(maximal_bbox(g, sp, tn, null, e)); + tend.getStruct("nb").___(b); + beginpath(P, e, 1, tend.amp(), spline_merge(tn)); + b.UR.y = + ((ST_boxf)tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()).UR.y; + b.LL.y = + ((ST_boxf)tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct()).LL.y; + b.___(makeregularend(b, (1<<0), + ND_coord(tn).getDouble("y") - GD_rank(g).plus(ND_rank(tn)).getDouble("ht1"))); + if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) + { + tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn")).setStruct(b); + tend.setInt("boxn", tend.getInt("boxn") + 1); + } + longedge = 0; + smode = false; si = -1; + while (ND_node_type(hn) == 1 && N(((Boolean)Z.z().sinfo.call("splineMerge", hn)).booleanValue())) { + longedge = 1; + Z.z().boxes.plus(boxn++).setStruct(rank_box(sp, g, ND_rank(tn))); + if (N(smode) + && ((sl = straight_len(hn)) >= + ((GD_has_labels(g) & (1 << 0))!=0 ? 4 + 1 : 2 + 1))) { + smode = NOT(false); + si = 1; sl -= 2; + } + if (N(smode) || si > 0) { + si--; + Z.z().boxes.plus(boxn++).setStruct( maximal_bbox(g, sp, hn, e, (Agedge_s) ND_out(hn).getFromList(0))); + e = (Agedge_s) ND_out(hn).getFromList(0); + tn = agtail(e); + hn = aghead(e); + continue; + } + hend.setStruct("nb", maximal_bbox(g, sp, hn, e, (Agedge_s) ND_out(hn).getFromList(0))); + endpath(P, e, 1, hend.amp(), spline_merge(aghead(e))); + b.___(makeregularend((ST_boxf) hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct(), (1<<2), + ND_coord(hn).getDouble("y") + GD_rank(g).plus(ND_rank(hn)).getDouble("ht2"))); + if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) +UNSUPPORTED("1crhubfzekx1qi2ti9ajqsfoc"); // hend.boxes[hend.boxn++] = b; + P.getStruct("end").setDouble("theta", M_PI / 2); + P.getStruct("end").setBoolean("constrained", NOT(false)); + completeregularpath(P, segfirst, e, tend.amp(), hend.amp(), Z.z().boxes, boxn, 1); + if (splines) ps = routesplines(P, pn); + else { +UNSUPPORTED("biyp75vm751j3qmqacagfej4b"); // ps = routepolylines (P, &pn); +UNSUPPORTED("4fmdmgg43suu7ppgrcaofwqzh"); // if ((et == (1 << 1)) && (pn > 4)) { +UNSUPPORTED("2ftwbx9nsy10ldzds3ej4hxi7"); // ps[1] = ps[0]; +UNSUPPORTED("2fedie0btpk43e74p462n0y4n"); // ps[3] = ps[2] = ps[pn-1]; +UNSUPPORTED("3fwatldph3opctz8aieqd214d"); // pn = 4; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } + } + if (pn[0] == 0) + return; + if (pointn[0] + pn[0] > Z.z().numpts) { + /* This should be enough to include 3 extra points added by + * straight_path below. + */ +UNSUPPORTED("k37sqlxbjikqg4xdonnvefo3"); // numpts = 2*(pointn+pn); +UNSUPPORTED("8kbxhk7qirj3tr7hn1ukwar3h"); // pointfs = RALLOC(numpts, pointfs, pointf); + } + for (i = 0; i < pn[0]; i++) { + Z.z().pointfs.plus(pointn[0]++).setStruct(ps.plus(i).getStruct()); + } + e = straight_path((Agedge_s)ND_out(hn).getFromList(0), sl, Z.z().pointfs, pointn); + recover_slack(segfirst, P); + segfirst = e; + tn = agtail(e); + hn = aghead(e); + boxn = 0; + tend.setStruct("nb", maximal_bbox(g, sp, tn, (Agedge_s) ND_in(tn).getFromList(0), e)); + beginpath(P, e, 1, tend.amp(), spline_merge(tn)); + b.___(makeregularend((ST_boxf) tend.getArrayOfStruct("boxes").plus(tend.getInt("boxn") - 1).getStruct(), (1<<0), + ND_coord(tn).getDouble("y") - GD_rank(g).plus(ND_rank(tn)).getDouble("ht1"))); + if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) +UNSUPPORTED("cjx6tldge3otk1pk6ks1pkn2w"); // tend.boxes[tend.boxn++] = b; + P.getStruct("start").setDouble("theta", -M_PI / 2); + P.getStruct("start").setBoolean("constrained", NOT(false)); + smode = false; + } + Z.z().boxes.plus(boxn++).setStruct(rank_box(sp, g, ND_rank(tn))); + b.___(maximal_bbox(g, sp, hn, e, null)); + hend.getStruct("nb").___(b); + endpath(P, hackflag!=0 ? fwdedgeb.getStruct("out").amp() : e, 1, hend.amp(), spline_merge(aghead(e))); + b.UR.y = ((ST_boxf)hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()).UR.y; + b.LL.y = ((ST_boxf)hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn") - 1).getStruct()).LL.y; + b.___(makeregularend(b, (1<<2), + ND_coord(hn).getDouble("y") + GD_rank(g).plus(ND_rank(hn)).getDouble("ht2"))); + if (b.LL.x < b.UR.x && b.LL.y < b.UR.y) + { + hend.getArrayOfStruct("boxes").plus(hend.getInt("boxn")).setStruct(b); + hend.setInt("boxn", hend.getInt("boxn")+1); + } + completeregularpath(P, segfirst, e, tend.amp(), hend.amp(), Z.z().boxes, boxn, + longedge); + if (splines) ps = routesplines(P, pn); + else ps = routepolylines (P, pn); + if ((et == (1 << 1)) && (pn[0] > 4)) { + /* Here we have used the polyline case to handle + * an edge between two nodes on adjacent ranks. If the + * results really is a polyline, straighten it. + */ +UNSUPPORTED("1u7e6lrkiipml54kkm7ylw56t"); // ps[1] = ps[0]; +UNSUPPORTED("76bh6z0xok01d0gdybxcx4ful"); // ps[3] = ps[2] = ps[pn-1]; +UNSUPPORTED("95b6xp8h5ai070bekyjhmiehh"); // pn = 4; + } + if (pn[0] == 0) + return; + if (pointn[0] + pn[0] > Z.z().numpts) { +UNSUPPORTED("c6ux5effs02grz7xh3k8ernda"); // numpts = 2*(pointn+pn); +UNSUPPORTED("bedaqcn9h03q6ia6zbezuee1m"); // pointfs = RALLOC(numpts, pointfs, pointf); + } + for (i = 0; i < pn[0]; i++) { + Z.z().pointfs.plus(pointn[0]).setStruct(ps.plus(i).getStruct()); + pointn[0]++; + } + recover_slack(segfirst, P); + hn = hackflag!=0 ? aghead(fwdedgeb.getStruct("out").amp()) : aghead(e); + } + /* make copies of the spline points, one per multi-edge */ + if (cnt == 1) { + clip_and_install(fe, hn, Z.z().pointfs, pointn[0], Z.z().sinfo.amp()); + return; + } + dx = sp.getInt("Multisep") * (cnt - 1) / 2; + for (i = 1; i < pointn[0] - 1; i++) + Z.z().pointfs.plus(i).setDouble("x", Z.z().pointfs.plus(i).getDouble("x") - dx); + if (Z.z().numpts > Z.z().numpts2) { +UNSUPPORTED("9ubr4m7bdv5f5ldk2ta6yw3up"); // numpts2 = numpts; +UNSUPPORTED("8qwp7ddy5ztgam63fzfjmu890"); // pointfs2 = RALLOC(numpts2, pointfs2, pointf); + } + for (i = 0; i < pointn[0]; i++) + Z.z().pointfs2.plus(i).setStruct(Z.z().pointfs.plus(i).getStruct()); + clip_and_install(fe, hn, Z.z().pointfs2, pointn[0], Z.z().sinfo.amp()); + for (j = 1; j < cnt; j++) { + e = (Agedge_s) edges.plus(ind + j).getPtr(); + if ((ED_tree_index(e) & 32)!=0) { + MAKEFWDEDGE(fwdedge.getStruct("out").amp(), e); + e = (Agedge_s) fwdedge.getStruct("out").amp(); + } + for (i = 1; i < pointn[0] - 1; i++) + Z.z().pointfs.plus(i).setDouble("x", Z.z().pointfs.plus(i).getDouble("x") + sp.getInt("Multisep")); + for (i = 0; i < pointn[0]; i++) + Z.z().pointfs2.plus(i).setStruct(Z.z().pointfs.plus(i).getStruct()); + clip_and_install(e, aghead(e), Z.z().pointfs2, pointn[0], Z.z().sinfo.amp()); + } +} finally { +LEAVING("30wfq1dby4t07hft9io52nq6z","make_regular_edge"); +} +} + + + + +//3 va61hggynvb6z6j34w7otmab +// static void completeregularpath(path * P, edge_t * first, edge_t * last, pathend_t * tendp, pathend_t * hendp, boxf * boxes, int boxn, int flag) +public static void completeregularpath(path P, Agedge_s first, Agedge_s last, pathend_t tendp, pathend_t hendp, __array_of_struct__ boxes, int boxn, int flag) { +ENTERING("va61hggynvb6z6j34w7otmab","completeregularpath"); +try { + Agedge_s uleft, uright, lleft, lright; + int i, fb, lb; + splines spl; + pointf pp; + int pn; + fb = lb = -1; + uleft = uright = null; + uleft = top_bound(first, -1); + uright = top_bound(first, 1); + if (uleft!=null) { + if (N(spl = getsplinepoints(uleft))) return; + pp = (pointf) spl.getArrayOfPtr("list").plus(0).getPtr().getPtr("list"); + pn = spl.getArrayOfPtr("list").plus(0).getPtr().getInt("size"); + } + if (uright!=null) { + if (N(spl = getsplinepoints(uright))) return; + pp = (pointf) spl.getArrayOfPtr("list").plus(0).getPtr().getPtr("list"); + pn = spl.getArrayOfPtr("list").plus(0).getPtr().getInt("size"); + } + lleft = lright = null; + lleft = bot_bound(last, -1); + lright = bot_bound(last, 1); + if (lleft!=null) { + if (N(spl = getsplinepoints(lleft))) return; + pp = (pointf) spl.getArrayOfPtr("list").plus(spl.getInt("size") - 1).getPtr().getPtr("list"); + pn = spl.getArrayOfPtr("list").plus(spl.getInt("size") - 1).getPtr().getInt("size"); + } + if (lright!=null) { + if (N(spl = getsplinepoints(lright))) return; + pp = (pointf) spl.getArrayOfPtr("list").plus(spl.getInt("size") - 1).getPtr().getPtr("list"); + pn = spl.getArrayOfPtr("list").plus(spl.getInt("size") - 1).getPtr().getInt("size"); + } + for (i = 0; i < tendp.getInt("boxn"); i++) + add_box(P, (ST_boxf)tendp.getArrayOfStruct("boxes").plus(i).getStruct()); + fb = P.getInt("nbox") + 1; + lb = fb + boxn - 3; + for (i = 0; i < boxn; i++) + add_box(P, (ST_boxf)boxes.plus(i).getStruct()); + for (i = hendp.getInt("boxn") - 1; i >= 0; i--) + add_box(P, (ST_boxf)hendp.getArrayOfStruct("boxes").plus(i).getStruct()); + adjustregularpath(P, fb, lb); +} finally { +LEAVING("va61hggynvb6z6j34w7otmab","completeregularpath"); +} +} + + + + +//3 3wwhczhpkcnflwr1l9wcga7tq +// static boxf makeregularend(boxf b, int side, double y) +public static __struct__<boxf> makeregularend(final ST_boxf b, int side, double y) { +// WARNING!! STRUCT +return makeregularend_w_(b.copy(), side, y).copy(); +} +private static __struct__<boxf> makeregularend_w_(final ST_boxf b, int side, double y) { +ENTERING("3wwhczhpkcnflwr1l9wcga7tq","makeregularend"); +try { + final __struct__<boxf> newb = JUtils.from(boxf.class); + switch (side) { + case (1<<0): + newb.___(boxfof(b.LL.x, y, b.UR.x, b.LL.y)); + break; + case (1<<2): + newb.___(boxfof(b.LL.x, b.UR.y, b.UR.x, y)); + break; + } + return newb; +} finally { +LEAVING("3wwhczhpkcnflwr1l9wcga7tq","makeregularend"); +} +} + + + + +//3 88xrlzjovkxcnay9b2y5zyiid +// static void adjustregularpath(path * P, int fb, int lb) +public static void adjustregularpath(path P, int fb, int lb) { +ENTERING("88xrlzjovkxcnay9b2y5zyiid","adjustregularpath"); +try { + boxf bp1, bp2; + int i, x; + for (i = fb-1; i < lb+1; i++) { + bp1 = P.getArrayOfPtr("boxes").plus(i).getStruct().amp(); + if ((i - fb) % 2 == 0) { + if (bp1.getStruct("LL").getDouble("x") >= bp1.getStruct("UR").getDouble("x")) { + x = (int)((bp1.getStruct("LL").getDouble("x") + bp1.getStruct("UR").getDouble("x")) / 2); + bp1.getStruct("LL").setDouble("x", x - 8); + bp1.getStruct("UR").setDouble("x", x + 8); + } + } else { + if (bp1.getStruct("LL").getDouble("x") + 16 > bp1.getStruct("UR").getDouble("x")) { + x = (int)((bp1.getStruct("LL").getDouble("x") + bp1.getStruct("UR").getDouble("x")) / 2); + bp1.getStruct("LL").setDouble("x", x - 8); + bp1.getStruct("UR").setDouble("x", x + 8); + } + } + } + for (i = 0; i < P.getInt("nbox") - 1; i++) { + bp1 = P.getArrayOfPtr("boxes").plus(i).getStruct().amp(); + bp2 = P.getArrayOfPtr("boxes").plus(i+1).getStruct().amp(); + if (i >= fb && i <= lb && (i - fb) % 2 == 0) { + if (bp1.getStruct("LL").getDouble("x") + 16 > bp2.getStruct("UR").getDouble("x")) + bp2.getStruct("UR").setDouble("x", bp1.getStruct("LL").getDouble("x") + 16); + if (bp1.getStruct("UR").getDouble("x") - 16 < bp2.getStruct("LL").getDouble("x")) + bp2.getStruct("LL").setDouble("x", bp1.getStruct("UR").getDouble("x") - 16); + } else if (i + 1 >= fb && i < lb && (i + 1 - fb) % 2 == 0) { + if (bp1.getStruct("LL").getDouble("x") + 16 > bp2.getStruct("UR").getDouble("x")) + bp1.getStruct("LL").setDouble("x", bp2.getStruct("UR").getDouble("x") - 16); + if (bp1.getStruct("UR").getDouble("x") - 16 < bp2.getStruct("LL").getDouble("x")) + bp1.getStruct("UR").setDouble("x", bp2.getStruct("LL").getDouble("x") + 16); + } + } +} finally { +LEAVING("88xrlzjovkxcnay9b2y5zyiid","adjustregularpath"); +} +} + + + + +//3 bajn5vx0isu427n6dh131b985 +// static boxf rank_box(spline_info_t* sp, graph_t * g, int r) +public static ST_boxf rank_box(spline_info_t sp, Agraph_s g, int r) { +// WARNING!! STRUCT +return rank_box_w_(sp, g, r).copy(); +} +private static ST_boxf rank_box_w_(spline_info_t sp, Agraph_s g, int r) { +ENTERING("bajn5vx0isu427n6dh131b985","rank_box"); +try { + final ST_boxf b = new ST_boxf(); + Agnode_s /* *right0, *right1, */ left0, left1; + b.___(sp.getPtr("Rank_box").plus(r).getStruct()); + if (b.LL.x == b.UR.x) { + left0 = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr(); + /* right0 = GD_rank(g)[r].v[GD_rank(g)[r].n - 1]; */ + left1 = (Agnode_s) GD_rank(g).plus(r + 1).getArrayOfPtr("v").plus(0).getPtr(); + /* right1 = GD_rank(g)[r + 1].v[GD_rank(g)[r + 1].n - 1]; */ + b.LL.x = sp.getInt("LeftBound"); + b.LL.y = ND_coord(left1).getDouble("y") + GD_rank(g).plus(r + 1).getDouble("ht2"); + b.UR.x = sp.getInt("RightBound"); + b.UR.y = ND_coord(left0).getDouble("y") - GD_rank(g).plus(r).getDouble("ht1"); + sp.getPtr("Rank_box").plus(r).setStruct(b); + } + return b; +} finally { +LEAVING("bajn5vx0isu427n6dh131b985","rank_box"); +} +} + + + + +//3 6qwcnugx2ytjrvi5rgxzyzg5i +// static int straight_len(node_t * n) +public static int straight_len(Agnode_s n) { +ENTERING("6qwcnugx2ytjrvi5rgxzyzg5i","straight_len"); +try { + int cnt = 0; + Agnode_s v; + v = n; + while (true) { + v = (Agnode_s) aghead(ND_out(v).getFromList(0)); + if (ND_node_type(v) != 1) + break; + if ((ND_out(v).size != 1) || (ND_in(v).size != 1)) + break; + if (ND_coord(v).getDouble("x") != ND_coord(n).getDouble("x")) + break; + cnt++; + } + return cnt; +} finally { +LEAVING("6qwcnugx2ytjrvi5rgxzyzg5i","straight_len"); +} +} + + + + +//3 15pgjjuil2c1rjldu29j07gbz +// static edge_t *straight_path(edge_t * e, int cnt, pointf * plist, int *np) +public static Agedge_s straight_path(Agedge_s e, int cnt, __ptr__ plist, int np[]) { +ENTERING("15pgjjuil2c1rjldu29j07gbz","straight_path"); +try { + int n = np[0]; + Agedge_s f = e; + while ((cnt--)!=0) + f = (Agedge_s) ND_out(aghead(f)).getFromList(0); + plist.plus(np[0]++).setStruct(plist.plus(n - 1).getStruct()); + plist.plus(np[0]++).setStruct(plist.plus(n - 1).getStruct()); + plist.plus(np[0]).setStruct(ND_coord(agtail(f))); /* will be overwritten by next spline */ + return f; +} finally { +LEAVING("15pgjjuil2c1rjldu29j07gbz","straight_path"); +} +} + + + + +//3 4ilkzqtegd5uffawb4qcjthu1 +// static void recover_slack(edge_t * e, path * p) +public static void recover_slack(Agedge_s e, path p) { +ENTERING("4ilkzqtegd5uffawb4qcjthu1","recover_slack"); +try { + int b; + Agnode_s vn; + b = 0; /* skip first rank box */ + for (vn = aghead(e); + ND_node_type(vn) == 1 && N(((Boolean)Z.z().sinfo.call("splineMerge", vn)).booleanValue()); + vn = aghead(ND_out(vn).getFromList(0))) { + while ((b < p.getInt("nbox")) && (p.getPtr("boxes").plus(b).getStruct("LL").getDouble("y") > ND_coord(vn).getDouble("y"))) + b++; + if (b >= p.getInt("nbox")) + break; + if (p.getPtr("boxes").plus(b).getStruct("UR").getDouble("y") < ND_coord(vn).getDouble("y")) + continue; + if (ND_label(vn)!=null) + resize_vn(vn, (int)p.getPtr("boxes").plus(b).getStruct("LL").getDouble("x"), (int)p.getPtr("boxes").plus(b).getStruct("UR").getDouble("x"), + (int)(p.getPtr("boxes").plus(b).getStruct("UR").getDouble("x") + ND_rw(vn))); + else + resize_vn(vn, (int)p.getPtr("boxes").plus(b).getStruct("LL").getDouble("x"), (int)((p.getPtr("boxes").plus(b).getStruct("LL").getDouble("x") + + p.getPtr("boxes").plus(b).getStruct("UR").getDouble("x")) / 2), + (int)p.getPtr("boxes").plus(b).getStruct("UR").getDouble("x")); + } +} finally { +LEAVING("4ilkzqtegd5uffawb4qcjthu1","recover_slack"); +} +} + + + + +//3 3vmg1q1r0eb14etvjdk4cukpd +// static void resize_vn(vn, lx, cx, rx) node_t *vn +public static void resize_vn(Agnode_s vn, int lx, int cx, int rx) { +ENTERING("3vmg1q1r0eb14etvjdk4cukpd","resize_vn"); +try { + ND_coord(vn).setDouble("x", cx); + ND_lw(vn, cx - lx); + ND_rw(vn, rx - cx); +} finally { +LEAVING("3vmg1q1r0eb14etvjdk4cukpd","resize_vn"); +} +} + + + + +//3 9t0v5wicmjuc3ij9hko6iawle +// static edge_t *top_bound(edge_t * e, int side) +public static Agedge_s top_bound(Agedge_s e, int side) { +ENTERING("9t0v5wicmjuc3ij9hko6iawle","top_bound"); +try { + Agedge_s f, ans = null; + int i; + for (i = 0; (f = (Agedge_s) ND_out(agtail(e)).getFromList(i))!=null; i++) { + if (side * (ND_order(aghead(f)) - ND_order(aghead(e))) <= 0) + continue; + if ((ED_spl(f) == null) + && ((ED_to_orig(f) == null) || (ED_spl(ED_to_orig(f)) == null))) + continue; + if ((ans == null) + || (side * (ND_order(aghead(ans)) - ND_order(aghead(f))) > 0)) + ans = f; + } + return ans; +} finally { +LEAVING("9t0v5wicmjuc3ij9hko6iawle","top_bound"); +} +} + + + + +//3 9fsg0uiyhtrayd4mimmc0i25e +// static edge_t *bot_bound(edge_t * e, int side) +public static Agedge_s bot_bound(Agedge_s e, int side) { +ENTERING("9fsg0uiyhtrayd4mimmc0i25e","bot_bound"); +try { + Agedge_s f, ans = null; + int i; + for (i = 0; (f = (Agedge_s) ND_in(aghead(e)).getFromList(i))!=null; i++) { + if (side * (ND_order(agtail(f)) - ND_order(agtail(e))) <= 0) + continue; + if ((ED_spl(f) == null) + && ((ED_to_orig(f) == null) || (ED_spl(ED_to_orig(f)) == null))) + continue; + if ((ans == null) + || (side * (ND_order(agtail(ans)) - ND_order(agtail(f))) > 0)) + ans = f; + } + return ans; +} finally { +LEAVING("9fsg0uiyhtrayd4mimmc0i25e","bot_bound"); +} +} + + + + +//3 65uvkv1mextaah5m997ibe3qs +// static int cl_vninside(graph_t * cl, node_t * n) +public static boolean cl_vninside(Agraph_s cl, Agnode_s n) { +ENTERING("65uvkv1mextaah5m997ibe3qs","cl_vninside"); +try { + return (BETWEEN(GD_bb(cl).LL.x, (double)(ND_coord(n).getDouble("x")), GD_bb(cl).UR.x) && + BETWEEN(GD_bb(cl).LL.y, (double)(ND_coord(n).getDouble("y")), GD_bb(cl).UR.y)); +} finally { +LEAVING("65uvkv1mextaah5m997ibe3qs","cl_vninside"); +} +} + + + + +//3 dzvvmxkya868w5x78lkvchigk +// static Agraph_t *cl_bound(graph_t* g, node_t *n, node_t *adj) +public static Agraph_s cl_bound(Agraph_s g, Agnode_s n, Agnode_s adj) { +ENTERING("dzvvmxkya868w5x78lkvchigk","cl_bound"); +try { + Agraph_s rv, cl, tcl, hcl; + Agedge_s orig; + rv = null; + if (ND_node_type(n) == 0) + tcl = hcl = ND_clust(n); + else { + orig = ED_to_orig(ND_out(n).getFromList(0)); + tcl = ND_clust(agtail(orig)); + hcl = ND_clust(aghead(orig)); + } + if (ND_node_type(adj) == 0) { + cl = ( EQ(ND_clust(adj), g) ? null:ND_clust(adj)); + if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl)) + rv = cl; + } else { + orig = ED_to_orig(ND_out(adj).getFromList(0)); + cl = ( EQ(ND_clust(agtail(orig)), g) ? null:ND_clust(agtail(orig))); + if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl) && cl_vninside(cl, adj)) + rv = cl; + else { + cl = ( EQ(ND_clust(aghead(orig)), g) ? null:ND_clust(aghead(orig))); + if (cl!=null && NEQ(cl, tcl) && NEQ(cl, hcl) && cl_vninside(cl, adj)) + rv = cl; + } + } + return rv; +} finally { +LEAVING("dzvvmxkya868w5x78lkvchigk","cl_bound"); +} +} + + + + +//3 6qwgl36ugfnduc5x59ohuewv1 +// static boxf maximal_bbox(graph_t* g, spline_info_t* sp, node_t* vn, edge_t* ie, edge_t* oe) +public static __struct__<boxf> maximal_bbox(Agraph_s g, spline_info_t sp, Agnode_s vn, Agedge_s ie, Agedge_s oe) { +// WARNING!! STRUCT +return maximal_bbox_w_(g, sp, vn, ie, oe).copy(); +} +private static __struct__<boxf> maximal_bbox_w_(Agraph_s g, spline_info_t sp, Agnode_s vn, Agedge_s ie, Agedge_s oe) { +ENTERING("6qwgl36ugfnduc5x59ohuewv1","maximal_bbox"); +try { + double b, nb; + Agraph_s left_cl, right_cl; + Agnode_s left, right; + final ST_boxf rv = new ST_boxf(); + left_cl = right_cl = null; + /* give this node all the available space up to its neighbors */ + b = (double)(ND_coord(vn).getDouble("x") - ND_lw(vn) - 4); + if ((left = neighbor(g, vn, ie, oe, -1))!=null) { + if ((left_cl = cl_bound(g, vn, left))!=null) + nb = GD_bb(left_cl).UR.x + (double)(sp.getInt("Splinesep")); + else { + nb = (double)(ND_coord(left).getDouble("x") + ND_mval(left)); + if (ND_node_type(left) == 0) + nb += GD_nodesep(g) / 2.; + else + nb += (double)(sp.getInt("Splinesep")); + } + if (nb < b) + b = nb; + rv.LL.x = ROUND(b); + } else + rv.LL.x = MIN(ROUND(b), sp.getInt("LeftBound")); + /* we have to leave room for our own label! */ + if ((ND_node_type(vn) == 1) && (ND_label(vn)!=null)) + b = (double)(ND_coord(vn).getDouble("x") + 10); + else + b = (double)(ND_coord(vn).getDouble("x") + ND_rw(vn) + 4); + if ((right = neighbor(g, vn, ie, oe, 1))!=null) { + if ((right_cl = cl_bound(g, vn, right))!=null) + nb = GD_bb(right_cl).LL.x - (double)(sp.getInt("Splinesep")); + else { + nb = ND_coord(right).getDouble("x") - ND_lw(right); + if (ND_node_type(right) == 0) + nb -= GD_nodesep(g) / 2.; + else + nb -= (double)(sp.getInt("Splinesep")); + } + if (nb > b) + b = nb; + rv.UR.x = ROUND(b); + } else + rv.UR.x = MAX(ROUND(b), sp.getInt("RightBound")); + if ((ND_node_type(vn) == 1) && (ND_label(vn)!=null)) { + rv.UR.x = rv.UR.x - ND_rw(vn); + if (rv.UR.x < rv.LL.x) rv.UR.x = ND_coord(vn).getDouble("x"); + } + rv.LL.y = ND_coord(vn).getDouble("y") - GD_rank(g).plus(ND_rank(vn)).getDouble("ht1"); + rv.UR.y = ND_coord(vn).getDouble("y") + GD_rank(g).plus(ND_rank(vn)).getDouble("ht2"); + return rv; +} finally { +LEAVING("6qwgl36ugfnduc5x59ohuewv1","maximal_bbox"); +} +} + + + + +//3 18pm6r3xcy90f0xi5hpm9jdhk +// static node_t * neighbor(graph_t* g, node_t *vn, edge_t *ie, edge_t *oe, int dir) +public static Agnode_s neighbor(Agraph_s g, Agnode_s vn, Agedge_s ie, Agedge_s oe, int dir) { +ENTERING("18pm6r3xcy90f0xi5hpm9jdhk","neighbor"); +try { + int i; + Agnode_s n, rv = null; + __ptr__ rank = GD_rank(g).plus(ND_rank(vn)); + for (i = ND_order(vn) + dir; ((i >= 0) && (i < rank.getInt("n"))); i += dir) { + n = (Agnode_s) rank.getArrayOfPtr("v").plus(i).getPtr(); + if ((ND_node_type(n) == 1) && (ND_label(n)!=null)) { + rv = n; + break; + } + if (ND_node_type(n) == 0) { + rv = n; + break; + } + if (pathscross(n, vn, ie, oe) == false) { + rv = n; + break; + } + } + return rv; +} finally { +LEAVING("18pm6r3xcy90f0xi5hpm9jdhk","neighbor"); +} +} + + + + +//3 f4q0oqe165s9pl5k0th5noeyv +// static boolean pathscross(n0, n1, ie1, oe1) node_t *n0, *n1 +public static boolean pathscross(Agnode_s n0, Agnode_s n1, Agedge_s ie1, Agedge_s oe1) { +ENTERING("f4q0oqe165s9pl5k0th5noeyv","pathscross"); +try { + Agedge_s e0, e1; + Agnode_s na, nb; + boolean order; + int cnt; + order = (ND_order(n0) > ND_order(n1)); + if ((ND_out(n0).size != 1) && (ND_out(n0).size != 1)) + return false; + e1 = oe1; + if (ND_out(n0).size == 1 && e1!=null) { + e0 = (Agedge_s) ND_out(n0).getFromList(0); + for (cnt = 0; cnt < 2; cnt++) { + if (EQ(na = aghead(e0), nb = aghead(e1))) + break; + if (order != (ND_order(na) > ND_order(nb))) + return NOT(false); + if ((ND_out(na).size != 1) || (ND_node_type(na) == 0)) + break; + e0 = (Agedge_s) ND_out(na).getFromList(0); + if ((ND_out(nb).size != 1) || (ND_node_type(nb) == 0)) + break; + e1 = (Agedge_s) ND_out(nb).getFromList(0); + } + } + e1 = ie1; + if (ND_in(n0).size == 1 && e1!=null) { + e0 = (Agedge_s) ND_in(n0).getFromList(0); + for (cnt = 0; cnt < 2; cnt++) { + if (EQ(na = agtail(e0), nb = agtail(e1))) + break; + if (order != (ND_order(na) > ND_order(nb))) + return NOT(false); + if ((ND_in(na).size != 1) || (ND_node_type(na) == 0)) + break; + e0 = (Agedge_s) ND_in(na).getFromList(0); + if ((ND_in(nb).size != 1) || (ND_node_type(nb) == 0)) + break; + e1 = (Agedge_s) ND_in(nb).getFromList(0); + } + } + return false; +} finally { +LEAVING("f4q0oqe165s9pl5k0th5noeyv","pathscross"); +} +} + + +} diff --git a/src/gen/lib/dotgen/fastgr__c.java b/src/gen/lib/dotgen/fastgr__c.java new file mode 100644 index 0000000..6f9e9fe --- /dev/null +++ b/src/gen/lib/dotgen/fastgr__c.java @@ -0,0 +1,1215 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.obj__c.agroot; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.sizeof; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.AGINEDGE; +import static smetana.core.Macro.AGNODE; +import static smetana.core.Macro.AGOUTEDGE; +import static smetana.core.Macro.AGSEQ; +import static smetana.core.Macro.AGTYPE; +import static smetana.core.Macro.ED_count; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_head_port; +import static smetana.core.Macro.ED_minlen; +import static smetana.core.Macro.ED_tail_port; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.ED_xpenalty; +import static smetana.core.Macro.GD_has_flat_edges; +import static smetana.core.Macro.GD_n_nodes; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.ND_UF_size; +import static smetana.core.Macro.ND_flat_in; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_ht; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_prev; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.UNSUPPORTED; +import static smetana.core.Macro.aghead; +import static smetana.core.Macro.agtail; +import static smetana.core.Macro.alloc_elist; +import static smetana.core.Macro.elist_append; +import h.Agedge_s; +import h.Agedgeinfo_t; +import h.Agedgepair_s; +import h.Agnode_s; +import h.Agnodeinfo_t; +import h.Agraph_s; +import h.Agrec_s; +import h.ST_elist; +import h.boxf; +import h.elist; +import h.pointf; +import smetana.core.JUtils; +import smetana.core.__struct__; + +public class fastgr__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 econbrl314rr46qnvvw5e32j7 +// static edge_t *ffe(node_t * u, elist uL, node_t * v, elist vL) +public static Agedge_s ffe(Agnode_s u, final ST_elist uL, Agnode_s v, final ST_elist vL) { +// WARNING!! STRUCT +return ffe_w_(u, uL.copy(), v, vL.copy()); +} +private static Agedge_s ffe_w_(Agnode_s u, final ST_elist uL, Agnode_s v, final ST_elist vL) { +ENTERING("econbrl314rr46qnvvw5e32j7","ffe"); +try { + int i; + Agedge_s e = null; + if ((uL.size > 0) && (vL.size > 0)) { + if (uL.size < vL.size) { + for (i = 0; (e = (Agedge_s) uL.getFromList(i))!=null; i++) + if (EQ(aghead(e), v)) + break; + } else { + for (i = 0; (e = (Agedge_s) vL.getFromList(i))!=null; i++) + if (EQ(agtail(e), u)) + break; + } + } else + e = null; + return e; +} finally { +LEAVING("econbrl314rr46qnvvw5e32j7","ffe"); +} +} + + + + +//3 1uygfrgur73lfy9vsjozwwupm +// edge_t *find_fast_edge(node_t * u, node_t * v) +public static Agedge_s find_fast_edge(Agnode_s u, Agnode_s v) { +ENTERING("1uygfrgur73lfy9vsjozwwupm","find_fast_edge"); +try { + return ffe(u, ND_out(u), v, ND_in(v)); +} finally { +LEAVING("1uygfrgur73lfy9vsjozwwupm","find_fast_edge"); +} +} + + + + +//3 1yw7ahdnxnexnicj552zqyyej +// static node_t* find_fast_node(graph_t * g, node_t * n) +public static Agnode_s find_fast_node(Agraph_s g, Agnode_s n) { +ENTERING("1yw7ahdnxnexnicj552zqyyej","find_fast_node"); +try { + Agnode_s v; + for (v = GD_nlist(g); v!=null; v = ND_next(v)) + if (EQ(v, n)) + break; + return v; +} finally { +LEAVING("1yw7ahdnxnexnicj552zqyyej","find_fast_node"); +} +} + + + + +//3 bf1j97keudu416avridkj9fpb +// edge_t *find_flat_edge(node_t * u, node_t * v) +public static Agedge_s find_flat_edge(Agnode_s u, Agnode_s v) { +ENTERING("bf1j97keudu416avridkj9fpb","find_flat_edge"); +try { + return ffe(u, ND_flat_out(u), v, ND_flat_in(v)); +} finally { +LEAVING("bf1j97keudu416avridkj9fpb","find_flat_edge"); +} +} + + + + +//3 cttswsffgmw1g710jzvdd3wzn +// static void safe_list_append(edge_t * e, elist * L) +public static Object safe_list_append(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("3kdqf9wvozj4zu6wrv6ur2k47"); // safe_list_append(edge_t * e, elist * L) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("dhvbzrcz6s76mme3x94begmvr"); // for (i = 0; i < L->size; i++) +UNSUPPORTED("c0a4ruccwt5263vw39xrttm0y"); // if (e == L->list[i]) +UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; +UNSUPPORTED("cslejjtgepjdwlcykfas4fmvz"); // elist_append(e, (*L)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8t6gpubo908pz1pqnt1s88lnt +// edge_t *fast_edge(edge_t * e) +public static Agedge_s fast_edge(Agedge_s e) { +ENTERING("8t6gpubo908pz1pqnt1s88lnt","fast_edge"); +try { + elist_append(e, ND_out(agtail(e))); + elist_append(e, ND_in(aghead(e))); + return e; +} finally { +LEAVING("8t6gpubo908pz1pqnt1s88lnt","fast_edge"); +} +} + + + + +//3 dxb0q8ajb7iv25aj6zdqnbwh5 +// void zapinlist(elist * L, edge_t * e) +public static void zapinlist(elist L, Agedge_s e) { +ENTERING("dxb0q8ajb7iv25aj6zdqnbwh5","zapinlist"); +try { + int i; + for (i = 0; i < L.getInt("size"); i++) { + if (EQ(L.getArrayOfPtr("list").plus(i).getPtr(), e)) { + L.setInt("size", L.getInt("size")-1); + L.getArrayOfPtr("list").plus(i).setPtr(L.getArrayOfPtr("list").plus(L.getInt("size")).getPtr()); + L.getArrayOfPtr("list").plus(L.getInt("size")).setPtr(null); + break; + } + } +} finally { +LEAVING("dxb0q8ajb7iv25aj6zdqnbwh5","zapinlist"); +} +} + + + + +//3 dkv97rr4ytpehp291etaxe9gc +// void delete_fast_edge(edge_t * e) +public static void delete_fast_edge(Agedge_s e) { +ENTERING("dkv97rr4ytpehp291etaxe9gc","delete_fast_edge"); +try { + //assert(e != NULL); + zapinlist((ND_out(agtail(e))).amp(), e); + zapinlist((ND_in(aghead(e))).amp(), e); +} finally { +LEAVING("dkv97rr4ytpehp291etaxe9gc","delete_fast_edge"); +} +} + + + + +//3 b8a9hlxts1y43x7r4f31vwee6 +// static void safe_delete_fast_edge(edge_t * e) +public static Object safe_delete_fast_edge(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("bw8hdfe3bql5qxhdyxjh12iaf"); // safe_delete_fast_edge(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("6ag74vz3kjmohe4bp89fktey4"); // edge_t *f; +UNSUPPORTED("axei6r4pdvrumkaqc9p82yzjh"); // assert(e != NULL); +UNSUPPORTED("f10apexer8zzjd53hdc3kc6l5"); // for (i = 0; (f = ND_out(agtail(e)).list[i]); i++) +UNSUPPORTED("dibajtvzac9fny0wd51x9jto8"); // if (f == e) +UNSUPPORTED("8jj8ar5kwgfuzsk5nd6eyfcmc"); // zapinlist(&(ND_out(agtail(e))), e); +UNSUPPORTED("7h2ym5qzjdgt4gg6uscho1z1e"); // for (i = 0; (f = ND_in(aghead(e)).list[i]); i++) +UNSUPPORTED("dibajtvzac9fny0wd51x9jto8"); // if (f == e) +UNSUPPORTED("dyemtglp4tpava0oysdm66am8"); // zapinlist(&(ND_in(aghead(e))), e); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 73oebfcfiescklohgt8mddswc +// void other_edge(edge_t * e) +public static void other_edge(Agedge_s e) { +ENTERING("73oebfcfiescklohgt8mddswc","other_edge"); +try { + elist_append(e, ND_other(agtail(e))); +} finally { +LEAVING("73oebfcfiescklohgt8mddswc","other_edge"); +} +} + + + + +//3 4zg1fp1b7bhnx2tbeaij8yeel +// void safe_other_edge(edge_t * e) +public static Object safe_other_edge(Object... arg) { +UNSUPPORTED("3cc9ux78ad0yjajm0nkpos345"); // void safe_other_edge(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("bn816jsdz3qke6htvbwvztrpc"); // safe_list_append(e, &(ND_other(agtail(e)))); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4gd9tmpq70q0rij5otj0k6sn2 +// edge_t *new_virtual_edge(node_t * u, node_t * v, edge_t * orig) +public static Agedge_s new_virtual_edge(Agnode_s u, Agnode_s v, Agedge_s orig) { +ENTERING("4gd9tmpq70q0rij5otj0k6sn2","new_virtual_edge"); +try { + Agedge_s e; + Agedgepair_s e2 = (Agedgepair_s)zmalloc(sizeof(Agedgepair_s.class)); + AGTYPE(e2.getStruct("in").amp(), AGINEDGE); + AGTYPE(e2.getStruct("out").amp(), AGOUTEDGE); + e2.getStruct("out").getStruct("base").setPtr("data", zmalloc(sizeof(Agedgeinfo_t.class)).castTo(Agedgeinfo_t.class).castTo(Agrec_s.class)); + e = (Agedge_s) e2.getStruct("out").amp(); + agtail(e, u); + aghead(e, v); + ED_edge_type(e, 1); + if (orig!=null) { + AGSEQ(e, AGSEQ(orig)); + AGSEQ(e2.getStruct("in").amp(), AGSEQ(orig)); + ED_count(e, ED_count(orig)); + ED_xpenalty(e, ED_xpenalty(orig)); + ED_weight(e, ED_weight(orig)); + ED_minlen(e, ED_minlen(orig)); + if (EQ(agtail(e), agtail(orig))) + ED_tail_port(e, ED_tail_port(orig)); + else if (EQ(agtail(e), aghead(orig))) + ED_tail_port(e, ED_head_port(orig)); + if (EQ(aghead(e), aghead(orig))) + ED_head_port(e, ED_head_port(orig)); + else if (EQ(aghead(e), agtail(orig))) + ED_head_port(e, ED_tail_port(orig)); + if (ED_to_virt(orig) == null) + ED_to_virt(orig, e); + ED_to_orig(e, orig); + } else { + ED_minlen(e, 1); + ED_count(e, 1); + ED_xpenalty(e, 1); + ED_weight(e, 1); + } + return e; +} finally { +LEAVING("4gd9tmpq70q0rij5otj0k6sn2","new_virtual_edge"); +} +} + + + + +//3 9obdfflzw4cs2z9r0dng26mvw +// edge_t *virtual_edge(node_t * u, node_t * v, edge_t * orig) +public static Agedge_s virtual_edge(Agnode_s u, Agnode_s v, Agedge_s orig) { +ENTERING("9obdfflzw4cs2z9r0dng26mvw","virtual_edge"); +try { + return fast_edge(new_virtual_edge(u, v, orig)); +} finally { +LEAVING("9obdfflzw4cs2z9r0dng26mvw","virtual_edge"); +} +} + + + + +//3 98hkec8t6fjk10bjpstumw0ey +// void fast_node(graph_t * g, Agnode_t * n) +public static void fast_node(Agraph_s g, Agnode_s n) { +ENTERING("98hkec8t6fjk10bjpstumw0ey","fast_node"); +try { + ND_next(n, GD_nlist(g)); + if (ND_next(n)!=null) + ND_prev(ND_next(n), n); + GD_nlist(g, n); + ND_prev(n, null); + //assert(n != ND_next(n)); +} finally { +LEAVING("98hkec8t6fjk10bjpstumw0ey","fast_node"); +} +} + + + + +//3 66jdzhjfa6kx3ntfyl5t7cehm +// void fast_nodeapp(node_t * u, node_t * v) +public static Object fast_nodeapp(Object... arg) { +UNSUPPORTED("24rf80znlmwn6xx6m03vqyykr"); // void fast_nodeapp(node_t * u, node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8g450a5aruflexr2yn977dnjz"); // assert(u != v); +UNSUPPORTED("dw67xh0kd304grgqkgiffmejh"); // assert(ND_next(v) == NULL); +UNSUPPORTED("1tm9zh31fbm0sufjyg78ke83i"); // ND_next(v) = ND_next(u); +UNSUPPORTED("cswodtimhknr7wxlbmhxfzutw"); // if (ND_next(u)) +UNSUPPORTED("7aukr7lwtj4wnis5h9ciserpd"); // ND_prev(ND_next(u)) = v; +UNSUPPORTED("6oaowqmk3llh0vp3h096bo6nq"); // ND_prev(v) = u; +UNSUPPORTED("5ymiaen2fr7qzsn4uotyf2eqy"); // ND_next(u) = v; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 emsq7b6s5100lscckzy3ileqd +// void delete_fast_node(graph_t * g, node_t * n) +public static void delete_fast_node(Agraph_s g, Agnode_s n) { +ENTERING("emsq7b6s5100lscckzy3ileqd","delete_fast_node"); +try { + assert(find_fast_node(g, n)!=null); + if (ND_next(n)!=null) + ND_prev(ND_next(n), ND_prev(n)); + if (ND_prev(n)!=null) + ND_next(ND_prev(n), ND_next(n)); + else + GD_nlist(g, ND_next(n)); +} finally { +LEAVING("emsq7b6s5100lscckzy3ileqd","delete_fast_node"); +} +} + + + + +//3 eg08ajzojsm0224btmfi7kdxt +// node_t *virtual_node(graph_t * g) +public static Agnode_s virtual_node(Agraph_s g) { +ENTERING("eg08ajzojsm0224btmfi7kdxt","virtual_node"); +try { + Agnode_s n; + n = (Agnode_s)zmalloc(sizeof(Agnode_s.class)); +// agnameof(n) = "virtual"; + AGTYPE(n, AGNODE); + n.getStruct("base").setPtr("data", (Agnodeinfo_t)zmalloc(sizeof(Agnodeinfo_t.class))); + n.setPtr("root", agroot(g)); + ND_node_type(n, 1); + ND_rw(n, 1); + ND_lw(n, 1); + ND_ht(n, 1); + ND_UF_size(n, 1); + alloc_elist(4, ND_in(n), Agnode_s.class); + alloc_elist(4, ND_out(n), Agnode_s.class); + fast_node(g, n); + GD_n_nodes(g, GD_n_nodes(g)+1); + return n; +} finally { +LEAVING("eg08ajzojsm0224btmfi7kdxt","virtual_node"); +} +} + + + + +//3 8dvukicq96g5t3xgdl0ue35mj +// void flat_edge(graph_t * g, edge_t * e) +public static void flat_edge(Agraph_s g, Agedge_s e) { +ENTERING("8dvukicq96g5t3xgdl0ue35mj","flat_edge"); +try { + elist_append(e, ND_flat_out(agtail(e))); + elist_append(e, ND_flat_in(aghead(e))); + GD_has_flat_edges(g, NOT(false)); + GD_has_flat_edges(dot_root(g), NOT(false)); +} finally { +LEAVING("8dvukicq96g5t3xgdl0ue35mj","flat_edge"); +} +} + + + + +//3 clspalhiuedfnk9g9rlvfqpg7 +// void delete_flat_edge(edge_t * e) +public static void delete_flat_edge(Agedge_s e) { +ENTERING("clspalhiuedfnk9g9rlvfqpg7","delete_flat_edge"); +try { + assert(e != null); + if (ED_to_orig(e)!=null && EQ(ED_to_virt(ED_to_orig(e)), e)) + ED_to_virt(ED_to_orig(e), null); + zapinlist((ND_flat_out(agtail(e))).amp(), e); + zapinlist((ND_flat_in(aghead(e))).amp(), e); +} finally { +LEAVING("clspalhiuedfnk9g9rlvfqpg7","delete_flat_edge"); +} +} + + + + +//3 dcfpol11cvlt6aaa6phqbp6fo +// static void basic_merge(edge_t * e, edge_t * rep) +public static void basic_merge(Agedge_s e, Agedge_s rep) { +ENTERING("dcfpol11cvlt6aaa6phqbp6fo","basic_merge"); +try { + if (ED_minlen(rep) < ED_minlen(e)) + ED_minlen(rep, ED_minlen(e)); + while (rep!=null) { + ED_count(rep, ED_count(rep) + ED_count(e)); + ED_xpenalty(rep, ED_xpenalty(rep) +ED_xpenalty(e)); + ED_weight(rep, ED_weight(rep) + ED_weight(e)); + rep = ED_to_virt(rep); + } +} finally { +LEAVING("dcfpol11cvlt6aaa6phqbp6fo","basic_merge"); +} +} + + + + +//3 6dxgtoii76tmonlnvz4rmiytd +// void merge_oneway(edge_t * e, edge_t * rep) +public static void merge_oneway(Agedge_s e, Agedge_s rep) { +ENTERING("6dxgtoii76tmonlnvz4rmiytd","merge_oneway"); +try { + if (EQ(rep, ED_to_virt(e))) { +UNSUPPORTED("84xxsh1cgsif42hgizyxw36ul"); // agerr(AGWARN, "merge_oneway glitch\n"); +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; + } + //assert(ED_to_virt(e) == NULL); + ED_to_virt(e, rep); + basic_merge(e, rep); +} finally { +LEAVING("6dxgtoii76tmonlnvz4rmiytd","merge_oneway"); +} +} + + + + +//3 656h1u18x3gommk50i4bak8wi +// static void unrep(edge_t * rep, edge_t * e) +public static Object unrep(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("1cysdqgx90krtmp6pc8358byz"); // unrep(edge_t * rep, edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("az4p9xxo3dhparzmtf3co61n"); // ED_count(rep) -= ED_count(e); +UNSUPPORTED("bf8f3cgvxc5n9ixbj4d1z94r0"); // ED_xpenalty(rep) -= ED_xpenalty(e); +UNSUPPORTED("5m9h7kqjxjgizf3o1i6udm3c5"); // ED_weight(rep) -= ED_weight(e); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 62io7qyqg9kqthfkbotnjdq49 +// void unmerge_oneway(edge_t * e) +public static Object unmerge_oneway(Object... arg) { +UNSUPPORTED("3rlflkkd29cm53ssikvrqx06v"); // void unmerge_oneway(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("3we8ga4x5k2sj4s20xlwumjq5"); // edge_t *rep, *nextrep; +UNSUPPORTED("e23vpxy61ysfsjvp3u2boafhb"); // for (rep = ED_to_virt(e); rep; rep = nextrep) { +UNSUPPORTED("bifyf7jydjlvj8u8hc9tqwutm"); // unrep(rep, e); +UNSUPPORTED("eyjz7xjwxabdlqhyvuzfkks49"); // nextrep = ED_to_virt(rep); +UNSUPPORTED("4h71tbcobl3o6put6h58thpgu"); // if (ED_count(rep) == 0) +UNSUPPORTED("c87nxr35m1again4xqc8x4rhh"); // safe_delete_fast_edge(rep); /* free(rep)? */ +UNSUPPORTED("9np2sz8r74ucvij23elgzxkr4"); // /* unmerge from a virtual edge chain */ +UNSUPPORTED("5wohy8hhosadqtj6712ufa10t"); // while ((ED_edge_type(rep) == 1) +UNSUPPORTED("9nortwuccpr0jx3z027d2jcyh"); // && (ND_node_type(aghead(rep)) == 1) +UNSUPPORTED("drowv2sbxmbe2b6632mn3luww"); // && (ND_out(aghead(rep)).size == 1)) { +UNSUPPORTED("6f9b53obe00vhcbxj865xc57u"); // rep = ND_out(aghead(rep)).list[0]; +UNSUPPORTED("11fxzls2ru6go1mcuza6i8zhv"); // unrep(rep, e); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("bm31ww0y2fu2w9n5nyi04ad76"); // ED_to_virt(e) = NULL; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} diff --git a/src/gen/lib/dotgen/flat__c.java b/src/gen/lib/dotgen/flat__c.java new file mode 100644 index 0000000..a3e79f3 --- /dev/null +++ b/src/gen/lib/dotgen/flat__c.java @@ -0,0 +1,1099 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static gen.lib.dotgen.fastgr__c.virtual_edge; +import static gen.lib.dotgen.fastgr__c.virtual_node; +import static gen.lib.dotgen.mincross__c.rec_reset_vlists; +import static gen.lib.dotgen.mincross__c.rec_save_vlists; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.sizeof_starstar_empty; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ALLOC; +import static smetana.core.Macro.ED_adjacent; +import static smetana.core.Macro.ED_dist; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_head_port; +import static smetana.core.Macro.ED_label; +import static smetana.core.Macro.ED_tail_port; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_rank; +import static smetana.core.Macro.GD_ranksep; +import static smetana.core.Macro.MAX; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_alg; +import static smetana.core.Macro.ND_coord; +import static smetana.core.Macro.ND_flat_in; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_ht; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_label; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_order; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.pointf; +import h.rank_t; +import smetana.core.JUtils; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class flat__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 e0gtvsxlvztmwu8yy44wfvf97 +// static node_t *make_vn_slot(graph_t * g, int r, int pos) +public static Agnode_s make_vn_slot(Agraph_s g, int r, int pos) { +ENTERING("e0gtvsxlvztmwu8yy44wfvf97","make_vn_slot"); +try { + int i; + __ptr__ v; + Agnode_s n; + v = ALLOC(GD_rank(g).plus(r).getInt("n") + 2, GD_rank(g).plus(r).getPtr("v"), Agnode_s.class); + GD_rank(g).plus(r).setPtr("v", v); + for (i = GD_rank(g).plus(r).getInt("n"); i > pos; i--) { + v.plus(i).setPtr(v.plus(i - 1).getPtr()); + ND_order(v.plus(i).getPtr(), ND_order(v.plus(i).getPtr())+1); + } + n = virtual_node(g); + v.plus(pos).setPtr(n); + ND_order(n, pos); + ND_rank(n, r); + GD_rank(g).plus(r).setInt("n", GD_rank(g).plus(r).getInt("n")+1); + v.plus(GD_rank(g).plus(r).getInt("n")).setPtr(null); + return (Agnode_s) v.plus(pos).getPtr(); +} finally { +LEAVING("e0gtvsxlvztmwu8yy44wfvf97","make_vn_slot"); +} +} + + + + +//3 d64wt9oqphauv3hp4axbg2ep3 +// static void findlr(node_t * u, node_t * v, int *lp, int *rp) +public static void findlr(Agnode_s u, Agnode_s v, int lp[], int rp[]) { +ENTERING("d64wt9oqphauv3hp4axbg2ep3","findlr"); +try { + int l, r; + l = ND_order(u); + r = ND_order(v); + if (l > r) { + int t = l; + l = r; + r = t; + } + lp[0] = l; + rp[0] = r; +} finally { +LEAVING("d64wt9oqphauv3hp4axbg2ep3","findlr"); +} +} + + + + +//3 bwjjmaydx5a2fnpeoligkha0r +// static void setbounds(node_t * v, int *bounds, int lpos, int rpos) +public static void setbounds(Agnode_s v, int bounds[], int lpos[], int rpos[]) { +ENTERING("bwjjmaydx5a2fnpeoligkha0r","setbounds"); +try { + int i, ord; + int[] l = new int[1], r = new int[1]; + Agedge_s f; + if (ND_node_type(v) == 1) { + ord = ND_order(v); + if (ND_in(v).size == 0) { /* flat */ + assert(ND_out(v).size == 2); + findlr((Agnode_s) aghead(ND_out(v).getFromList(0)), (Agnode_s) aghead(ND_out(v).getFromList(1)), l, + r); + /* the other flat edge could be to the left or right */ + if (r[0] <= lpos[0]) + bounds[2] = bounds[0] = ord; + else if (l[0] >= rpos[0]) + bounds[3] = bounds[1] = ord; + /* could be spanning this one */ + else if ((l[0] < lpos[0]) && (r[0] > rpos[0])); /* ignore */ + /* must have intersecting ranges */ + else { + if ((l[0] < lpos[0]) || ((l[0] == lpos[0]) && (r[0] < rpos[0]))) + bounds[2] = ord; + if ((r[0] > rpos[0]) || ((r[0] == rpos[0]) && (l[0] > lpos[0]))) + bounds[3] = ord; + } + } else { /* forward */ + boolean onleft, onright; + onleft = onright = false; + for (i = 0; (f = (Agedge_s) ND_out(v).getFromList(i))!=null; i++) { + if (ND_order(aghead(f)) <= lpos[0]) { + onleft = NOT(false); + continue; + } + if (ND_order(aghead(f)) >= rpos[0]) { + onright = NOT(false); + continue; + } + } + if (onleft && (onright == false)) + bounds[0] = ord + 1; + if (onright && (onleft == false)) + bounds[1] = ord - 1; + } + } +} finally { +LEAVING("bwjjmaydx5a2fnpeoligkha0r","setbounds"); +} +} + + + + +//3 3bc4otcsxj1dujj49ydbb19oa +// static int flat_limits(graph_t * g, edge_t * e) +public static int flat_limits(Agraph_s g, Agedge_s e) { +ENTERING("3bc4otcsxj1dujj49ydbb19oa","flat_limits"); +try { + int lnode, rnode, r, pos; + int[] lpos = new int[1], rpos = new int[1]; + int bounds[] = new int[4]; + __ptr__ rank; + r = ND_rank(agtail(e)) - 1; + rank = GD_rank(g).plus(r).getPtr("v"); + lnode = 0; + rnode = GD_rank(g).plus(r).getInt("n") - 1; + bounds[0] = bounds[2] = lnode - 1; + bounds[1] = bounds[3] = rnode + 1; + findlr(agtail(e), aghead(e), lpos, rpos); + while (lnode <= rnode) { + setbounds((Agnode_s)rank.plus(lnode).getPtr(), bounds, lpos, rpos); + if (lnode != rnode) + setbounds((Agnode_s)rank.plus(rnode).getPtr(), bounds, lpos, rpos); + lnode++; + rnode--; + if (bounds[1] - bounds[0] <= 1) + break; + } + if (bounds[0] <= bounds[1]) + pos = (bounds[0] + bounds[1] + 1) / 2; + else + pos = (bounds[2] + bounds[3] + 1) / 2; + return pos; +} finally { +LEAVING("3bc4otcsxj1dujj49ydbb19oa","flat_limits"); +} +} + + + + +//3 4cw9yo9ap8ze1r873v6jat4yc +// static void flat_node(edge_t * e) +public static void flat_node(Agedge_s e) { +ENTERING("4cw9yo9ap8ze1r873v6jat4yc","flat_node"); +try { + int r, place, ypos, h2; + Agraph_s g; + Agnode_s n, vn; + Agedge_s ve; + final __struct__<pointf> dimen = JUtils.from(pointf.class); + if (ED_label(e) == null) + return; + g = dot_root(agtail(e)); + r = ND_rank(agtail(e)); + place = flat_limits(g, e); + /* grab ypos = LL.y of label box before make_vn_slot() */ + if ((n = (Agnode_s) GD_rank(g).plus(r - 1).getArrayOfPtr("v").plus(0).getPtr())!=null) + ypos = (int)(ND_coord(n).getDouble("y") - GD_rank(g).plus(r - 1).getDouble("ht1")); + else { + n = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr(); + ypos = (int)(ND_coord(n).getDouble("y") + GD_rank(g).plus(r).getDouble("ht2") + GD_ranksep(g)); + } + vn = make_vn_slot(g, r - 1, place); + dimen.___(ED_label(e).getStruct("dimen")); + if (GD_flip(g)!=0) { + double f = dimen.getDouble("x"); + dimen.setDouble("x", dimen.getDouble("y")); + dimen.setDouble("y", f); + } + ND_ht(vn, dimen.getDouble("y")); + h2 = (int)(ND_ht(vn) / 2); + ND_rw(vn, dimen.getDouble("x") / 2); + ND_lw(vn, ND_rw(vn)); + ND_label(vn, ED_label(e)); + ND_coord(vn).setDouble("y", ypos + h2); + ve = virtual_edge(vn, agtail(e), e); /* was NULL? */ + ED_tail_port(ve).getStruct("p").setDouble("x", -ND_lw(vn)); + ED_head_port(ve).getStruct("p").setDouble("x", ND_rw(agtail(e))); + ED_edge_type(ve, 4); + ve = virtual_edge(vn, aghead(e), e); + ED_tail_port(ve).getStruct("p").setDouble("x", ND_rw(vn)); + ED_head_port(ve).getStruct("p").setDouble("x", ND_lw(aghead(e))); + ED_edge_type(ve, 4); + /* another assumed symmetry of ht1/ht2 of a label node */ + if (GD_rank(g).plus(r - 1).getDouble("ht1") < h2) + GD_rank(g).plus(r - 1).setDouble("ht1", h2); + if (GD_rank(g).plus(r - 1).getDouble("ht2") < h2) + GD_rank(g).plus(r - 1).setDouble("ht2", h2); + ND_alg(vn, e); +} finally { +LEAVING("4cw9yo9ap8ze1r873v6jat4yc","flat_node"); +} +} + + + + +//3 1lopavodoru6ee52snd5l6swd +// static void abomination(graph_t * g) +public static void abomination(Agraph_s g) { +ENTERING("1lopavodoru6ee52snd5l6swd","abomination"); +try { + int r; + __ptr__ rptr; + assert(GD_minrank(g) == 0); + /* 3 = one for new rank, one for sentinel, one for off-by-one */ + r = GD_maxrank(g) + 3; + rptr = ALLOC(r, GD_rank(g), rank_t.class); + GD_rank(g, rptr.plus(1)); + for (r = GD_maxrank(g); r >= 0; r--) + GD_rank(g).plus(r).getPtr().setStruct(GD_rank(g).plus(r - 1).getPtr().getStruct()); + GD_rank(g).plus(r).setInt("n", 0); + GD_rank(g).plus(r).setInt("an", 0); + GD_rank(g).plus(r).setPtr("v", zmalloc(sizeof_starstar_empty(Agnode_s.class, 2))); + GD_rank(g).plus(r).setPtr("av", GD_rank(g).plus(r).getPtr("v")); + GD_rank(g).plus(r).setPtr("flat", null); + GD_rank(g).plus(r).setDouble("ht1", 1); + GD_rank(g).plus(r).setDouble("ht2", 1); + GD_rank(g).plus(r).setDouble("pht1", 1); + GD_rank(g).plus(r).setDouble("pht2", 1); + GD_minrank(g, GD_minrank(g)-1); +} finally { +LEAVING("1lopavodoru6ee52snd5l6swd","abomination"); +} +} + + + + +//3 ctujx6e8k3rzv08h6gswdcaqs +// static void checkFlatAdjacent (edge_t* e) +public static void checkFlatAdjacent(Agedge_s e) { +ENTERING("ctujx6e8k3rzv08h6gswdcaqs","checkFlatAdjacent"); +try { + Agnode_s tn = agtail(e); + Agnode_s hn = aghead(e); + int i, lo, hi; + Agnode_s n; + __ptr__ rank; + if (ND_order(tn) < ND_order(hn)) { + lo = ND_order(tn); + hi = ND_order(hn); + } + else { + lo = ND_order(hn); + hi = ND_order(tn); + } + rank = GD_rank(dot_root(tn)).plus(ND_rank(tn)); + for (i = lo + 1; i < hi; i++) { + n = (Agnode_s) rank.getArrayOfPtr("v").plus(i).getPtr(); + if ((ND_node_type(n) == 1 && ND_label(n)!=null) || + ND_node_type(n) == 0) + break; + } + if (i == hi) { /* adjacent edge */ + do { + ED_adjacent(e, 1); + e = ED_to_virt(e); + } while (e!=null); + } +} finally { +LEAVING("ctujx6e8k3rzv08h6gswdcaqs","checkFlatAdjacent"); +} +} + + + + +//3 bjwwj6ftkm0gv04cf1edqeaw6 +// int flat_edges(graph_t * g) +public static int flat_edges(Agraph_s g) { +ENTERING("bjwwj6ftkm0gv04cf1edqeaw6","flat_edges"); +try { + int i, j, reset = 0; + Agnode_s n; + Agedge_s e; + int found = 0; + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + if (ND_flat_out(n).listNotNull()) { + for (j = 0; (e = (Agedge_s) ND_flat_out(n).getFromList(j))!=null; j++) { + checkFlatAdjacent (e); + } + } + for (j = 0; j < ND_other(n).size; j++) { + e = (Agedge_s) ND_other(n).getFromList(j); + if (ND_rank(aghead(e)) == ND_rank(agtail(e))) + checkFlatAdjacent (e); + } + } + if ((GD_rank(g).plus(0).getPtr("flat")!=null) || (GD_n_cluster(g) > 0)) { + for (i = 0; (n = (Agnode_s) GD_rank(g).plus(0).getArrayOfPtr("v").plus(i).getPtr())!=null; i++) { + for (j = 0; (e = (Agedge_s) ND_flat_in(n).getFromList(j))!=null; j++) { + if ((ED_label(e)!=null) && N(ED_adjacent(e))) { + abomination(g); + found = 1; + break; + } + } + if (found!=0) + break; + } + } + rec_save_vlists(g); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + /* if n is the tail of any flat edge, one will be in flat_out */ + if (ND_flat_out(n).listNotNull()) { + for (i = 0; (e = (Agedge_s) ND_flat_out(n).getFromList(i))!=null; i++) { + if (ED_label(e)!=null) { + if (ED_adjacent(e)!=0) { + if (GD_flip(g)!=0) ED_dist(e, ED_label(e).getStruct("dimen").getDouble("y")); + else ED_dist(e, ED_label(e).getStruct("dimen").getDouble("x")); + } + else { + reset = 1; + flat_node(e); + } + } + } + /* look for other flat edges with labels */ + for (j = 0; j < ND_other(n).size; j++) { + Agedge_s le; + e = (Agedge_s) ND_other(n).getFromList(j); + if (ND_rank(agtail(e)) != ND_rank(aghead(e))) continue; + if (EQ(agtail(e), aghead(e))) continue; /* skip loops */ + le = e; + while (ED_to_virt(le)!=null) le = ED_to_virt(le); + ED_adjacent(e, ED_adjacent(le)); + if (ED_label(e)!=null) { + if (ED_adjacent(e)!=0) { + double lw; + if (GD_flip(g)!=0) lw = ED_label(e).getStruct("dimen").getDouble("y"); + else lw = ED_label(e).getStruct("dimen").getDouble("x"); + ED_dist(le, MAX(lw,ED_dist(le))); + } + else { + reset = 1; + flat_node(e); + } + } + } + } + } + if (reset!=0) + rec_reset_vlists(g); + return reset; +} finally { +LEAVING("bjwwj6ftkm0gv04cf1edqeaw6","flat_edges"); +} +} + + +} diff --git a/src/gen/lib/dotgen/mincross__c.java b/src/gen/lib/dotgen/mincross__c.java new file mode 100644 index 0000000..09aef4b --- /dev/null +++ b/src/gen/lib/dotgen/mincross__c.java @@ -0,0 +1,2786 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agget; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.graph__c.agnedges; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agcontains; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.common.utils__c.dequeue; +import static gen.lib.common.utils__c.enqueue; +import static gen.lib.common.utils__c.free_queue; +import static gen.lib.common.utils__c.mapbool; +import static gen.lib.common.utils__c.new_queue; +import static gen.lib.dotgen.class2__c.class2; +import static gen.lib.dotgen.cluster__c.expand_cluster; +import static gen.lib.dotgen.cluster__c.install_cluster; +import static gen.lib.dotgen.cluster__c.mark_lowclusters; +import static gen.lib.dotgen.decomp__c.decompose; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static gen.lib.dotgen.fastgr__c.delete_flat_edge; +import static gen.lib.dotgen.fastgr__c.flat_edge; +import static gen.lib.dotgen.fastgr__c.merge_oneway; +import static gen.lib.dotgen.fastgr__c.new_virtual_edge; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.atof; +import static smetana.core.JUtils.function; +import static smetana.core.JUtils.qsort; +import static smetana.core.JUtils.size_t_array_of_integer; +import static smetana.core.JUtils.sizeof; +import static smetana.core.JUtils.sizeof_starstar_empty; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ALLOC; +import static smetana.core.Macro.ALLOC_INT; +import static smetana.core.Macro.ED_edge_type; +import static smetana.core.Macro.ED_head_port; +import static smetana.core.Macro.ED_label; +import static smetana.core.Macro.ED_tail_port; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.ED_xpenalty; +import static smetana.core.Macro.GD_clust; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_flags; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.GD_has_flat_edges; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_n_nodes; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_rank; +import static smetana.core.Macro.GD_rankleader; +import static smetana.core.Macro.INT_MAX; +import static smetana.core.Macro.MIN; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_coord; +import static smetana.core.Macro.ND_flat_in; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_has_port; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_low; +import static smetana.core.Macro.ND_mark; +import static smetana.core.Macro.ND_mval; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_onstack; +import static smetana.core.Macro.ND_order; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_prev; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_ranktype; +import static smetana.core.Macro.ND_weight_class; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.UNSUPPORTED; +import static smetana.core.Macro.agtail; +import static smetana.core.Macro.elist_append; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.adjmatrix_t; +import h.boxf; +import h.elist; +import h.nodequeue; +import h.pointf; +import h.rank_t; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Memory; +import smetana.core.Z; +import smetana.core.__array_of_ptr__; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class mincross__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7ye0tsa8kll1jntdcqzsgjp0q +// static int gd_minrank(Agraph_t *g) +public static Object gd_minrank(Object... arg) { +UNSUPPORTED("7wnr5wvv8mw2d3mfdyvdz5kz9"); // static int gd_minrank(Agraph_t *g) {return GD_minrank(g);} + +throw new UnsupportedOperationException(); +} + + + + +//3 c7dhattawtph3qv1eeoafltk0 +// static int gd_maxrank(Agraph_t *g) +public static Object gd_maxrank(Object... arg) { +UNSUPPORTED("b89n5iyqsgra9z559023bf23e"); // static int gd_maxrank(Agraph_t *g) {return GD_maxrank(g);} + +throw new UnsupportedOperationException(); +} + + + + +//3 8g2can1ih1668s30s6d7wny5b +// static rank_t *gd_rank(Agraph_t *g, int r) +public static Object gd_rank(Object... arg) { +UNSUPPORTED("bxd4rm18v4y2x6fo30vh9pauo"); // static rank_t *gd_rank(Agraph_t *g, int r) {return &GD_rank(g)[r];} + +throw new UnsupportedOperationException(); +} + + + + +//3 8pjrnrvidhpqcubvkk5lsfp6 +// static int nd_order(Agnode_t *v) +public static Object nd_order(Object... arg) { +UNSUPPORTED("f4zvlmxyp6gei8iiu33hpz4oe"); // static int nd_order(Agnode_t *v) { return ND_order(v); } + +throw new UnsupportedOperationException(); +} + + +//1 eusjqny3hma23wvcznk9arpgr +// static int MinQuit +//private static int MinQuit; + +//1 eykidmlm64erbhaultu3js822 +// static double Convergence +//private static double Convergence; + +//1 f2ssditidb9f1cgp7r1kslp0e +// static graph_t *Root +//private static Agraph_s Root; + +//1 ager0orj38x5rjuhzv1o2cxuc +// static int GlobalMinRank, GlobalMaxRank +//private static int GlobalMinRank, GlobalMaxRank; + +//1 dag2n5hcww3ada79u52a8yha6 +// static edge_t **TE_list +//private static __ptr__ TE_list; + +//1 agrg82s0nsmuokh0t3h5q6h90 +// static int *TI_list +// private static __ptr__ TI_list; + +//1 7x0e0qfe96o5elb6lxt8mfmho +// static boolean ReMincross +//private static boolean ReMincross; + + + +//3 e876vp4hgkzshluz6qk77cjwk +// void dot_mincross(graph_t * g, int doBalance) +public static void dot_mincross(Agraph_s g, boolean doBalance) { +ENTERING("e876vp4hgkzshluz6qk77cjwk","dot_mincross"); +try { + int c, nc; + CString s; + init_mincross(g); + for (nc = c = 0; c < GD_comp(g).size; c++) { + init_mccomp(g, c); + nc += mincross_(g, 0, 2, doBalance); + } + merge2(g); + /* run mincross on contents of each cluster */ + for (c = 1; c <= GD_n_cluster(g); c++) { + nc += mincross_clust(g, (Agraph_s) GD_clust(g).plus(c).getPtr(), doBalance); + } + if ((GD_n_cluster(g) > 0) + && (N(s = agget(g, new CString("remincross"))) || (mapbool(s)))) { + mark_lowclusters(g); + Z.z().ReMincross = NOT(0); + nc = mincross_(g, 2, 2, doBalance); + } + cleanup2(g, nc); +} finally { +LEAVING("e876vp4hgkzshluz6qk77cjwk","dot_mincross"); +} +} + + + + +//3 756bre1tpxb1tq68p7xhkrxkc +// static adjmatrix_t *new_matrix(int i, int j) +public static adjmatrix_t new_matrix(int i, int j) { +ENTERING("756bre1tpxb1tq68p7xhkrxkc","new_matrix"); +try { + adjmatrix_t rv = (adjmatrix_t) Memory.malloc(adjmatrix_t.class); + rv.setInt("nrows", i); + rv.setInt("ncols", j); + rv.setPtr("data", zmalloc(size_t_array_of_integer(i*j))); + return rv; +} finally { +LEAVING("756bre1tpxb1tq68p7xhkrxkc","new_matrix"); +} +} + + + + +//3 1n1e0k0wtlbugwm3cb4na6av6 +// static void free_matrix(adjmatrix_t * p) +public static void free_matrix(adjmatrix_t p) { +ENTERING("1n1e0k0wtlbugwm3cb4na6av6","free_matrix"); +try { + if (p!=null) { + Memory.free(p.getPtr("data")); + Memory.free(p); + } +} finally { +LEAVING("1n1e0k0wtlbugwm3cb4na6av6","free_matrix"); +} +} + + + + +//3 49vw7fkn99wbojtfksugvuruh +// static void init_mccomp(graph_t * g, int c) +public static void init_mccomp(Agraph_s g, int c) { +ENTERING("49vw7fkn99wbojtfksugvuruh","init_mccomp"); +try { + int r; + // GD_nlist(g, GD_comp(g).getFromListt(c).getPtr()); + GD_nlist(g, GD_comp(g).getFromList(c)); + if (c > 0) { + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + GD_rank(g).plus(r).setPtr("v", GD_rank(g).plus(r).getPtr("v").plus(GD_rank(g).plus(r).getInt("n"))); + GD_rank(g).plus(r).setInt("n", 0); + } + } +} finally { +LEAVING("49vw7fkn99wbojtfksugvuruh","init_mccomp"); +} +} + + + + +//3 72v5zs502m1of3vsofyfo15ap +// static int betweenclust(edge_t * e) +public static Object betweenclust(Object... arg) { +UNSUPPORTED("6k6r73j7gctt4ntepjubrlfze"); // static int betweenclust(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("1z9f8ptfggp4qlwv5cdd55i3j"); // while (ED_to_orig(e)) +UNSUPPORTED("bdmai1d040qmubf08ds339v9x"); // e = ED_to_orig(e); +UNSUPPORTED("eq2o4v9qo3xx42in97ssadek"); // return (ND_clust(agtail(e)) != ND_clust(aghead(e))); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 760bwoz4twwy2jr1b32r6zefi +// static void do_ordering_node (graph_t * g, node_t* n, int outflag) +public static Object do_ordering_node(Object... arg) { +UNSUPPORTED("ajn55zvrzf8njqkshll3kaz88"); // static void do_ordering_node (graph_t * g, node_t* n, int outflag) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("bp5tdulayknsvyv8a2j2tinh"); // int i, ne; +UNSUPPORTED("5yrhx4blosxo5xnc1nh1kzhfs"); // node_t *u, *v; +UNSUPPORTED("9cbk3ly04nbzqoxmmjwptqq9a"); // edge_t *e, *f, *fe; +UNSUPPORTED("5ol5beitdgh7axwpk35pc9trm"); // edge_t **sortlist = TE_list; +UNSUPPORTED("aeria2or5qpnnrr9wm15k588l"); // if (ND_clust(n)) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("442hvc4h32o6e3cvzm5y5y3oq"); // if (outflag) { +UNSUPPORTED("7xi4jdz18dyv740agfh5uwtxv"); // for (i = ne = 0; (e = ND_out(n).list[i]); i++) +UNSUPPORTED("24smn55xhvkklh2do2cfcmy98"); // if (!betweenclust(e)) +UNSUPPORTED("ouas2w3lk54dwigzgglm3w7r"); // sortlist[ne++] = e; +UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { +UNSUPPORTED("6dgl0skwzmsi69ugcewc5vwaf"); // for (i = ne = 0; (e = ND_in(n).list[i]); i++) +UNSUPPORTED("24smn55xhvkklh2do2cfcmy98"); // if (!betweenclust(e)) +UNSUPPORTED("ouas2w3lk54dwigzgglm3w7r"); // sortlist[ne++] = e; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("hdnqvw2crdbzt2uenqso4l7k"); // if (ne <= 1) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("4zkjvsomlyhcl06ummf4gz0d2"); // /* write null terminator at end of list. +UNSUPPORTED("2zx16rdu8hp86z3z36natgy8t"); // requires +1 in TE_list alloccation */ +UNSUPPORTED("6dp57feioscwstrfmhqhrz1jx"); // sortlist[ne] = 0; +UNSUPPORTED("4wqnlh6z9lr2xvmjp95nozn84"); // qsort(sortlist, ne, sizeof(sortlist[0]), (qsort_cmpf) edgeidcmpf); +UNSUPPORTED("d6aia9q03brt8otnyu5m3tlxj"); // for (ne = 1; (f = sortlist[ne]); ne++) { +UNSUPPORTED("1b9ylnvr8zscovbyrxoe9ypax"); // e = sortlist[ne - 1]; +UNSUPPORTED("4nbrepm0pmohxxml0csb9j5xc"); // if (outflag) { +UNSUPPORTED("2rcn453iomwvou108kjr2rboc"); // u = aghead(e); +UNSUPPORTED("96i3kysq5lfoyukhe65vpiah2"); // v = aghead(f); +UNSUPPORTED("7yhr8hn3r6wohafwxrt85b2j2"); // } else { +UNSUPPORTED("96jttvtco2oqt3y3qr5fbhu1j"); // u = agtail(e); +UNSUPPORTED("8g5mzwux62x43bjzeslylyi0g"); // v = agtail(f); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("a7mygw39shaa9w4l8fdlgqr0i"); // if (find_flat_edge(u, v)) +UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; +UNSUPPORTED("aoa2embk8eaij29q6nbl4e5tk"); // fe = new_virtual_edge(u, v, NULL); +UNSUPPORTED("67t5g8eu9tdqbnwj4s4g6ah6u"); // ED_edge_type(fe) = 4; +UNSUPPORTED("b32n066t1nkgj646wvo7vuwlq"); // flat_edge(g, fe); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 815nmj2gcomtex4yfclqde12j +// static void do_ordering(graph_t * g, int outflag) +public static Object do_ordering(Object... arg) { +UNSUPPORTED("9v68euuxlii02rb5mhlyd8alp"); // static void do_ordering(graph_t * g, int outflag) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5y5mm5obhrqt745c4fx4o0r56"); // /* Order all nodes in graph */ +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("bicm0b87pp2rusaezmk6qigjq"); // do_ordering_node (g, n, outflag); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 svq3i3c6yw3cbfwaeip5dfuy +// static void do_ordering_for_nodes(graph_t * g) +public static Object do_ordering_for_nodes(Object... arg) { +UNSUPPORTED("7yd9vingwgdcdtrx0p38jti00"); // static void do_ordering_for_nodes(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("887aairlqk73reuayo3hz67v3"); // /* Order nodes which have the "ordered" attribute */ +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("cbbfhy5qk3dailijtedj1czut"); // const char *ordering; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("ekvbu44bbrdwkw71yd21dbns9"); // if ((ordering = late_string(n, N_ordering, NULL))) { +UNSUPPORTED("7jueg5punlemj6mfbpgltb5u8"); // if ((*(ordering)==*("out")&&!strcmp(ordering,"out"))) +UNSUPPORTED("302oz5j9wva90otn6jq513bme"); // do_ordering_node(g, n, NOT(0)); +UNSUPPORTED("1dt1hft3eak5ytycs6dh7yk0"); // else if ((*(ordering)==*("in")&&!strcmp(ordering,"in"))) +UNSUPPORTED("dnig45so0x904azp9fhxymqjn"); // do_ordering_node(g, n, 0); +UNSUPPORTED("2rxgmu8cktngvqtsex2rlbjed"); // else if (ordering[0]) +UNSUPPORTED("axk3fxl1bh09n475kmcx42kdu"); // agerr(AGERR, "ordering '%s' not recognized for node '%s'.\n", ordering, agnameof(n)); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 hzoz2czb672i0nbjvjhbc3na +// static void ordered_edges(graph_t * g) +public static void ordered_edges(Agraph_s g) { +ENTERING("hzoz2czb672i0nbjvjhbc3na","ordered_edges"); +try { + CString ordering; + if (N(Z.z().G_ordering) && N(Z.z().N_ordering)) + return; +UNSUPPORTED("98iqppixxkdndoz210i5ejppy"); // if ((ordering = late_string(g, G_ordering, NULL))) { +UNSUPPORTED("lhhw62wj3on36enoy6ug6u1p"); // if ((*(ordering)==*("out")&&!strcmp(ordering,"out"))) +UNSUPPORTED("ctbadiyd3jjtlt2f5t9p94au7"); // do_ordering(g, NOT(0)); +UNSUPPORTED("259y9uhqwc8w6jhrpm1eaa7hf"); // else if ((*(ordering)==*("in")&&!strcmp(ordering,"in"))) +UNSUPPORTED("312ij4z5d42rye9s30l9io097"); // do_ordering(g, 0); +UNSUPPORTED("25yw5chxmy54pmo88tre1w2ir"); // else if (ordering[0]) +UNSUPPORTED("5ugg9zy8378pijqru97mxmen5"); // agerr(AGERR, "ordering '%s' not recognized.\n", ordering); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // { +UNSUPPORTED("50itbchatjp61haxvg3xnhvoo"); // graph_t *subg; +UNSUPPORTED("evzjoqkm2xukapjvpccu2f23e"); // for (subg = agfstsubg(g); subg; subg = agnxtsubg(subg)) { +UNSUPPORTED("1016hqxaexp4j33vmkzvdpq80"); // /* clusters are processed by separate calls to ordered_edges */ +UNSUPPORTED("7ah0zlu96u6g6cquxebenj4z3"); // if (!is_cluster(subg)) +UNSUPPORTED("7sqzaehh40dvpm11hlxhef6cw"); // ordered_edges(subg); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("h2b3ao18r091ie7yk9v20pqq"); // if (N_ordering) do_ordering_for_nodes (g); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("hzoz2czb672i0nbjvjhbc3na","ordered_edges"); +} +} + + + + +//3 crwc5qe7fmrpgcqh1a80toyvo +// static int mincross_clust(graph_t * par, graph_t * g, int doBalance) +public static int mincross_clust(Agraph_s par, Agraph_s g, boolean doBalance) { +ENTERING("crwc5qe7fmrpgcqh1a80toyvo","mincross_clust"); +try { + int c, nc; + expand_cluster(g); + ordered_edges(g); + flat_breakcycles(g); + flat_reorder(g); + nc = mincross_(g, 2, 2, doBalance); + for (c = 1; c <= GD_n_cluster(g); c++) + nc += mincross_clust(g, (Agraph_s) GD_clust(g).plus(c).getPtr(), doBalance); + save_vlist(g); + return nc; +} finally { +LEAVING("crwc5qe7fmrpgcqh1a80toyvo","mincross_clust"); +} +} + + + + +//3 657v773m21j5w3g3v94o7464t +// static int left2right(graph_t * g, node_t * v, node_t * w) +public static boolean left2right(Agraph_s g, Agnode_s v, Agnode_s w) { +ENTERING("657v773m21j5w3g3v94o7464t","left2right"); +try { + adjmatrix_t M; + boolean rv=false; + /* CLUSTER indicates orig nodes of clusters, and vnodes of skeletons */ + if (Z.z().ReMincross == false) { + if (NEQ(ND_clust(v), ND_clust(w)) && (ND_clust(v)!=null) && (ND_clust(w)!=null)) { + /* the following allows cluster skeletons to be swapped */ + if ((ND_ranktype(v) == 7) + && (ND_node_type(v) == 1)) + return false; + if ((ND_ranktype(w) == 7) + && (ND_node_type(w) == 1)) + return false; + return NOT(false); + /*return ((ND_ranktype(v) != CLUSTER) && (ND_ranktype(w) != CLUSTER)); */ + } + } else { +UNSUPPORTED("8lltx4lxwrqossx8qw1khzwf9"); // if ((ND_clust(v)) != (ND_clust(w))) +UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); + } + M = (adjmatrix_t) GD_rank(g).plus(ND_rank(v)).getPtr().getPtr("flat"); + if (M == null) + rv = false; + else { + if (GD_flip(g)!=0) { + Agnode_s t = v; + v = w; + w = t; + } + rv = (M.getArrayOfInteger("data").plus(((ND_low(v))*M.getInt("ncols"))+(ND_low(w))).getInt())!=0; + } + return rv; +} finally { +LEAVING("657v773m21j5w3g3v94o7464t","left2right"); +} +} + + + + +//3 daknncpjy7g5peiicolbmh55i +// static int in_cross(node_t * v, node_t * w) +public static int in_cross(Agnode_s v, Agnode_s w) { +ENTERING("daknncpjy7g5peiicolbmh55i","in_cross"); +try { + __array_of_ptr__ e1; + __array_of_ptr__ e2; + int inv, cross = 0, t; + for (e2 = ND_in(w).getTheArray(); e2.getPtr()!=null; e2=e2.plus(1)) { + int cnt = ED_xpenalty(e2.getPtr()); + inv = ND_order((agtail(e2.getPtr()))); + for (e1 = ND_in(v).getTheArray(); e1.getPtr()!=null; e1=e1.plus(1)) { + t = ND_order(agtail(e1.getPtr())) - inv; + if ((t > 0) + || ((t == 0) + && ( ED_tail_port(e1.getPtr()).getStruct("p").getDouble("x") > ED_tail_port(e2.getPtr()).getStruct("p").getDouble("x")))) + cross += ED_xpenalty(e1.getPtr()) * cnt; + } + } + return cross; +} finally { +LEAVING("daknncpjy7g5peiicolbmh55i","in_cross"); +} +} + + + + +//3 b7mf74np8ewrgzwd5u0o8fqod +// static int out_cross(node_t * v, node_t * w) +public static int out_cross(Agnode_s v, Agnode_s w) { +ENTERING("b7mf74np8ewrgzwd5u0o8fqod","out_cross"); +try { + __array_of_ptr__ e1, e2; + int inv, cross = 0, t; + for (e2 = ND_out(w).getTheArray(); e2.getPtr()!=null; e2=e2.plus(1)) { + int cnt = ED_xpenalty((Agedge_s)e2.getPtr()); + inv = ND_order(aghead(e2.getPtr())); + for (e1 = ND_out(v).getTheArray(); e1.getPtr()!=null; e1=e1.plus(1)) { + t = ND_order(aghead(e1.getPtr())) - inv; + if ((t > 0) + || ((t == 0) + && ((ED_head_port(e1.getPtr())).getStruct("p").getDouble("x") > (ED_head_port(e2.getPtr())).getStruct("p").getDouble("x")))) + cross += ((ED_xpenalty(e1.getPtr())) * cnt); + } + } + return cross; +} finally { +LEAVING("b7mf74np8ewrgzwd5u0o8fqod","out_cross"); +} +} + + + + +//3 ba4tbr57wips1dzpgxzx3b6ja +// static void exchange(node_t * v, node_t * w) +public static void exchange(Agnode_s v, Agnode_s w) { +ENTERING("ba4tbr57wips1dzpgxzx3b6ja","exchange"); +try { + int vi, wi, r; + r = ND_rank(v); + vi = ND_order(v); + wi = ND_order(w); + ND_order(v, wi); + GD_rank(Z.z().Root).plus(r).getArrayOfPtr("v").plus(wi).setPtr(v); + ND_order(w, vi); + GD_rank(Z.z().Root).plus(r).getArrayOfPtr("v").plus(vi).setPtr(w); +} finally { +LEAVING("ba4tbr57wips1dzpgxzx3b6ja","exchange"); +} +} + + + + +//3 dzkv88lq5zv0g3yo7bf90qgr7 +// static void balanceNodes(graph_t * g, int r, node_t * v, node_t * w) +public static Object balanceNodes(Object... arg) { +UNSUPPORTED("504qsj6detmzllj50pno6sdx4"); // static void balanceNodes(graph_t * g, int r, node_t * v, node_t * w) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dor7xumwnqvymg7xdesa6pxqn"); // node_t *s; /* separator node */ +UNSUPPORTED("c6s55weiu8hc4voeunxf2utru"); // int sepIndex; +UNSUPPORTED("6gqdkaiir2naiawry8cnlpf4a"); // int nullType; /* type of null nodes */ +UNSUPPORTED("2dqxr1ujg381s9ugf0367iici"); // int cntDummy = 0, cntOri = 0; +UNSUPPORTED("7yj94w2zpwdubyzymyljw490a"); // int k = 0, m = 0, k1 = 0, m1 = 0, i = 0; +UNSUPPORTED("6mq7c2z232o8kvpp371lfmewh"); // /* we only consider v and w of different types */ +UNSUPPORTED("53kjkk6c0h35zpbikj9y2q6b4"); // if (ND_node_type(v) == ND_node_type(w)) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("5ylcsv8rwps97qz7sdftpwrka"); // /* count the number of dummy and original nodes */ +UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("d87qjwxc2qjvh6hb9fmi9y9vq"); // if (ND_node_type(GD_rank(g)[r].v[i]) == 0) +UNSUPPORTED("dcny4syjny1sh20jyjjl7jj62"); // cntOri++; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("bbpsgrsgquajs3xxqzeqvgv6n"); // cntDummy++; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("2qx27p3loyln3i09ycwf5p1dh"); // if (cntOri < cntDummy) { +UNSUPPORTED("ex9drrxqg8zalagzrnvrulrlb"); // if (ND_node_type(v) == 0) +UNSUPPORTED("jtm789r1sqidxc39d09n9det"); // s = v; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("c31t0vnbzvj9zml7p91syjzep"); // s = w; +UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { +UNSUPPORTED("ex9drrxqg8zalagzrnvrulrlb"); // if (ND_node_type(v) == 0) +UNSUPPORTED("c31t0vnbzvj9zml7p91syjzep"); // s = w; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("jtm789r1sqidxc39d09n9det"); // s = v; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ejbeaepbxwawm7mvtusyi2x57"); // /* get the separator node index */ +UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("afetrkwabtn6v07evr5japsk5"); // if (GD_rank(g)[r].v[i] == s) +UNSUPPORTED("bvwqg08b9hn6rfdx11sjq0hgc"); // sepIndex = i; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ecis6irl9vire6ejfrshttjk4"); // nullType = (ND_node_type(s) == 0) ? 1 : 0; +UNSUPPORTED("1i78b3w9omzkba0pmafwfunbj"); // /* count the number of null nodes to the left and +UNSUPPORTED("1f2jn45p7wv1ud964k43lgdss"); // * right of the separator node +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("5l8w7t0ta6p6hnfp72l7lbqey"); // for (i = sepIndex - 1; i >= 0; i--) { +UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) +UNSUPPORTED("borg3y7rgdooetc6ckrsrg9fc"); // k++; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("cuj70hyout6yv30drqkjiwllo"); // for (i = sepIndex + 1; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) +UNSUPPORTED("d35zlcj7podjjns9eg2ttocr7"); // m++; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9r0b42aqwdlx2cg7aqsxgle1o"); // /* now exchange v,w and calculate the same counts */ +UNSUPPORTED("cvktng9nwm6futhlv28bqbqy"); // exchange(v, w); +UNSUPPORTED("ejbeaepbxwawm7mvtusyi2x57"); // /* get the separator node index */ +UNSUPPORTED("5025o4uc5dkbxf3smi3kmfoit"); // for (i = 0; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("afetrkwabtn6v07evr5japsk5"); // if (GD_rank(g)[r].v[i] == s) +UNSUPPORTED("bvwqg08b9hn6rfdx11sjq0hgc"); // sepIndex = i; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1i78b3w9omzkba0pmafwfunbj"); // /* count the number of null nodes to the left and +UNSUPPORTED("1f2jn45p7wv1ud964k43lgdss"); // * right of the separator node +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("5l8w7t0ta6p6hnfp72l7lbqey"); // for (i = sepIndex - 1; i >= 0; i--) { +UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) +UNSUPPORTED("eer25fyjj3njh33v709xj07lk"); // k1++; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("cuj70hyout6yv30drqkjiwllo"); // for (i = sepIndex + 1; i < GD_rank(g)[r].n; i++) { +UNSUPPORTED("49j09cv8f8ien7kqoguzywjmw"); // if (ND_node_type(GD_rank(g)[r].v[i]) == nullType) +UNSUPPORTED("80ptwhmp1gyks2xfkcjub24o9"); // m1++; +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("6yjcl5tugkib89c3p3beoi0cs"); // if (abs(k1 - m1) > abs(k - m)) { +UNSUPPORTED("4hhzcihijbcjb2mo6eop9g855"); // exchange(v, w); //revert to the original ordering +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 72rj5xs4qh00oh2yi1h5qaadu +// static int balance(graph_t * g) +public static Object balance(Object... arg) { +UNSUPPORTED("4223t6rekw3qd8eksvz9kjcqh"); // static int balance(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("970giwpms1ljmt0px5djlqs0z"); // int i, c0, c1, rv; +UNSUPPORTED("8xqnhjfdqnlwlyld1ep6hpnmb"); // node_t *v, *w; +UNSUPPORTED("p6jnh7nvcpnl3zbz636pskbs"); // int r; +UNSUPPORTED("yy0fwjrmxw3jbi85mvwrka7f"); // rv = 0; +UNSUPPORTED("9ey19t6tw2srzaedeng4sq96z"); // for (r = GD_maxrank(g); r >= GD_minrank(g); r--) { +UNSUPPORTED("2nlemgjbnd1ygry42bcbuwo9y"); // GD_rank(g)[r].candidate = 0; +UNSUPPORTED("91gzxbmcoy5xbvf8nlhmlj4eh"); // for (i = 0; i < GD_rank(g)[r].n - 1; i++) { +UNSUPPORTED("5ekdr3i8niy7x2ohi7ftgmjke"); // v = GD_rank(g)[r].v[i]; +UNSUPPORTED("efwyjm6j3e7byt6z83lrhgd1r"); // w = GD_rank(g)[r].v[i + 1]; +UNSUPPORTED("8ey6umhtefcrb61ncgis82hw6"); // assert(ND_order(v) < ND_order(w)); +UNSUPPORTED("ddkyq74d5rjfcofczt4hmkxsj"); // if (left2right(g, v, w)) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("cdpfb5fmlhe0831jf96pjp9s0"); // c0 = c1 = 0; +UNSUPPORTED("3l676z6ajeugxvie4r957jap3"); // if (r > 0) { +UNSUPPORTED("ennnd5cl9xhh55j2bni58iuxv"); // c0 += in_cross(v, w); +UNSUPPORTED("bk4dl2r7nw7j8xvkpg7g7x0z9"); // c1 += in_cross(w, v); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("f0ordylgf44hx2l90eof067yo"); // if (GD_rank(g)[r + 1].n > 0) { +UNSUPPORTED("d945airzpo5xbu0fz68ylmgql"); // c0 += out_cross(v, w); +UNSUPPORTED("e6ez0uwca50uwo7i7i4vak4f2"); // c1 += out_cross(w, v); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("884yfwkgyw57w5ivpfrggmq15"); // if (c1 <= c0) { +UNSUPPORTED("c2sevxb1gtyc2olq8akmvs40u"); // balanceNodes(g, r, v, w); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxwzx4m9ejausu58u7abr6fm0 +// static int transpose_step(graph_t * g, int r, int reverse) +public static int transpose_step(Agraph_s g, int r, boolean reverse) { +ENTERING("bxwzx4m9ejausu58u7abr6fm0","transpose_step"); +try { + int i, c0, c1, rv; + Agnode_s v, w; + rv = 0; + GD_rank(g).plus(r).getPtr().setBoolean("candidate", false); + for (i = 0; i < GD_rank(g).plus(r).getInt("n") - 1; i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + w = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i + 1).getPtr(); + //assert(ND_order(v) < ND_order(w)); + if (left2right(g, v, w)) + continue; + c0 = c1 = 0; + if (r > 0) { + c0 += in_cross(v, w); + c1 += in_cross(w, v); + } + if (GD_rank(g).plus(r + 1).getInt("n") > 0) { + c0 += out_cross(v, w); + c1 += out_cross(w, v); + } + if ((c1 < c0) || ((c0 > 0) && reverse && (c1 == c0))) { + exchange(v, w); + rv += (c0 - c1); + GD_rank(Z.z().Root).plus(r).getPtr().setBoolean("valid", false); + GD_rank(g).plus(r).getPtr().setBoolean("candidate", NOT(false)); + if (r > GD_minrank(g)) { + GD_rank(Z.z().Root).plus(r - 1).getPtr().setBoolean("valid", false); + GD_rank(g).plus(r - 1).getPtr().setBoolean("candidate", NOT(false)); + } + if (r < GD_maxrank(g)) { + GD_rank(Z.z().Root).plus(r + 1).getPtr().setBoolean("valid", false); + GD_rank(g).plus(r + 1).getPtr().setBoolean("candidate", NOT(false)); + } + } + } + return rv; +} finally { +LEAVING("bxwzx4m9ejausu58u7abr6fm0","transpose_step"); +} +} + + + + +//3 2i22bxgg5y7v5c5d40k5zppky +// static void transpose(graph_t * g, int reverse) +public static void transpose(Agraph_s g, boolean reverse) { +ENTERING("2i22bxgg5y7v5c5d40k5zppky","transpose"); +try { + int r, delta; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) + GD_rank(g).plus(r).getPtr().setBoolean("candidate", NOT(false)); + do { + delta = 0; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + if (GD_rank(g).plus(r).getPtr().getBoolean("candidate")) { + delta += transpose_step(g, r, reverse); + } + } + /*} while (delta > ncross(g)*(1.0 - Convergence)); */ + } while (delta >= 1); +} finally { +LEAVING("2i22bxgg5y7v5c5d40k5zppky","transpose"); +} +} + + + + +//3 7lrk2rxqnwwdau8cx85oqkpmv +// static int mincross(graph_t * g, int startpass, int endpass, int doBalance) +public static int mincross_(Agraph_s g, int startpass, int endpass, boolean doBalance) { +ENTERING("7lrk2rxqnwwdau8cx85oqkpmv","mincross"); +try { + int maxthispass=0, iter, trying, pass; + int cur_cross, best_cross; + if (startpass > 1) { + cur_cross = best_cross = ncross(g); + save_best(g); + } else + cur_cross = best_cross = INT_MAX; + for (pass = startpass; pass <= endpass; pass++) { + if (pass <= 1) { + maxthispass = MIN(4, Z.z().MaxIter); + if (EQ(g, dot_root(g))) + build_ranks(g, pass); + if (pass == 0) + flat_breakcycles(g); + flat_reorder(g); + if ((cur_cross = ncross(g)) <= best_cross) { + save_best(g); + best_cross = cur_cross; + } + trying = 0; + } else { + maxthispass = Z.z().MaxIter; + if (cur_cross > best_cross) + restore_best(g); + cur_cross = best_cross; + } + trying = 0; + for (iter = 0; iter < maxthispass; iter++) { + /*if (Verbose) + fprintf(stderr, + "mincross: pass %d iter %d trying %d cur_cross %d best_cross %d\n", + pass, iter, trying, cur_cross, best_cross);*/ + if (trying++ >= Z.z().MinQuit) + break; + if (cur_cross == 0) + break; + mincross_step(g, iter); + if ((cur_cross = ncross(g)) <= best_cross) { + save_best(g); + if (cur_cross < Z.z().Convergence * best_cross) + trying = 0; + best_cross = cur_cross; + } + } + if (cur_cross == 0) + break; + } + if (cur_cross > best_cross) + restore_best(g); + if (best_cross > 0) { + transpose(g, false); + best_cross = ncross(g); + } + if (doBalance) { + for (iter = 0; iter < maxthispass; iter++) + balance(g); + } + return best_cross; +} finally { +LEAVING("7lrk2rxqnwwdau8cx85oqkpmv","mincross"); +} +} + + + + +//3 520049zkz9mafaeklgvm6s8e5 +// static void restore_best(graph_t * g) +public static void restore_best(Agraph_s g) { +ENTERING("520049zkz9mafaeklgvm6s8e5","restore_best"); +try { + Agnode_s n; + int r; + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + ND_order(n, (int)ND_coord(n).getDouble("x")); + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + GD_rank(Z.z().Root).plus(r).setBoolean("valid", false); + qsort(GD_rank(g).plus(r).getPtr("v"), + GD_rank(g).plus(r).getInt("n"), + sizeof(GD_rank(g).plus(r).getPtr("v").plus(0)), + function(mincross__c.class, "nodeposcmpf")); + } +} finally { +LEAVING("520049zkz9mafaeklgvm6s8e5","restore_best"); +} +} + + + + +//3 8uyqc48j0oul206l3np85wj9p +// static void save_best(graph_t * g) +public static void save_best(Agraph_s g) { +ENTERING("8uyqc48j0oul206l3np85wj9p","save_best"); +try { + Agnode_s n; + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + (ND_coord(n)).x = ND_order(n); +} finally { +LEAVING("8uyqc48j0oul206l3np85wj9p","save_best"); +} +} + + + + +//3 6d08fwi4dsk6ikk5d0gy6rq2h +// static void merge_components(graph_t * g) +public static void merge_components(Agraph_s g) { +ENTERING("6d08fwi4dsk6ikk5d0gy6rq2h","merge_components"); +try { + int c; + Agnode_s u, v; + if (GD_comp(g).size <= 1) + return; + u = null; + for (c = 0; c < GD_comp(g).size; c++) { + v = (Agnode_s) GD_comp(g).getFromList(c); + if (u!=null) + ND_next(u, v); + ND_prev(v, u); + while (ND_next(v)!=null) { + v = ND_next(v); + } + u = v; + } + GD_comp(g).size = 1; + GD_nlist(g, GD_comp(g).getFromList(0)); + GD_minrank(g, Z.z().GlobalMinRank); + GD_maxrank(g, Z.z().GlobalMaxRank); +} finally { +LEAVING("6d08fwi4dsk6ikk5d0gy6rq2h","merge_components"); +} +} + + + + +//3 91vebcdl3q3y0uyxef0iw71n9 +// static void merge2(graph_t * g) +public static void merge2(Agraph_s g) { +ENTERING("91vebcdl3q3y0uyxef0iw71n9","merge2"); +try { + int i, r; + Agnode_s v; + /* merge the components and rank limits */ + merge_components(g); + /* install complete ranks */ + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + GD_rank(g).plus(r).setInt("n", GD_rank(g).plus(r).getInt("an")); + GD_rank(g).plus(r).setPtr("v", GD_rank(g).plus(r).getPtr("av")); + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + if (v == null) { + /*if (Verbose) + fprintf(stderr, + "merge2: graph %s, rank %d has only %d < %d nodes\n", + agnameof(g), r, i, GD_rank(g)[r].n);*/ + GD_rank(g).plus(r).setInt("n", i); + break; + } + ND_order(v, i); + } + } +} finally { +LEAVING("91vebcdl3q3y0uyxef0iw71n9","merge2"); +} +} + + + + +//3 3cwiyyk1d1jkoo9iqwb5bge4x +// static void cleanup2(graph_t * g, int nc) +public static void cleanup2(Agraph_s g, int nc) { +ENTERING("3cwiyyk1d1jkoo9iqwb5bge4x","cleanup2"); +try { + int i, j, r, c; + Agnode_s v; + Agedge_s e; + if (Z.z().TI_list!=null) { + Memory.free(Z.z().TI_list); + Z.z().TI_list = null; + } + if (Z.z().TE_list!=null) { + Memory.free(Z.z().TE_list); + Z.z().TE_list = null; + } + /* fix vlists of clusters */ + for (c = 1; c <= GD_n_cluster(g); c++) + rec_reset_vlists((Agraph_s) GD_clust(g).plus(c).getPtr()); + /* remove node temporary edges for ordering nodes */ + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + ND_order(v, i); + if (ND_flat_out(v).listNotNull()) { + for (j = 0; (e = (Agedge_s) ND_flat_out(v).getFromList(j))!=null; j++) + if (ED_edge_type(e) == 4) { + delete_flat_edge(e); + Memory.free(e.getPtr("base.data")); + Memory.free(e); + j--; + } + } + } + free_matrix((adjmatrix_t) GD_rank(g).plus(r).getPtr("flat")); + } + /*if (Verbose) + fprintf(stderr, "mincross %s: %d crossings, %.2f secs.\n", + agnameof(g), nc, elapsed_sec());*/ +} finally { +LEAVING("3cwiyyk1d1jkoo9iqwb5bge4x","cleanup2"); +} +} + + + + +//3 arax68kzcf86dr2xu0gp962gq +// static node_t *neighbor(node_t * v, int dir) +public static Agnode_s neighbor(Agnode_s v, int dir) { +ENTERING("arax68kzcf86dr2xu0gp962gq","neighbor"); +try { + Agnode_s rv; + rv = null; +assert(v!=null); + if (dir < 0) { + if (ND_order(v) > 0) + rv = (Agnode_s) GD_rank(Z.z().Root).plus(ND_rank(v)).getArrayOfPtr("v").plus(ND_order(v) - 1).getPtr(); + } else + rv = (Agnode_s) GD_rank(Z.z().Root).plus(ND_rank(v)).getArrayOfPtr("v").plus(ND_order(v) + 1).getPtr(); +assert((rv == null) || (ND_order(rv)-ND_order(v))*dir > 0); + return rv; +} finally { +LEAVING("arax68kzcf86dr2xu0gp962gq","neighbor"); +} +} + + + + +//3 1waqm8z71hi389dt1wqh0bmhr +// static int is_a_normal_node_of(graph_t * g, node_t * v) +public static boolean is_a_normal_node_of(Agraph_s g, Agnode_s v) { +ENTERING("1waqm8z71hi389dt1wqh0bmhr","is_a_normal_node_of"); +try { + return ((ND_node_type(v) == 0) && agcontains(g, v)); +} finally { +LEAVING("1waqm8z71hi389dt1wqh0bmhr","is_a_normal_node_of"); +} +} + + + + +//3 9f8atyi1unmleplge3rijdt4s +// static int is_a_vnode_of_an_edge_of(graph_t * g, node_t * v) +public static boolean is_a_vnode_of_an_edge_of(Agraph_s g, Agnode_s v) { +ENTERING("9f8atyi1unmleplge3rijdt4s","is_a_vnode_of_an_edge_of"); +try { + if ((ND_node_type(v) == 1) + && (ND_in(v).size == 1) && (ND_out(v).size == 1)) { + Agedge_s e = (Agedge_s) ND_out(v).getFromList(0); + while (ED_edge_type(e) != 0) + e = ED_to_orig(e); + if (agcontains(g, e)) + return NOT(false); + } + return false; +} finally { +LEAVING("9f8atyi1unmleplge3rijdt4s","is_a_vnode_of_an_edge_of"); +} +} + + + + +//3 eo7ulc8vwmoaig0j479yapve2 +// static int inside_cluster(graph_t * g, node_t * v) +public static boolean inside_cluster(Agraph_s g, Agnode_s v) { +ENTERING("eo7ulc8vwmoaig0j479yapve2","inside_cluster"); +try { + return (is_a_normal_node_of(g, v) | is_a_vnode_of_an_edge_of(g, v)); +} finally { +LEAVING("eo7ulc8vwmoaig0j479yapve2","inside_cluster"); +} +} + + + + +//3 8xkmkt4r6gfqj8gk0mokszoz0 +// static node_t *furthestnode(graph_t * g, node_t * v, int dir) +public static Agnode_s furthestnode(Agraph_s g, Agnode_s v, int dir) { +ENTERING("8xkmkt4r6gfqj8gk0mokszoz0","furthestnode"); +try { + Agnode_s u, rv; + rv = u = v; + while ((u = neighbor(u, dir))!=null) { + if (is_a_normal_node_of(g, u)) + rv = u; + else if (is_a_vnode_of_an_edge_of(g, u)) + rv = u; + } + return rv; +} finally { +LEAVING("8xkmkt4r6gfqj8gk0mokszoz0","furthestnode"); +} +} + + + + +//3 bwmu2hkwud40601oq5vgo2f1h +// void save_vlist(graph_t * g) +public static void save_vlist(Agraph_s g) { +ENTERING("bwmu2hkwud40601oq5vgo2f1h","save_vlist"); +try { + int r; + if (GD_rankleader(g)!=null) + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + GD_rankleader(g).plus(r).setPtr(GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr()); + } +} finally { +LEAVING("bwmu2hkwud40601oq5vgo2f1h","save_vlist"); +} +} + + + + +//3 hwdxg97sefkuyd25x2q4pgzg +// void rec_save_vlists(graph_t * g) +public static void rec_save_vlists(Agraph_s g) { +ENTERING("hwdxg97sefkuyd25x2q4pgzg","rec_save_vlists"); +try { + int c; + save_vlist(g); + for (c = 1; c <= GD_n_cluster(g); c++) + rec_save_vlists((Agraph_s) GD_clust(g).plus(c).getPtr()); +} finally { +LEAVING("hwdxg97sefkuyd25x2q4pgzg","rec_save_vlists"); +} +} + + + + +//3 f3b4wat4uxn5oil720i5mwq4v +// void rec_reset_vlists(graph_t * g) +public static void rec_reset_vlists(Agraph_s g) { +ENTERING("f3b4wat4uxn5oil720i5mwq4v","rec_reset_vlists"); +try { + int r, c; + Agnode_s u, v, w; + /* fix vlists of sub-clusters */ + for (c = 1; c <= GD_n_cluster(g); c++) + rec_reset_vlists((Agraph_s) GD_clust(g).plus(c).getPtr()); + if (GD_rankleader(g)!=null) + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + v = (Agnode_s) GD_rankleader(g).plus(r).getPtr(); + u = furthestnode(g, v, -1); + w = furthestnode(g, v, 1); + GD_rankleader(g).plus(r).setPtr(u); + GD_rank(g).plus(r).setPtr("v", GD_rank(dot_root(g)).plus(r).getPtr("v").plus(ND_order(u))); + GD_rank(g).plus(r).setInt("n", ND_order(w) - ND_order(u) + 1); + } +} finally { +LEAVING("f3b4wat4uxn5oil720i5mwq4v","rec_reset_vlists"); +} +} + + + + +//3 pv0rbbdopo4hmkbl5916qys1 +// static Agraph_t* realFillRanks (Agraph_t* g, int rnks[], int rnks_sz, Agraph_t* sg) +public static Agraph_s realFillRanks(Agraph_s g, __ptr__ rnks, int rnks_sz, Agraph_s sg) { +ENTERING("pv0rbbdopo4hmkbl5916qys1","realFillRanks"); +try { + UNSUPPORTED("2o2sf6xi2aumo5k0vglp4ik2y"); // static Agraph_t* +UNSUPPORTED("3pmsfb0uhqmy5u141c932dtn1"); // realFillRanks (Agraph_t* g, int rnks[], int rnks_sz, Agraph_t* sg) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("apiu3v3f9zs9yrq8e25nd2rti"); // int i, c; +UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e; +UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n; +UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) +UNSUPPORTED("wqxqmv4he79njsw6r7sludv"); // sg = realFillRanks (GD_clust(g)[c], rnks, rnks_sz, sg); +UNSUPPORTED("8htor72y55gsejjdeh0e8gdrs"); // if (dot_root(g) == g) +UNSUPPORTED("bjae04ek2s3o50399zti5a1jh"); // return sg; +UNSUPPORTED("bqfhaopbxlwv8h4zfae1lhx6s"); // memset (rnks, 0, sizeof(int)*rnks_sz); +UNSUPPORTED("7wq24g054kmx3aw25vk5ksj4"); // for (n = agfstnode(g); n; n = agnxtnode(g,n)) { +UNSUPPORTED("do7v5atqor4gnpwgo18ibgjha"); // rnks[ND_rank(n)] = 1; +UNSUPPORTED("9fo44dng5uojukw2kj0z8vvdu"); // for (e = agfstout(g,n); e; e = agnxtout(g,e)) { +UNSUPPORTED("emlgvc6yzuboae72y6vxpn8z7"); // for (i = ND_rank(n)+1; i <= ND_rank(aghead(e)); i++) +UNSUPPORTED("d3fd9x50ix980jjw3old2jrcr"); // rnks[i] = 1; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7gfo0rr0un3w2026kt6ipknty"); // for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { +UNSUPPORTED("6mjvdb94lywg8d7ui6873f18p"); // if (rnks[i] == 0) { +UNSUPPORTED("8g0zxrf8w2zly4wln02j3lbnb"); // if (!sg) { +UNSUPPORTED("eqx93butvb7swnxbz9j29winp"); // sg = agsubg (dot_root(g), "_new_rank", 1); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("9h7suegjozc071a939rh9apw1"); // n = agnode (sg, NULL, 1); +UNSUPPORTED("8kclviftszfxkowsmlqq31u8"); // agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), NOT(0)); +UNSUPPORTED("8wiry1vcdwy6bzdp98nmxss7c"); // ND_rank(n) = i; +UNSUPPORTED("dy16sxtk3jj6127wavfcdx4yw"); // ND_lw(n) = ND_rw(n) = 0.5; +UNSUPPORTED("6jr3li9af4sp0uxnpnoe8dqh8"); // ND_ht(n) = 1; +UNSUPPORTED("c47fetnb62mx46qzuk9ag3qmu"); // ND_UF_size(n) = 1; +UNSUPPORTED("899cyghezv8oxs0iomu58zncj"); // alloc_elist(4, ND_in(n)); +UNSUPPORTED("btfqtg58rqwdh7o4cc0gbaaai"); // alloc_elist(4, ND_out(n)); +UNSUPPORTED("9zap4z819hsiogrgmekh15f00"); // agsubnode (g, n, 1); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1jw141gg4omv8r72xcbl5ln0o"); // return sg; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("pv0rbbdopo4hmkbl5916qys1","realFillRanks"); +} +} + + + + +//3 1qy9bupreg1pax62owznr98k +// static void fillRanks (Agraph_t* g) +public static void fillRanks(Agraph_s g) { +ENTERING("1qy9bupreg1pax62owznr98k","fillRanks"); +try { + Agraph_s sg; + int rnks_sz = GD_maxrank(g) + 2; + __ptr__ rnks = zmalloc(size_t_array_of_integer(rnks_sz)); + sg = realFillRanks (g, rnks, rnks_sz, null); + Memory.free (rnks); +} finally { +LEAVING("1qy9bupreg1pax62owznr98k","fillRanks"); +} +} + + + + +//3 7fy4chyk12o7bgp1rv3h27yl3 +// static void init_mincross(graph_t * g) +public static void init_mincross(Agraph_s g) { +ENTERING("7fy4chyk12o7bgp1rv3h27yl3","init_mincross"); +try { + int size; + //if (Verbose) + //start_timer(); + Z.z().ReMincross = false; + Z.z().Root = g; + /* alloc +1 for the null terminator usage in do_ordering() */ + /* also, the +1 avoids attempts to alloc 0 sizes, something + that efence complains about */ + size = agnedges(dot_root(g)) + 1; + Z.z().TE_list = zmalloc(sizeof_starstar_empty(Agedge_s.class, size)); + Z.z().TI_list = zmalloc(size_t_array_of_integer(size)); + mincross_options(g); + if ((GD_flags(g) & (1 << 4))!=0) + fillRanks (g); + class2(g); + decompose(g, 1); + allocate_ranks(g); + ordered_edges(g); + Z.z().GlobalMinRank = GD_minrank(g); + Z.z().GlobalMaxRank = GD_maxrank(g); +} finally { +LEAVING("7fy4chyk12o7bgp1rv3h27yl3","init_mincross"); +} +} + + + + +//3 6fprrp93vmz0jn3l4ro0iropp +// void flat_rev(Agraph_t * g, Agedge_t * e) +public static void flat_rev(Agraph_s g, Agedge_s e) { +ENTERING("6fprrp93vmz0jn3l4ro0iropp","flat_rev"); +try { + int j; + Agedge_s rev; + if (ND_flat_out(aghead(e)).listNotNull()==false) + // if (N(ND_flat_out(aghead(e)).getArrayOfPtr("list"))) + rev = null; + else + for (j = 0; (rev = (Agedge_s) ND_flat_out(aghead(e)).getFromList(j))!=null; j++) + if (EQ(aghead(rev), agtail(e))) + break; + if (rev!=null) { + merge_oneway(e, rev); + if (ED_to_virt(e) == null) + ED_to_virt(e, rev); + if ((ED_edge_type(rev) == 4) + && (ED_to_orig(rev) == null)) + ED_to_orig(rev, e); + elist_append(e, ND_other(agtail(e))); + } else { + rev = new_virtual_edge(aghead(e), agtail(e), e); + if (ED_edge_type(e) == 4) + ED_edge_type(rev, 4); + else + ED_edge_type(rev, 3); + ED_label(rev, ED_label(e)); + flat_edge(g, rev); + } +} finally { +LEAVING("6fprrp93vmz0jn3l4ro0iropp","flat_rev"); +} +} + + + + +//3 63ol0ch6cgln1nvl5oiz6n1v0 +// static void flat_search(graph_t * g, node_t * v) +public static void flat_search(Agraph_s g, Agnode_s v) { +ENTERING("63ol0ch6cgln1nvl5oiz6n1v0","flat_search"); +try { + int i; + boolean hascl; + Agedge_s e; + adjmatrix_t M = (adjmatrix_t) GD_rank(g).plus(ND_rank(v)).getPtr("flat"); + ND_mark(v, NOT(false)); + ND_onstack(v, NOT(false)); + hascl = (GD_n_cluster(dot_root(g)) > 0); + if (ND_flat_out(v).listNotNull()) + for (i = 0; (e = (Agedge_s) ND_flat_out(v).getFromList(i))!=null; i++) { + if (hascl + && NOT(agcontains(g, agtail(e)) && agcontains(g, aghead(e)))) + continue; + if (ED_weight(e) == 0) + continue; + if (ND_onstack(aghead(e)) == NOT(false)) { + assert(ND_low(aghead(e)) < M.getInt("nrows")); + assert(ND_low(agtail(e)) < M.getInt("ncols")); + M.getArrayOfInteger("data").plus(ND_low(aghead(e))*M.getInt("ncols")+ND_low(agtail(e))).setInt(1); + delete_flat_edge(e); + i--; + if (ED_edge_type(e) == 4) + continue; + flat_rev(g, e); + } else { + assert(ND_low(aghead(e)) < M.getInt("nrows")); + assert(ND_low(agtail(e)) < M.getInt("ncols")); + M.getArrayOfInteger("data").plus(ND_low(agtail(e))*M.getInt("ncols")+ND_low(aghead(e))).setInt(1); + if (ND_mark(aghead(e)) == 0) + flat_search(g, aghead(e)); + } + } + ND_onstack(v, 0); +} finally { +LEAVING("63ol0ch6cgln1nvl5oiz6n1v0","flat_search"); +} +} + + + + +//3 3v5h7z4vqivibvpt913lg8at0 +// static void flat_breakcycles(graph_t * g) +public static void flat_breakcycles(Agraph_s g) { +ENTERING("3v5h7z4vqivibvpt913lg8at0","flat_breakcycles"); +try { + int i, r, flat; + Agnode_s v; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + flat = 0; + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + ND_mark(v, 0); + ND_onstack(v, 0); + ND_low(v, i); + if ((ND_flat_out(v).size > 0) && (flat == 0)) { + GD_rank(g).plus(r).setPtr("flat", + new_matrix(GD_rank(g).plus(r).getInt("n"), GD_rank(g).plus(r).getInt("n"))); + flat = 1; + } + } + if (flat!=0) { + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + if (ND_mark(v) == 0) + flat_search(g, v); + } + } + } +} finally { +LEAVING("3v5h7z4vqivibvpt913lg8at0","flat_breakcycles"); +} +} + + + + +//3 d5vb6jiw8mhkaa8gjwn4eqfyn +// void allocate_ranks(graph_t * g) +public static void allocate_ranks(Agraph_s g) { +ENTERING("d5vb6jiw8mhkaa8gjwn4eqfyn","allocate_ranks"); +try { + // REVIEW 17/01/2016 + int r, low, high; + __ptr__ cn; + Agnode_s n; + Agedge_s e; + cn = zmalloc(size_t_array_of_integer(GD_maxrank(g) + 2)); + /* must be 0 based, not GD_minrank */ + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + cn.plus(ND_rank(n)).setInt(1+cn.plus(ND_rank(n)).getInt()); + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + low = ND_rank(agtail(e)); + high = ND_rank(aghead(e)); + if (low > high) { + int t = low; + low = high; + high = t; + } + for (r = low + 1; r < high; r++) + cn.plus(r).setInt(1+cn.plus(r).getInt()); + } + } + GD_rank(g, zmalloc(sizeof(rank_t.class, GD_maxrank(g) + 2))); + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + GD_rank(g).plus(r).setInt("n", cn.plus(r).getInt()); + GD_rank(g).plus(r).setInt("an", cn.plus(r).getInt()); + __ptr__ tmp = zmalloc(sizeof_starstar_empty(Agnode_s.class, cn.plus(r).getInt() + 1)); + GD_rank(g).plus(r).setPtr("v", tmp); + GD_rank(g).plus(r).setPtr("av", tmp); + } + Memory.free(cn); +} finally { +LEAVING("d5vb6jiw8mhkaa8gjwn4eqfyn","allocate_ranks"); +} +} + + + + +//3 3lxoqxhiri9fgt20zc5jz3aa5 +// void install_in_rank(graph_t * g, node_t * n) +public static void install_in_rank(Agraph_s g, Agnode_s n) { +ENTERING("3lxoqxhiri9fgt20zc5jz3aa5","install_in_rank"); +try { + int i, r; + r = ND_rank(n); + i = GD_rank(g).plus(r).getInt("n"); + if (GD_rank(g).plus(r).getInt("an") <= 0) { +UNSUPPORTED("8qk1xhvvb994zhv9aq10k4v12"); // agerr(AGERR, "install_in_rank, line %d: %s %s rank %d i = %d an = 0\n", +UNSUPPORTED("53h8d82ax23hys2k21hjswp72"); // 1034, agnameof(g), agnameof(n), r, i); + return; + } + GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).setPtr(n); + ND_order(n, i); + GD_rank(g).plus(r).setInt("n", 1+GD_rank(g).plus(r).getInt("n")); + // assert(GD_rank(g)[r].n <= GD_rank(g)[r].an); + if (ND_order(n) > GD_rank(Z.z().Root).plus(r).getInt("an")) { +UNSUPPORTED("399szcw1txekt1xssyw7s2x07"); // agerr(AGERR, "install_in_rank, line %d: ND_order(%s) [%d] > GD_rank(Root)[%d].an [%d]\n", +UNSUPPORTED("9puojrmsk6vb1qc0jtr8ge4g8"); // 1052, agnameof(n), ND_order(n), r, GD_rank(Root)[r].an); + return; + } + if ((r < GD_minrank(g)) || (r > GD_maxrank(g))) { +UNSUPPORTED("7o1thnqda767wqpe2lh9mj03t"); // agerr(AGERR, "install_in_rank, line %d: rank %d not in rank range [%d,%d]\n", +UNSUPPORTED("d2ugluzf7bmj7osicgitgy3sr"); // 1057, r, GD_minrank(g), GD_maxrank(g)); + return; + } + if (GD_rank(g).plus(r).getPtr("v").plus(ND_order(n)).comparePointer( + GD_rank(g).plus(r).getPtr("av").plus(GD_rank(Z.z().Root).plus(r).getInt("an")))>0) { +UNSUPPORTED("3eb32nc5czs5auwzz5p5mtl04"); // agerr(AGERR, "install_in_rank, line %d: GD_rank(g)[%d].v + ND_order(%s) [%d] > GD_rank(g)[%d].av + GD_rank(Root)[%d].an [%d]\n", +UNSUPPORTED("3qe3qpw5h6vse39xs1ca9sjmo"); // 1062, r, agnameof(n),GD_rank(g)[r].v + ND_order(n), r, r, GD_rank(g)[r].av+GD_rank(Root)[r].an); + return; + } +} finally { +LEAVING("3lxoqxhiri9fgt20zc5jz3aa5","install_in_rank"); +} +} + + + + +//3 7t49bz6lfcbd9v63ds2x3518z +// void build_ranks(graph_t * g, int pass) +public static void build_ranks(Agraph_s g, int pass) { +ENTERING("7t49bz6lfcbd9v63ds2x3518z","build_ranks"); +try { + int i, j; + Agnode_s n, n0 = null; + __ptr__ otheredges; + nodequeue q; + q = new_queue(GD_n_nodes(g)); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + ND_mark(n, 0); + for (i = GD_minrank(g); i <= GD_maxrank(g); i++) + GD_rank(g).plus(i).setInt("n", 0); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + otheredges = ((pass == 0) ? ND_in(n).getTheList() : ND_out(n).getTheList()); + if (otheredges.plus(0).getPtr() != null) + continue; + if ((ND_mark(n)) == 0) { + ND_mark(n, 1); + enqueue(q, n); + while ((n0 = dequeue(q))!=null) { + if (ND_ranktype(n0) != 7) { + install_in_rank(g, n0); + enqueue_neighbors(q, n0, pass); + } else { + install_cluster(g, n0, pass, q); + } + } + } + } + if (dequeue(q)!=null) +UNSUPPORTED("1b3hbd5artrq77i58q2o9kgz3"); // agerr(AGERR, "surprise\n"); + for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { + GD_rank(Z.z().Root).plus(i).setInt("valid", 0); + if (GD_flip(g)!=0 && (GD_rank(g).plus(i).getInt("n") > 0)) { + int nn, ndiv2; + __ptr__ vlist = GD_rank(g).plus(i).getPtr("v"); + nn = GD_rank(g).plus(i).getInt("n") - 1; + ndiv2 = nn / 2; + for (j = 0; j <= ndiv2; j++) + exchange((Agnode_s)vlist.plus(j).getPtr(), (Agnode_s)vlist.plus(nn - j).getPtr()); + } + } + if (EQ(g, dot_root(g)) && ncross(g) > 0) + transpose(g, false); + free_queue(q); +} finally { +LEAVING("7t49bz6lfcbd9v63ds2x3518z","build_ranks"); +} +} + + + + +//3 bmjlneqxex6a9silzkkidkx6s +// void enqueue_neighbors(nodequeue * q, node_t * n0, int pass) +public static void enqueue_neighbors(nodequeue q, Agnode_s n0, int pass) { +ENTERING("bmjlneqxex6a9silzkkidkx6s","enqueue_neighbors"); +try { + int i; + Agedge_s e; + if (pass == 0) { + for (i = 0; i < ND_out(n0).size; i++) { + e = (Agedge_s) ND_out(n0).getFromList(i); + if (((ND_mark(aghead(e)))) == 0) { + ND_mark(aghead(e), 1); + enqueue(q, aghead(e)); + } + } + } else { + for (i = 0; i < ND_in(n0).size; i++) { + e = (Agedge_s) ND_in(n0).getFromList(i); + if (((ND_mark(agtail(e)))) == 0) { + ND_mark(agtail(e), 1); + enqueue(q, agtail(e)); + } + } + } +} finally { +LEAVING("bmjlneqxex6a9silzkkidkx6s","enqueue_neighbors"); +} +} + + + + +//3 c8nqj0v20api63pikohsbx92u +// static int constraining_flat_edge(Agraph_t *g, Agnode_t *v, Agedge_t *e) +public static boolean constraining_flat_edge(Agraph_s g, Agnode_s v, Agedge_s e) { +ENTERING("c8nqj0v20api63pikohsbx92u","constraining_flat_edge"); +try { + if (ED_weight(e) == 0) return false; + if (N(inside_cluster(g,agtail(e)))) return false; + if (N(inside_cluster(g,aghead(e)))) return false; + return NOT(false); +} finally { +LEAVING("c8nqj0v20api63pikohsbx92u","constraining_flat_edge"); +} +} + + + + +//3 46to0pkk188af2dlkik2ab7e3 +// static int postorder(graph_t * g, node_t * v, node_t ** list, int r) +public static int postorder(Agraph_s g, Agnode_s v, __ptr__ list, int r) { +ENTERING("46to0pkk188af2dlkik2ab7e3","postorder"); +try { + Agedge_s e; + int i, cnt = 0; + ND_mark(v, NOT(false)); + if (ND_flat_out(v).size > 0) { + for (i = 0; (e = (Agedge_s) ND_flat_out(v).getFromList(i))!=null; i++) { + if (N(constraining_flat_edge(g,v,e))) continue; + if ((ND_mark(aghead(e))) == 0) + cnt += postorder(g, aghead(e), list.plus(cnt), r); + } + } + assert(ND_rank(v) == r); + list.plus(cnt++).setPtr(v); + return cnt; +} finally { +LEAVING("46to0pkk188af2dlkik2ab7e3","postorder"); +} +} + + + + +//3 zuxoswju917kyl08a5f0gtp6 +// static void flat_reorder(graph_t * g) +public static void flat_reorder(Agraph_s g) { +ENTERING("zuxoswju917kyl08a5f0gtp6","flat_reorder"); +try { + int i, j, r, pos, n_search, local_in_cnt, local_out_cnt, base_order; + Agnode_s v, t; + __ptr__ left, right; + __ptr__ temprank = null; + Agedge_s flat_e, e; + if (GD_has_flat_edges(g) == 0) + return; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + if (GD_rank(g).plus(r).getInt("n") == 0) continue; + base_order = ND_order(GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr()); + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) + ND_mark(GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(), 0); + temprank = ALLOC(i + 1, temprank, Agnode_s.class); + pos = 0; + /* construct reverse topological sort order in temprank */ + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + if (GD_flip(g)!=0) v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + else v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(GD_rank(g).plus(r).getInt("n") - i - 1).getPtr(); + local_in_cnt = local_out_cnt = 0; + for (j = 0; j < ND_flat_in(v).size; j++) { + flat_e = (Agedge_s) ND_flat_in(v).getFromList(j); + if (constraining_flat_edge(g,v,flat_e)) local_in_cnt++; + } + for (j = 0; j < ND_flat_out(v).size; j++) { + flat_e = (Agedge_s) ND_flat_out(v).getFromList(j); + if (constraining_flat_edge(g,v,flat_e)) local_out_cnt++; + } + if ((local_in_cnt == 0) && (local_out_cnt == 0)) + temprank.plus(pos++).setPtr(v); + else { + if (((ND_mark(v)) == 0) && (local_in_cnt == 0)) { + left = temprank.plus(pos); + n_search = postorder(g, v, left, r); + pos += n_search; + } + } + } + if (pos!=0) { + if (GD_flip(g) == 0) { + left = temprank; + right = temprank.plus(pos - 1); + while (left.comparePointer(right) < 0) { + t = (Agnode_s) left.getPtr(); + left.setPtr(right.getPtr()); + right.setPtr(t); + left = left.plus(1); + right = right.plus(-1); + } + } + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) temprank.plus(i).getPtr(); + GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).setPtr(v); + ND_order(v, i + base_order); + } + /* nonconstraint flat edges must be made LR */ + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + if (ND_flat_out(v).listNotNull()) { + for (j = 0; (e = (Agedge_s) ND_flat_out(v).getFromList(j))!=null; j++) { + if ( ((GD_flip(g) == 0) && (ND_order(aghead(e)) < ND_order(agtail(e)))) || + ( (GD_flip(g)!=0) && (ND_order(aghead(e)) > ND_order(agtail(e)) ))) { + assert(constraining_flat_edge(g,v,e) == false); + delete_flat_edge(e); + j--; + flat_rev(g, e); + } + } + } + } + /* postprocess to restore intended order */ + } + /* else do no harm! */ + GD_rank(Z.z().Root).plus(r).setInt("valid", 0); + } + if (temprank!=null) + Memory.free(temprank); +} finally { +LEAVING("zuxoswju917kyl08a5f0gtp6","flat_reorder"); +} +} + + + + +//3 inv6wazjcnh4xkzzphsdcmg4 +// static void reorder(graph_t * g, int r, int reverse, int hasfixed) +public static void reorder(Agraph_s g, int r, boolean reverse, boolean hasfixed) { +ENTERING("inv6wazjcnh4xkzzphsdcmg4","reorder"); +try { + boolean changed = false; + int nelt; + boolean muststay, sawclust; + __ptr__ vlist = GD_rank(g).plus(r).getPtr("v"); + __ptr__ lp, rp=null, ep = vlist.plus(GD_rank(g).plus(r).getInt("n")); + for (nelt = GD_rank(g).plus(r).getInt("n") - 1; nelt >= 0; nelt--) { + lp = vlist; + while (lp.comparePointer(ep)<0) { + /* find leftmost node that can be compared */ + while ((lp.comparePointer(ep) < 0) && (ND_mval(lp.getPtr()) < 0)) + lp = lp.plus(1); + if (lp.comparePointer(ep) >= 0) + break; + /* find the node that can be compared */ + sawclust = muststay = false; + for (rp = lp.plus(1); rp.comparePointer(ep) < 0; rp=rp.plus(1)) { + if (sawclust && ND_clust(rp.getPtr())!=null) + continue; /* ### */ + if (left2right(g, (Agnode_s) lp.getPtr(), (Agnode_s) rp.getPtr())) { + muststay = NOT(false); + break; + } + if (ND_mval(rp.getPtr()) >= 0) + break; + if (ND_clust(rp.getPtr())!=null) + sawclust = NOT(false); /* ### */ + } + if (rp.comparePointer(ep) >= 0) + break; + if (muststay == false) { + int p1 = (int) (ND_mval(lp.getPtr())); + int p2 = (int) (ND_mval(rp.getPtr())); + if ((p1 > p2) || ((p1 == p2) && (reverse))) { + exchange((Agnode_s)lp.getPtr(), (Agnode_s)rp.getPtr()); + changed=true; + } + } + lp = rp; + } + if ((hasfixed == false) && (reverse == false)) + ep = ep.plus(-1); + } + if (changed) { + GD_rank(Z.z().Root).plus(r).setBoolean("valid", false); + if (r > 0) + GD_rank(Z.z().Root).plus(r - 1).setBoolean("valid", false); + } +} finally { +LEAVING("inv6wazjcnh4xkzzphsdcmg4","reorder"); +} +} + + + + +//3 14t80owwvm7io4ou6czb9ba9 +// static void mincross_step(graph_t * g, int pass) +public static void mincross_step(Agraph_s g, int pass) { +ENTERING("14t80owwvm7io4ou6czb9ba9","mincross_step"); +try { + int r, other, first, last, dir; + boolean hasfixed, reverse; + if ((pass % 4) < 2) + reverse = NOT(false); + else + reverse = false; + if ((pass % 2)!=0) { + r = GD_maxrank(g) - 1; + dir = -1; + } /* up pass */ + else { + r = 1; + dir = 1; + } /* down pass */ + if (pass % 2 == 0) { /* down pass */ + first = GD_minrank(g) + 1; + if (GD_minrank(g) > GD_minrank(Z.z().Root)) + first--; + last = GD_maxrank(g); + dir = 1; + } else { /* up pass */ + first = GD_maxrank(g) - 1; + last = GD_minrank(g); + if (GD_maxrank(g) < GD_maxrank(Z.z().Root)) + first++; + dir = -1; + } + for (r = first; r != last + dir; r += dir) { + other = r - dir; + hasfixed = medians(g, r, other); + reorder(g, r, reverse, hasfixed); + } + transpose(g, NOT(reverse)); +} finally { +LEAVING("14t80owwvm7io4ou6czb9ba9","mincross_step"); +} +} + + + + +//3 aq18oa4k4grixvfjx7r2qnl6r +// static int local_cross(elist l, int dir) +public static int local_cross(final __struct__<elist> l, int dir) { +// WARNING!! STRUCT +return local_cross_w_(l.copy(), dir); +} +private static int local_cross_w_(final __struct__<elist> l, int dir) { +ENTERING("aq18oa4k4grixvfjx7r2qnl6r","local_cross"); +try { + UNSUPPORTED("3jmndo6p8u1x5wp297qpt0jto"); // static int local_cross(elist l, int dir) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("2gmuwkiycm22in3d9obd7bzll"); // int i, j, is_out; +UNSUPPORTED("bcforqedbns82qhgqkocjbvm"); // int cross = 0; +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("8az9seos08f2sa39127q6yo9"); // if (dir > 0) +UNSUPPORTED("8xj2loay6suplxyiun7hlye39"); // is_out = NOT(0); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("56xhe3qw67sg923dvr87k8hho"); // is_out = 0; +UNSUPPORTED("16t717mqlhfn3egmgor8are83"); // for (i = 0; (e = l.list[i]); i++) { +UNSUPPORTED("3lbek06034x2gsimhxwfmgf0r"); // if (is_out) +UNSUPPORTED("2pkmgz4cm8lwpwxgcg3znjm90"); // for (j = i + 1; (f = l.list[j]); j++) { +UNSUPPORTED("8wj6phwqlmunjcua9abo6093d"); // if ((ND_order(aghead(f)) - ND_order(aghead(e))) +UNSUPPORTED("pt12knuv94kokmtrwpdp1m0j"); // * (ED_tail_port(f).p.x - ED_tail_port(e).p.x) < 0) +UNSUPPORTED("bw8rwv11yqzss88pad7ljil8a"); // cross += ED_xpenalty(e) * ED_xpenalty(f); +UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else +UNSUPPORTED("2pkmgz4cm8lwpwxgcg3znjm90"); // for (j = i + 1; (f = l.list[j]); j++) { +UNSUPPORTED("bza83c6rmihrkzyllwf0jm4tn"); // if ((ND_order(agtail(f)) - ND_order(agtail(e))) +UNSUPPORTED("csrxg0y1azmvde7t833lm13sp"); // * (ED_head_port(f).p.x - ED_head_port(e).p.x) < 0) +UNSUPPORTED("bw8rwv11yqzss88pad7ljil8a"); // cross += ED_xpenalty(e) * ED_xpenalty(f); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("8dm5o3tsfvxtjilyob6q5ndi1"); // return cross; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("aq18oa4k4grixvfjx7r2qnl6r","local_cross"); +} +} + + + + +//3 bk5nklhfqgg0uwkv7tv6dn8r2 +// static int rcross(graph_t * g, int r) +//static __ptr__ Count; +//static int C; +public static int rcross(Agraph_s g, int r) { +ENTERING("bk5nklhfqgg0uwkv7tv6dn8r2","rcross"); +try { + int top, bot, cross, max, i, k; + Agnode_s v; + __ptr__ rtop; + cross = 0; + max = 0; + rtop = GD_rank(g).plus(r).getPtr("v"); + if (Z.z().C <= GD_rank(Z.z().Root).plus(r + 1).getInt("n")) { + Z.z().C = GD_rank(Z.z().Root).plus(r + 1).getInt("n") + 1; + Z.z().Count = ALLOC_INT(Z.z().C, Z.z().Count); + } + for (i = 0; i < GD_rank(g).plus(r + 1).getInt("n"); i++) + Z.z().Count.plus(i).setInt(0); + for (top = 0; top < GD_rank(g).plus(r).getInt("n"); top++) { + Agedge_s e; + if (max > 0) { + for (i = 0; (e = (Agedge_s) ND_out(rtop.plus(top).getPtr()).getFromList(i))!=null; i++) { + for (k = ND_order(aghead(e)) + 1; k <= max; k++) + cross += Z.z().Count.plus(k).getInt() * ED_xpenalty(e); + } + } + for (i = 0; (e = (Agedge_s) ND_out(rtop.plus(top).getPtr()).getFromList(i))!=null; i++) { + int inv = ND_order(aghead(e)); + if (inv > max) + max = inv; + Z.z().Count.plus(inv).setInt(Z.z().Count.plus(inv).getInt() + ED_xpenalty(e)); + } + } + for (top = 0; top < GD_rank(g).plus(r).getInt("n"); top++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(top).getPtr(); + if (ND_has_port(v)) + cross += local_cross(ND_out(v), 1); + } + for (bot = 0; bot < GD_rank(g).plus(r + 1).getInt("n"); bot++) { + v = (Agnode_s) GD_rank(g).plus(r + 1).getArrayOfPtr("v").plus(bot).getPtr(); + if (ND_has_port(v)) + cross += local_cross(ND_in(v), -1); + } + return cross; +} finally { +LEAVING("bk5nklhfqgg0uwkv7tv6dn8r2","rcross"); +} +} + + + + +//3 dbjmz2tnii2pn9sxg26ap6w5r +// int ncross(graph_t * g) +public static int ncross(Agraph_s g) { +ENTERING("dbjmz2tnii2pn9sxg26ap6w5r","ncross"); +try { + int r, count, nc; + g = Z.z().Root; + count = 0; + for (r = GD_minrank(g); r < GD_maxrank(g); r++) { + if (GD_rank(g).plus(r).getBoolean("valid")) + count += GD_rank(g).plus(r).getInt("cache_nc"); + else { + nc = rcross(g, r); + GD_rank(g).plus(r).getInt("cache_nc"); + count += nc; + GD_rank(g).plus(r).setInt("valid", 1); + } + } + return count; +} finally { +LEAVING("dbjmz2tnii2pn9sxg26ap6w5r","ncross"); +} +} + + + + +//3 8wrsq8a2vooekcm3cdtv5x3ke +// static int ordercmpf(int *i0, int *i1) +public static int ordercmpf(__ptr__ i0, __ptr__ i1) { +ENTERING("8wrsq8a2vooekcm3cdtv5x3ke","ordercmpf"); +try { + return (i0.getInt()) - (i1.getInt()); +} finally { +LEAVING("8wrsq8a2vooekcm3cdtv5x3ke","ordercmpf"); +} +} + + + + +//3 7397kynkpqf2m1jkpmi8pgf0n +// static int flat_mval(node_t * n) +public static boolean flat_mval(Agnode_s n) { +ENTERING("7397kynkpqf2m1jkpmi8pgf0n","flat_mval"); +try { + int i; + Agedge_s e; + __ptr__ fl; + Agnode_s nn; + if (ND_flat_in(n).size > 0) { + fl = ND_flat_in(n).getTheList(); + nn = agtail(fl.plus(0).getPtr()); + for (i = 1; (e = (Agedge_s) fl.plus(i).getPtr())!=null; i++) + if (ND_order(agtail(e)) > ND_order(nn)) + nn = agtail(e); + if (ND_mval(nn) >= 0) { + ND_mval(n, ND_mval(nn) + 1); + return false; + } + } else if (ND_flat_out(n).size > 0) { + fl = ND_flat_out(n).getTheList(); + nn = aghead(fl.plus(0).getPtr()); + for (i = 1; (e = (Agedge_s) fl.plus(i).getPtr())!=null; i++) + if (ND_order(aghead(e)) < ND_order(nn)) + nn = aghead(e); + if (ND_mval(nn) > 0) { + ND_mval(n, ND_mval(nn) - 1); + return false; + } + } + return NOT(false); +} finally { +LEAVING("7397kynkpqf2m1jkpmi8pgf0n","flat_mval"); +} +} + + + + +//3 azvdpixwwxspl31wp7f4k4fmh +// static boolean medians(graph_t * g, int r0, int r1) +public static boolean medians(Agraph_s g, int r0, int r1) { +ENTERING("azvdpixwwxspl31wp7f4k4fmh","medians"); +try { + int i, j, j0, lm, rm, lspan, rspan; + __ptr__ list; + Agnode_s n; + __ptr__ v; + Agedge_s e; + boolean hasfixed = false; + list = Z.z().TI_list; + v = GD_rank(g).plus(r0).getPtr("v"); + for (i = 0; i < GD_rank(g).plus(r0).getInt("n"); i++) { + n = (Agnode_s) v.plus(i).getPtr(); + j = 0; + if (r1 > r0) + for (j0 = 0; (e = (Agedge_s) ND_out(n).getFromList(j0))!=null; j0++) { + if (ED_xpenalty(e) > 0) + list.plus(j++).setInt((256 * ND_order(aghead(e)) + (ED_head_port(e)).getInt("order"))); + } else + for (j0 = 0; (e = (Agedge_s) ND_in(n).getFromList(j0))!=null; j0++) { + if (ED_xpenalty(e) > 0) + list.plus(j++).setInt((256 * ND_order(agtail(e)) + (ED_tail_port(e)).getInt("order"))); + } + switch (j) { + case 0: + ND_mval(n, -1); + break; + case 1: + ND_mval(n, list.plus(0).getInt()); + break; + case 2: + ND_mval(n, (list.plus(0).getInt() + list.plus(1).getInt()) / 2); + break; + default: + qsort(list, + j, + sizeof(list.plus(0)), + function(mincross__c.class, "ordercmpf")); + if (j % 2!=0) + ND_mval(n, list.plus(j / 2).getInt()); + else { + /* weighted median */ + rm = j / 2; + lm = rm - 1; + rspan = list.plus(j - 1).getInt() - list.plus(rm).getInt(); + lspan = list.plus(lm).getInt() - list.plus(0).getInt(); + if (lspan == rspan) + ND_mval(n, (list.plus(lm).getInt() + list.plus(rm).getInt()) / 2); + else { + int w = list.plus(lm).getInt() * rspan + list.plus(rm).getInt() * lspan; + ND_mval(n, w / (lspan + rspan)); + } + } + } + } + for (i = 0; i < GD_rank(g).plus(r0).getInt("n"); i++) { + n = (Agnode_s) v.plus(i).getPtr(); + if ((ND_out(n).size == 0) && (ND_in(n).size == 0)) + hasfixed |= flat_mval(n); + } + return hasfixed; +} finally { +LEAVING("azvdpixwwxspl31wp7f4k4fmh","medians"); +} +} + + + + +//3 2vdhpcykq508ma83aif8sxcbd +// static int nodeposcmpf(node_t ** n0, node_t ** n1) +public static Object nodeposcmpf(__ptr__ n0, __ptr__ n1) { +ENTERING("2vdhpcykq508ma83aif8sxcbd","nodeposcmpf"); +try { + return (ND_order(n0.getPtr()) - ND_order(n1.getPtr())); +} finally { +LEAVING("2vdhpcykq508ma83aif8sxcbd","nodeposcmpf"); +} +} + + + + +//3 87c98ld9c4hv87ekcxdyojx8l +// static int edgeidcmpf(edge_t ** e0, edge_t ** e1) +public static Object edgeidcmpf(Object... arg) { +UNSUPPORTED("apvyql25ya1p7w7i7396gucdg"); // static int edgeidcmpf(edge_t ** e0, edge_t ** e1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9gjc2rit3ezq4il0t5aymk1z"); // return (AGSEQ(*e0) - AGSEQ(*e1)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 40as9opn4mzq4gp4nkmp4dj8w +// static int table[3][3] = +private static int table[][] = new int[][]{ + /* ordinary */ {1, 1, 1}, + /* singleton */ {1, 2, 2}, + /* virtual */ {1, 2, 4} +}; + + + +//3 7j638prioxd97f74v1v4adbsf +// static int endpoint_class(node_t * n) +public static int endpoint_class(Agnode_s n) { +ENTERING("7j638prioxd97f74v1v4adbsf","endpoint_class"); +try { + if (ND_node_type(n) == 1) + return 2; + if (ND_weight_class(n) <= 1) + return 1; + return 0; +} finally { +LEAVING("7j638prioxd97f74v1v4adbsf","endpoint_class"); +} +} + + + + +//3 es57bn7ga4wc9tqtcixpn0451 +// void virtual_weight(edge_t * e) +public static void virtual_weight(Agedge_s e) { +ENTERING("es57bn7ga4wc9tqtcixpn0451","virtual_weight"); +try { + int t; + t = table[endpoint_class(agtail(e))][endpoint_class(aghead(e))]; + ED_weight(e, ED_weight(e) * t); +} finally { +LEAVING("es57bn7ga4wc9tqtcixpn0451","virtual_weight"); +} +} + + + + +//3 7ru09oqbudpeofsthzveig2m2 +// static void mincross_options(graph_t * g) +public static void mincross_options(Agraph_s g) { +ENTERING("7ru09oqbudpeofsthzveig2m2","mincross_options"); +try { + CString p; + double f; + /* set default values */ + Z.z().MinQuit = 8; + Z.z().MaxIter = 24; + Z.z().Convergence = .995; + p = agget(g, new CString("mclimit")); + if (p!=null && ((f = atof(p)) > 0.0)) { +UNSUPPORTED("4iu53eiz077u6joqgwawca8ya"); // MinQuit = ((1)>(MinQuit * f)?(1):(MinQuit * f)); +UNSUPPORTED("38po81l36cibw6jc3qlsscpcu"); // MaxIter = ((1)>(MaxIter * f)?(1):(MaxIter * f)); + } +} finally { +LEAVING("7ru09oqbudpeofsthzveig2m2","mincross_options"); +} +} + + +} diff --git a/src/gen/lib/dotgen/position__c.java b/src/gen/lib/dotgen/position__c.java new file mode 100644 index 0000000..b0e40a1 --- /dev/null +++ b/src/gen/lib/dotgen/position__c.java @@ -0,0 +1,2170 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agget; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agtail; +import static gen.lib.cgraph.graph__c.agnnodes; +import static gen.lib.cgraph.obj__c.agcontains; +import static gen.lib.cgraph.obj__c.agroot; +import static gen.lib.common.memory__c.zmalloc; +import static gen.lib.common.ns__c.rank; +import static gen.lib.common.splines__c.selfRightSpace; +import static gen.lib.common.utils__c.late_int; +import static gen.lib.dotgen.cluster__c.mark_lowclusters; +import static gen.lib.dotgen.conc__c.dot_concentrate; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static gen.lib.dotgen.fastgr__c.fast_edge; +import static gen.lib.dotgen.fastgr__c.find_fast_edge; +import static gen.lib.dotgen.fastgr__c.virtual_node; +import static gen.lib.dotgen.fastgr__c.zapinlist; +import static gen.lib.dotgen.flat__c.flat_edges; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.USHRT_MAX; +import static smetana.core.JUtils.atof; +import static smetana.core.JUtils.enumAsInt; +import static smetana.core.JUtils.sizeof; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.AGINEDGE; +import static smetana.core.Macro.AGOUTEDGE; +import static smetana.core.Macro.AGTYPE; +import static smetana.core.Macro.ALLOC_empty; +import static smetana.core.Macro.ED_dist; +import static smetana.core.Macro.ED_head_port; +import static smetana.core.Macro.ED_label; +import static smetana.core.Macro.ED_minlen; +import static smetana.core.Macro.ED_tail_port; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_weight; +import static smetana.core.Macro.GD_bb; +import static smetana.core.Macro.GD_border; +import static smetana.core.Macro.GD_clust; +import static smetana.core.Macro.GD_drawing; +import static smetana.core.Macro.GD_exact_ranksep; +import static smetana.core.Macro.GD_flip; +import static smetana.core.Macro.GD_has_labels; +import static smetana.core.Macro.GD_ht1; +import static smetana.core.Macro.GD_ht2; +import static smetana.core.Macro.GD_label; +import static smetana.core.Macro.GD_ln; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_nodesep; +import static smetana.core.Macro.GD_rank; +import static smetana.core.Macro.GD_ranksep; +import static smetana.core.Macro.GD_rn; +import static smetana.core.Macro.INT_MAX; +import static smetana.core.Macro.MAX; +import static smetana.core.Macro.MIN; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_UF_size; +import static smetana.core.Macro.ND_alg; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_coord; +import static smetana.core.Macro.ND_flat_out; +import static smetana.core.Macro.ND_ht; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_inleaf; +import static smetana.core.Macro.ND_lw; +import static smetana.core.Macro.ND_mval; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_order; +import static smetana.core.Macro.ND_other; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_outleaf; +import static smetana.core.Macro.ND_prev; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_ranktype; +import static smetana.core.Macro.ND_rw; +import static smetana.core.Macro.ND_save_in; +import static smetana.core.Macro.ND_save_out; +import static smetana.core.Macro.NOT; +import static smetana.core.Macro.ROUND; +import static smetana.core.Macro.UNSUPPORTED; +import static smetana.core.Macro.aghead; +import static smetana.core.Macro.agtail; +import static smetana.core.Macro.alloc_elist; +import static smetana.core.Macro.free_list; +import h.Agedge_s; +import h.Agedgeinfo_t; +import h.Agedgepair_s; +import h.Agnode_s; +import h.Agraph_s; +import h.ST_pointf; +import h.aspect_t; +import h.boxf; +import h.point; +import h.pointf; +import h.ratio_t; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Memory; +import smetana.core.Z; +import smetana.core.__ptr__; +import smetana.core.__struct__; + +public class position__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6knxbdrmgk6294aw61s2lpvvf +// static double largeMinlen (double l) +public static double largeMinlen(double l) { +ENTERING("6knxbdrmgk6294aw61s2lpvvf","largeMinlen"); +try { + UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double +UNSUPPORTED("e2f0xhw6om2fpgt48xyjjg3i"); // largeMinlen (double l) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dad2o3vzemegi5fywxl7hcezk"); // agerr (AGERR, "Edge length %f larger than maximum %u allowed.\nCheck for overwide node(s).\n", l, USHRT_MAX); +UNSUPPORTED("dlasv24dnuygpwagcamhyg15w"); // return (double)USHRT_MAX; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("6knxbdrmgk6294aw61s2lpvvf","largeMinlen"); +} +} + + + + +//3 ccowbxkwmrj75tojopmhcmubx +// static void connectGraph (graph_t* g) +public static void connectGraph(Agraph_s g) { +ENTERING("ccowbxkwmrj75tojopmhcmubx","connectGraph"); +try { + int i, j, r, found; + Agnode_s tp; + Agnode_s hp; + Agnode_s sn; + Agedge_s e; + __ptr__ rp; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + rp = GD_rank(g).plus(r); + found =0; + tp = null; + for (i = 0; i < rp.getPtr().getInt("n"); i++) { + tp = (Agnode_s) rp.getPtr().getArrayOfPtr("v").plus(i).getPtr(); + if (ND_save_out(tp).listNotNull()) { + for (j = 0; (e = (Agedge_s) ND_save_out(tp).getFromList(j))!=null; j++) { + if ((ND_rank(aghead(e)) > r) || (ND_rank(agtail(e)) > r)) { + found = 1; + break; + } + } + if (found!=0) break; + } + if (ND_save_in(tp).listNotNull()) { + for (j = 0; (e = (Agedge_s) ND_save_in(tp).getFromList(j))!=null; j++) { + if ((ND_rank(agtail(e)) > r) || (ND_rank(aghead(e)) > r)) { + found = 1; + break; + } + } + if (found!=0) break; + } + } + if (found!=0 || N(tp)) continue; + tp = (Agnode_s) rp.getPtr().getArrayOfPtr("v").plus(0).getPtr(); + if (r < GD_maxrank(g)) hp = (Agnode_s) rp.plus(1).getPtr().getArrayOfPtr("v").plus(0).getPtr(); + else hp = (Agnode_s) rp.plus(-1).getPtr().getArrayOfPtr("v").plus(0).getPtr(); + //assert (hp); + sn = virtual_node(g); + ND_node_type(sn, 2); + make_aux_edge(sn, tp, 0, 0); + make_aux_edge(sn, hp, 0, 0); + ND_rank(sn, MIN(ND_rank(tp), ND_rank(hp))); + } +} finally { +LEAVING("ccowbxkwmrj75tojopmhcmubx","connectGraph"); +} +} + + + + +//3 33snzyd9z0loienur06dnily9 +// void dot_position(graph_t * g, aspect_t* asp) +public static void dot_position(Agraph_s g, aspect_t asp) { +ENTERING("33snzyd9z0loienur06dnily9","dot_position"); +try { + if (GD_nlist(g) == null) + return; /* ignore empty graph */ + mark_lowclusters(g); /* we could remove from splines.c now */ + set_ycoords(g); + if (Z.z().Concentrate) + dot_concentrate(g); + expand_leaves(g); + if (flat_edges(g)!=0) + set_ycoords(g); + create_aux_edges(g); + if (rank(g, 2, nsiter2(g))!=0) { /* LR balance == 2 */ + connectGraph (g); + //assert(rank(g, 2, nsiter2(g)) == 0); + } + set_xcoords(g); + set_aspect(g, asp); + remove_aux_edges(g); /* must come after set_aspect since we now + * use GD_ln and GD_rn for bbox width. + */ +} finally { +LEAVING("33snzyd9z0loienur06dnily9","dot_position"); +} +} + + + + +//3 90vn63m6v0w9fn9a2dgfxxx3h +// static int nsiter2(graph_t * g) +public static int nsiter2(Agraph_s g) { +ENTERING("90vn63m6v0w9fn9a2dgfxxx3h","nsiter2"); +try { + int maxiter = INT_MAX; + CString s; + if ((s = agget(g, new CString("nslimit")))!=null) + maxiter = (int)(atof(s) * agnnodes(g)); + return maxiter; +} finally { +LEAVING("90vn63m6v0w9fn9a2dgfxxx3h","nsiter2"); +} +} + + + + +//3 5bax8ut6nnk4pr7yxdumk9chl +// static int go(node_t * u, node_t * v) +public static boolean go(Agnode_s u, Agnode_s v) { +ENTERING("5bax8ut6nnk4pr7yxdumk9chl","go"); +try { + int i; + Agedge_s e; + if (EQ(u, v)) + return NOT(false); + for (i = 0; (e = (Agedge_s) ND_out(u).getFromList(i))!=null; i++) { + if (go(aghead(e), v)) + return NOT(false); + } + return false; +} finally { +LEAVING("5bax8ut6nnk4pr7yxdumk9chl","go"); +} +} + + + + +//3 9xz8numztzj4qsq85pziahv1k +// static int canreach(node_t * u, node_t * v) +public static boolean canreach(Agnode_s u, Agnode_s v) { +ENTERING("9xz8numztzj4qsq85pziahv1k","canreach"); +try { + return go(u, v); +} finally { +LEAVING("9xz8numztzj4qsq85pziahv1k","canreach"); +} +} + + + + +//3 4cvgiatny97ou6mhqoq6aqwek +// edge_t *make_aux_edge(node_t * u, node_t * v, double len, int wt) +public static Agedge_s make_aux_edge(Agnode_s u, Agnode_s v, double len, int wt) { +ENTERING("4cvgiatny97ou6mhqoq6aqwek","make_aux_edge"); +try { + Agedge_s e; + Agedgepair_s e2 = (Agedgepair_s) zmalloc(sizeof(Agedgepair_s.class)); + AGTYPE(e2.getStruct("in").amp(), AGINEDGE); + AGTYPE(e2.getStruct("out").amp(), AGOUTEDGE); + e2.getStruct("out").getStruct("base").setPtr("data", zmalloc(sizeof(Agedgeinfo_t.class))); + e = (Agedge_s) e2.getStruct("out").amp(); + agtail(e, u); + aghead(e, v); + if (len > USHRT_MAX) + len = largeMinlen (len); + ED_minlen(e, ROUND(len)); + ED_weight(e, wt); + fast_edge(e); + return e; +} finally { +LEAVING("4cvgiatny97ou6mhqoq6aqwek","make_aux_edge"); +} +} + + + + +//3 53fvij7oun7aezlb7x66vzuyb +// static void allocate_aux_edges(graph_t * g) +public static void allocate_aux_edges(Agraph_s g) { +ENTERING("53fvij7oun7aezlb7x66vzuyb","allocate_aux_edges"); +try { + int i, j, n_in; + Agnode_s n; + /* allocate space for aux edge lists */ + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + ND_save_in(n, ND_in(n)); + ND_save_out(n, ND_out(n)); + for (i = 0; ND_out(n).getFromList(i)!=null; i++); + for (j = 0; ND_in(n).getFromList(j)!=null; j++); + n_in = i + j; + alloc_elist(n_in + 3, ND_in(n), Agnode_s.class); + alloc_elist(3, ND_out(n), Agnode_s.class); + } +} finally { +LEAVING("53fvij7oun7aezlb7x66vzuyb","allocate_aux_edges"); +} +} + + + + +//3 ah28nr6mxpjeosr85bhmzd3si +// static void make_LR_constraints(graph_t * g) +public static void make_LR_constraints(Agraph_s g) { +ENTERING("ah28nr6mxpjeosr85bhmzd3si","make_LR_constraints"); +try { + int i, j, k; + int sw; /* self width */ + int m0, m1; + double width; + int sep[] = new int[2]; + int nodesep; /* separation between nodes on same rank */ + Agedge_s e, e0, e1, ff; + Agnode_s u, v, t0, h0; + __ptr__ rank = GD_rank(g); + /* Use smaller separation on odd ranks if g has edge labels */ + if ((GD_has_labels(g) & (1 << 0))!=0) { + sep[0] = GD_nodesep(g); + sep[1] = 5; + } + else { + sep[1] = sep[0] = GD_nodesep(g); + } + /* make edges to constrain left-to-right ordering */ + for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { + double last; + ND_rank(rank.plus(i).getArrayOfPtr("v").plus(0).getPtr(), 0); + last = 0; + nodesep = sep[i & 1]; + for (j = 0; j < rank.plus(i).getInt("n"); j++) { + u = (Agnode_s) rank.plus(i).getArrayOfPtr("v").plus(j).getPtr(); + ND_mval(u, ND_rw(u)); /* keep it somewhere safe */ + if (ND_other(u).size > 0) { /* compute self size */ + /* FIX: dot assumes all self-edges go to the right. This + * is no longer true, though makeSelfEdge still attempts to + * put as many as reasonable on the right. The dot code + * should be modified to allow a box reflecting the placement + * of all self-edges, and use that to reposition the nodes. + * Note that this would not only affect left and right + * positioning but may also affect interrank spacing. + */ + sw = 0; + for (k = 0; (e = (Agedge_s) ND_other(u).getFromList(k))!=null; k++) { + if (EQ(agtail(e), aghead(e))) { + sw += selfRightSpace (e); + } + } + ND_rw(u, ND_rw(u) + sw); /* increment to include self edges */ + } + v = (Agnode_s) rank.plus(i).getArrayOfPtr("v").plus(j + 1).getPtr(); + if (v!=null) { + width = ND_rw(u) + ND_lw(v) + nodesep; + e0 = make_aux_edge(u, v, width, 0); + ND_rank(v, (int)(last + width)); + last = (int)(last + width); + } + /* constraints from labels of flat edges on previous rank */ + if ((e = (Agedge_s) ND_alg(u))!=null) { + e0 = (Agedge_s) ND_save_out(u).getFromList(0); + e1 = (Agedge_s) ND_save_out(u).getFromList(1); + if (ND_order(aghead(e0)) > ND_order(aghead(e1))) { + ff = e0; + e0 = e1; + e1 = ff; + } + m0 = (ED_minlen(e) * GD_nodesep(g)) / 2; + m1 = m0 + ((int)(ND_rw(aghead(e0)) + ND_lw(agtail(e0)))); + /* these guards are needed because the flat edges + * work very poorly with cluster layout */ + if (canreach(agtail(e0), aghead(e0)) == false) + make_aux_edge(aghead(e0), agtail(e0), m1, + ED_weight(e)); + m1 = m0 + ((int)(ND_rw(agtail(e1)) + ND_lw(aghead(e1)))); + if (canreach(aghead(e1), agtail(e1)) == false) + make_aux_edge(agtail(e1), aghead(e1), m1, + ED_weight(e)); + } + /* position flat edge endpoints */ + for (k = 0; k < ND_flat_out(u).size; k++) { + e = (Agedge_s) ND_flat_out(u).getFromList(k); + if (ND_order(agtail(e)) < ND_order(aghead(e))) { + t0 = agtail(e); + h0 = aghead(e); + } else { + t0 = aghead(e); + h0 = agtail(e); + } + width = ND_rw(t0) + ND_lw(h0); + m0 = (int) (ED_minlen(e) * GD_nodesep(g) + width); + if ((e0 = find_fast_edge(t0, h0))!=null) { + /* flat edge between adjacent neighbors + * ED_dist contains the largest label width. + */ + m0 = MAX(m0, (int)(width + GD_nodesep(g) + ROUND(ED_dist(e)))); + if (m0 > USHRT_MAX) + m0 = (int) largeMinlen (m0); + ED_minlen(e0, MAX(ED_minlen(e0), m0)); + ED_weight(e0, MAX(ED_weight(e0), ED_weight(e))); + } + else if (N(ED_label(e))) { + /* unlabeled flat edge between non-neighbors + * ED_minlen(e) is max of ED_minlen of all equivalent + * edges. + */ + make_aux_edge(t0, h0, m0, ED_weight(e)); + } + /* labeled flat edges between non-neighbors have already + * been constrained by the label above. + */ + } + } + } +} finally { +LEAVING("ah28nr6mxpjeosr85bhmzd3si","make_LR_constraints"); +} +} + + + + +//3 6uruo8mutxgcni9fm8jcrw4cr +// static void make_edge_pairs(graph_t * g) +public static void make_edge_pairs(Agraph_s g) { +ENTERING("6uruo8mutxgcni9fm8jcrw4cr","make_edge_pairs"); +try { + int i, m0, m1; + Agnode_s n, sn; + Agedge_s e; + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + if (ND_save_out(n).listNotNull()) + for (i = 0; (e = (Agedge_s) ND_save_out(n).getFromList(i))!=null; i++) { + sn = virtual_node(g); + ND_node_type(sn, 2); + m0 = (int)(ED_head_port(e).p.x - ED_tail_port(e).p.x); + if (m0 > 0) + m1 = 0; + else { + m1 = -m0; + m0 = 0; + } + make_aux_edge(sn, agtail(e), m0 + 1, ED_weight(e)); + make_aux_edge(sn, aghead(e), m1 + 1, ED_weight(e)); + ND_rank(sn, + MIN(ND_rank(agtail(e)) - m0 - 1, + ND_rank(aghead(e)) - m1 - 1)); + } + } +} finally { +LEAVING("6uruo8mutxgcni9fm8jcrw4cr","make_edge_pairs"); +} +} + + + + +//3 79v3omwzni0nm3h05l3onjsbz +// static void contain_clustnodes(graph_t * g) +public static void contain_clustnodes(Agraph_s g) { +ENTERING("79v3omwzni0nm3h05l3onjsbz","contain_clustnodes"); +try { + int c; + Agedge_s e; + if (NEQ(g, dot_root(g))) { + contain_nodes(g); + if ((e = find_fast_edge(GD_ln(g),GD_rn(g)))!=null) /* maybe from lrvn()?*/ + ED_weight(e, ED_weight(e) + 128); + else + make_aux_edge(GD_ln(g), GD_rn(g), 1, 128); /* clust compaction edge */ + } + for (c = 1; c <= GD_n_cluster(g); c++) + contain_clustnodes((Agraph_s) GD_clust(g).plus(c).getPtr()); +} finally { +LEAVING("79v3omwzni0nm3h05l3onjsbz","contain_clustnodes"); +} +} + + + + +//3 24yfgklubun581fbfyx62lzsm +// static int vnode_not_related_to(graph_t * g, node_t * v) +public static boolean vnode_not_related_to(Agraph_s g, Agnode_s v) { +ENTERING("24yfgklubun581fbfyx62lzsm","vnode_not_related_to"); +try { + Agedge_s e; + if (ND_node_type(v) != 1) + return false; + for (e = (Agedge_s) ND_save_out(v).getFromList(0); ED_to_orig(e)!=null; e = ED_to_orig(e)); + if (agcontains(g, agtail(e))) + return false; + if (agcontains(g, aghead(e))) + return false; + return NOT(false); +} finally { +LEAVING("24yfgklubun581fbfyx62lzsm","vnode_not_related_to"); +} +} + + + + +//3 73cdgjl47ohty2va766evbo4 +// static void keepout_othernodes(graph_t * g) +public static void keepout_othernodes(Agraph_s g) { +ENTERING("73cdgjl47ohty2va766evbo4","keepout_othernodes"); +try { + int i, c, r, margin; + Agnode_s u, v; + margin = late_int (g, Z.z().G_margin, 8, 0); + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + if (GD_rank(g).plus(r).getInt("n") == 0) + continue; + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr(); + if (v == null) + continue; + for (i = ND_order(v) - 1; i >= 0; i--) { + u = (Agnode_s) GD_rank(dot_root(g)).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + /* can't use "is_a_vnode_of" because elists are swapped */ + if ((ND_node_type(u) == 0) || vnode_not_related_to(g, u)) { + make_aux_edge(u, GD_ln(g), margin + ND_rw(u), 0); + break; + } + } + for (i = ND_order(v) + GD_rank(g).plus(r).getInt("n"); i < GD_rank(dot_root(g)).plus(r).getInt("n"); + i++) { + u = (Agnode_s) GD_rank(dot_root(g)).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + if ((ND_node_type(u) == 0) || vnode_not_related_to(g, u)) { + make_aux_edge(GD_rn(g), u, margin + ND_lw(u), 0); + break; + } + } + } + for (c = 1; c <= GD_n_cluster(g); c++) + keepout_othernodes((Agraph_s) GD_clust(g).plus(c).getPtr()); +} finally { +LEAVING("73cdgjl47ohty2va766evbo4","keepout_othernodes"); +} +} + + + + +//3 c734mx1638sfqtl7vh7itaxyx +// static void contain_subclust(graph_t * g) +public static void contain_subclust(Agraph_s g) { +ENTERING("c734mx1638sfqtl7vh7itaxyx","contain_subclust"); +try { + int margin, c; + Agraph_s subg; + margin = late_int (g, Z.z().G_margin, 8, 0); + make_lrvn(g); + for (c = 1; c <= GD_n_cluster(g); c++) { + subg = (Agraph_s) GD_clust(g).plus(c).getPtr(); + make_lrvn(subg); + make_aux_edge(GD_ln(g), GD_ln(subg), + margin + GD_border(g).plus(3).getStruct().getDouble("x"), 0); + make_aux_edge(GD_rn(subg), GD_rn(g), + margin + GD_border(g).plus(1).getStruct().getDouble("x"), 0); + contain_subclust(subg); + } +} finally { +LEAVING("c734mx1638sfqtl7vh7itaxyx","contain_subclust"); +} +} + + + + +//3 6oruu1p1b7kxr5moh3kmcmvr3 +// static void separate_subclust(graph_t * g) +public static void separate_subclust(Agraph_s g) { +ENTERING("6oruu1p1b7kxr5moh3kmcmvr3","separate_subclust"); +try { + int i, j, margin; + Agraph_s low, high; + Agraph_s left, right; + margin = late_int (g, Z.z().G_margin, 8, 0); + for (i = 1; i <= GD_n_cluster(g); i++) + make_lrvn((Agraph_s) GD_clust(g).plus(i).getPtr()); + for (i = 1; i <= GD_n_cluster(g); i++) { + for (j = i + 1; j <= GD_n_cluster(g); j++) { + low = (Agraph_s) GD_clust(g).plus(i).getPtr(); + high = (Agraph_s) GD_clust(g).plus(j).getPtr(); + if (GD_minrank(low) > GD_minrank(high)) { + Agraph_s temp = low; + low = high; + high = temp; + } + if (GD_maxrank(low) < GD_minrank(high)) + continue; + if (ND_order(GD_rank(low).plus(GD_minrank(high)).getPtr("v").plus(0).getPtr()) + < ND_order(GD_rank(high).plus(GD_minrank(high)).getPtr("v").plus(0).getPtr())) { + left = low; + right = high; + } else { + left = high; + right = low; + } + make_aux_edge(GD_rn(left), GD_ln(right), margin, 0); + } + separate_subclust((Agraph_s) GD_clust(g).plus(i).getPtr()); + } +} finally { +LEAVING("6oruu1p1b7kxr5moh3kmcmvr3","separate_subclust"); +} +} + + + + +//3 8f8gs2zivo4pnd3hmtb9g23x4 +// static void pos_clusters(graph_t * g) +public static void pos_clusters(Agraph_s g) { +ENTERING("8f8gs2zivo4pnd3hmtb9g23x4","pos_clusters"); +try { + if (GD_n_cluster(g) > 0) { + contain_clustnodes(g); + keepout_othernodes(g); + contain_subclust(g); + separate_subclust(g); + } +} finally { +LEAVING("8f8gs2zivo4pnd3hmtb9g23x4","pos_clusters"); +} +} + + + + +//3 fywsxto7yvl5wa2dfu7u7jj1 +// static void compress_graph(graph_t * g) +public static void compress_graph(Agraph_s g) { +ENTERING("fywsxto7yvl5wa2dfu7u7jj1","compress_graph"); +try { + double x; + pointf p = (pointf) Memory.malloc(pointf.class); + if (GD_drawing(g).getInt("ratio_kind") != enumAsInt(ratio_t.class, "R_COMPRESS")) + return; +UNSUPPORTED("79oeaf0u32si2chjcpas5whjl"); // p = GD_drawing(g)->size; +UNSUPPORTED("6a2ue1i6kvwvpgapb4z8l27jn"); // if (p.x * p.y <= 1) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("5f3k9yz6btwxc8r5t8exytqqt"); // contain_nodes(g); +UNSUPPORTED("4mvbrmj6dfhaz3burnpac7zsx"); // if (GD_flip(g) == 0) +UNSUPPORTED("dzkztznjq2andjnjzqh8i5tij"); // x = p.x; +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("ddzjdkqij3y4gq9i3hikpoqvj"); // x = p.y; +UNSUPPORTED("e1xij2jh66kyaiikenemo1qza"); // /* Guard against huge size attribute since max. edge length is USHRT_MAX +UNSUPPORTED("5ilmnsqirjhzn5q6s3f9pkgi3"); // * A warning might be called for. Also, one could check that the graph +UNSUPPORTED("1nhxkt9jijvhw5gsp2pluh8g8"); // * already fits GD_drawing(g)->size and return immediately. +UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */ +UNSUPPORTED("dkqac1chvtsaao23vr43xqs5r"); // x = MIN(x,USHRT_MAX); +UNSUPPORTED("5es2j3xrdatvha5uea2wlqcxp"); // make_aux_edge(GD_ln(g), GD_rn(g), x, 1000); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("fywsxto7yvl5wa2dfu7u7jj1","compress_graph"); +} +} + + + + +//3 b7y0htx4svbhaqb1a12dihlue +// static void create_aux_edges(graph_t * g) +public static void create_aux_edges(Agraph_s g) { +ENTERING("b7y0htx4svbhaqb1a12dihlue","create_aux_edges"); +try { + allocate_aux_edges(g); + make_LR_constraints(g); + make_edge_pairs(g); + pos_clusters(g); + compress_graph(g); +} finally { +LEAVING("b7y0htx4svbhaqb1a12dihlue","create_aux_edges"); +} +} + + + + +//3 euzeilq92ry8a4tcrij5s52t5 +// static void remove_aux_edges(graph_t * g) +public static void remove_aux_edges(Agraph_s g) { +ENTERING("euzeilq92ry8a4tcrij5s52t5","remove_aux_edges"); +try { + int i; + Agnode_s n, nnext, nprev; + Agedge_s e; + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + for (i = 0; (e = (Agedge_s) ND_out(n).getFromList(i))!=null; i++) { + Memory.free(e.getStruct("base").getPtr("data")); + Memory.free(e); + } + free_list(ND_out(n)); + free_list(ND_in(n)); + ND_out(n, ND_save_out(n)); + ND_in(n, ND_save_in(n)); + } + /* cannot be merged with previous loop */ + nprev = null; + for (n = GD_nlist(g); n!=null; n = nnext) { + nnext = ND_next(n); + if (ND_node_type(n) == 2) { + if (nprev!=null) + ND_next(nprev, nnext); + else + GD_nlist(g, nnext); + Memory.free(n.getStruct("base").getPtr("data")); + Memory.free(n); + } else + nprev = n; + } + ND_prev(GD_nlist(g), null); +} finally { +LEAVING("euzeilq92ry8a4tcrij5s52t5","remove_aux_edges"); +} +} + + + + +//3 1oobmglea9t819y95xeel37h8 +// static void set_xcoords(graph_t * g) +public static void set_xcoords(Agraph_s g) { +ENTERING("1oobmglea9t819y95xeel37h8","set_xcoords"); +try { + int i, j; + Agnode_s v; + __ptr__ rank = GD_rank(g); + for (i = GD_minrank(g); i <= GD_maxrank(g); i++) { + for (j = 0; j < rank.plus(i).getInt("n"); j++) { + v = (Agnode_s) rank.plus(i).getArrayOfPtr("v").plus(j).getPtr(); + ND_coord(v).x = ND_rank(v); + ND_rank(v, i); + } + } +} finally { +LEAVING("1oobmglea9t819y95xeel37h8","set_xcoords"); +} +} + + + + +//3 6mip7s1k9xt9tp6x6nnsbt34p +// static void adjustSimple(graph_t * g, int delta, int margin_total) +public static Object adjustSimple(Object... arg) { +UNSUPPORTED("6b5zs45snahyh3bzod53vasjx"); // static void adjustSimple(graph_t * g, int delta, int margin_total) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("4dxxcgj8emjoyp2vlrcw5xmwl"); // int r, bottom, deltop, delbottom; +UNSUPPORTED("6i5o0pm41tgebv48wcngsxwqd"); // graph_t *root = dot_root(g); +UNSUPPORTED("2clvms28da6dp56nhcz1fw6l8"); // rank_t *rank = GD_rank(root); +UNSUPPORTED("3fkjf35jwcy291suh6fv3lnu"); // int maxr = GD_maxrank(g); +UNSUPPORTED("be5w8b0upg8swanznmjl6ml56"); // int minr = GD_minrank(g); +UNSUPPORTED("enzyy8zeeg6bsgsuwm86u5bwb"); // bottom = (delta+1) / 2; +UNSUPPORTED("9jp6b6z7el15spss761fh4rgx"); // delbottom = GD_ht1(g) + bottom - (rank[maxr].ht1 - margin_total); +UNSUPPORTED("ckra1b9nceo8q21bwo5iu3rap"); // if (delbottom > 0) { +UNSUPPORTED("3jotxrk6oermksl3is78mj0e2"); // for (r = maxr; r >= minr; r--) { +UNSUPPORTED("b905w55w58349wk9aktevaljm"); // if (rank[r].n > 0) +UNSUPPORTED("bjuzvkc8hhlni54hkaef0j0xa"); // ND_coord(rank[r].v[0]).y += delbottom; +UNSUPPORTED("e9yhkch195gia8gdiu6vb4rbn"); // } +UNSUPPORTED("bdmop8bk7tvltc7z16xj07kqn"); // deltop = GD_ht2(g) + (delta-bottom) + delbottom - (rank[minr].ht2 - margin_total); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("cw3vv20i8np95bafexnuhhpdg"); // deltop = GD_ht2(g) + (delta-bottom) - (rank[minr].ht2 - margin_total); +UNSUPPORTED("49prm57gvpenehfkcxz9xuxu4"); // if (deltop > 0) { +UNSUPPORTED("axexjgvfow9k3x1l6j2my6cd"); // for (r = minr-1; r >= GD_minrank(root); r--) { +UNSUPPORTED("b905w55w58349wk9aktevaljm"); // if (rank[r].n > 0) +UNSUPPORTED("1nebaz06hwqknqrqcnwf03z2"); // ND_coord(rank[r].v[0]).y += deltop; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7o49wizb9vp55xhz88lycavep"); // GD_ht2(g) += (delta - bottom); +UNSUPPORTED("4mq1sot7a9bxpobj9602hyyl5"); // GD_ht1(g) += bottom; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9sv968rni5moio662r9kjzai3 +// static void adjustRanks(graph_t * g, int margin_total) +public static Object adjustRanks(Object... arg) { +UNSUPPORTED("47ywar141vmwjartmboxs38cz"); // static void adjustRanks(graph_t * g, int margin_total) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cbyzaxb8pmtp6lo2y4tajk45s"); // double lht; /* label height */ +UNSUPPORTED("3r7yt838qvvliagprkv30uka1"); // double rht; /* height between top and bottom ranks */ +UNSUPPORTED("n5e6qzpiyv4zvlemheyvbky7"); // int maxr, minr, margin; +UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; +UNSUPPORTED("7p11k11wgq46szos3u4lfa5a4"); // double delta, ht1, ht2; +UNSUPPORTED("39w5issxrjmte1dn2qnt8gpbj"); // rank_t *rank = GD_rank(dot_root(g)); +UNSUPPORTED("aerooskq9gwysw6euktdqjmaq"); // if (g == dot_root(g)) +UNSUPPORTED("8tm7x791luf0uq7v2q53kfuqk"); // margin = 0; +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("182pb9igel0aoytgtoiguek4x"); // margin = late_int (g, G_margin, 8, 0); +UNSUPPORTED("8bcey7cvczgf3t3ominh7ye1b"); // ht1 = GD_ht1(g); +UNSUPPORTED("1ac5605x86vam4z4spx361rpd"); // ht2 = GD_ht2(g); +UNSUPPORTED("99d9j6m0161wdv2tu4wbf3ifi"); // for (c = 1; c <= GD_n_cluster(g); c++) { +UNSUPPORTED("6wacplh886lzcey0jjkfo5jcn"); // graph_t *subg = GD_clust(g)[c]; +UNSUPPORTED("6jkyxr322md2frf0pic57ak6e"); // adjustRanks(subg, margin+margin_total); +UNSUPPORTED("41b09kckthwa070wznf9tneej"); // if (GD_maxrank(subg) == GD_maxrank(g)) +UNSUPPORTED("7gbj2fwymn5k7pywbjc1kbhmb"); // ht1 = MAX(ht1, GD_ht1(subg) + margin); +UNSUPPORTED("clsf4pg9bdlkzghw3oq7fpo7c"); // if (GD_minrank(subg) == GD_minrank(g)) +UNSUPPORTED("9vmpt65t8kavsz1zoorcr5ik"); // ht2 = MAX(ht2, GD_ht2(subg) + margin); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("9lx88c3pk4z5zxca5orq7v2yf"); // GD_ht1(g) = ht1; +UNSUPPORTED("2p0gs3kpty9mg9ymk70kjekh0"); // GD_ht2(g) = ht2; +UNSUPPORTED("34p29mvxtmpuzcgzh4s03lixs"); // if ((g != dot_root(g)) && GD_label(g)) { +UNSUPPORTED("ak9x1j2bu2d8zr8tls942u42r"); // lht = MAX(GD_border(g)[3].y, GD_border(g)[1].y); +UNSUPPORTED("ehkev01oc7ynzwkbjbzclaqj6"); // maxr = GD_maxrank(g); +UNSUPPORTED("2906nnve3dmqroo2jsq13wfex"); // minr = GD_minrank(g); +UNSUPPORTED("8s9tksg226ob1ti8o5ljo1gbg"); // rht = ND_coord(rank[minr].v[0]).y - ND_coord(rank[maxr].v[0]).y; +UNSUPPORTED("b0dxtg7jama7mgqccujsbb97n"); // delta = lht - (rht + ht1 + ht2); +UNSUPPORTED("bfapr2l9berlmq4ubgk0zp7qf"); // if (delta > 0) { +UNSUPPORTED("3zllny0pp0nf7gzw7829oqexo"); // adjustSimple(g, delta, margin_total); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("a86aoq62oyhhkqpyzz0um3pvq"); // /* update the global ranks */ +UNSUPPORTED("1pmq9pca155672xcv1ow2cbfy"); // if (g != dot_root(g)) { +UNSUPPORTED("1kgp3b6qifeit9n2i2k8oc8qv"); // rank[GD_minrank(g)].ht2 = MAX(rank[GD_minrank(g)].ht2, GD_ht2(g)); +UNSUPPORTED("8f7gccnlt6m8v3k1ijaznaew3"); // rank[GD_maxrank(g)].ht1 = MAX(rank[GD_maxrank(g)].ht1, GD_ht1(g)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 emtrqv582hdma5aajqtjd76m1 +// static int clust_ht(Agraph_t * g) +public static int clust_ht(Agraph_s g) { +ENTERING("emtrqv582hdma5aajqtjd76m1","clust_ht"); +try { + int c; + double ht1, ht2; + Agraph_s subg; + __ptr__ rank = GD_rank(dot_root(g)); + int margin, haveClustLabel = 0; + if (EQ(g, dot_root(g))) + margin = 8; + else + margin = late_int (g, Z.z().G_margin, 8, 0); + ht1 = GD_ht1(g); + ht2 = GD_ht2(g); + /* account for sub-clusters */ + for (c = 1; c <= GD_n_cluster(g); c++) { + subg = (Agraph_s) GD_clust(g).plus(c).getPtr(); + haveClustLabel |= clust_ht(subg); + if (GD_maxrank(subg) == GD_maxrank(g)) + ht1 = MAX(ht1, GD_ht1(subg) + margin); + if (GD_minrank(subg) == GD_minrank(g)) + ht2 = MAX(ht2, GD_ht2(subg) + margin); + } + /* account for a possible cluster label in clusters */ + /* room for root graph label is handled in dotneato_postprocess */ + if (NEQ(g, dot_root(g)) && GD_label(g)!=null) { + haveClustLabel = 1; + if (N(GD_flip(agroot(g)))) { + ht1 += GD_border(g).plus(0).getDouble("y"); + ht2 += GD_border(g).plus(2).getDouble("y"); + } + } + GD_ht1(g, ht1); + GD_ht2(g, ht2); + /* update the global ranks */ + if (NEQ(g, dot_root(g))) { + rank.plus(GD_minrank(g)).setDouble("ht2", MAX(rank.plus(GD_minrank(g)).getDouble("ht2"), ht2)); + rank.plus(GD_maxrank(g)).setDouble("ht1", MAX(rank.plus(GD_maxrank(g)).getDouble("ht1"), ht1)); + } + return haveClustLabel; +} finally { +LEAVING("emtrqv582hdma5aajqtjd76m1","clust_ht"); +} +} + + + + +//3 bp8vmol4ncadervcfossysdtd +// static void set_ycoords(graph_t * g) +public static void set_ycoords(Agraph_s g) { +ENTERING("bp8vmol4ncadervcfossysdtd","set_ycoords"); +try { + int i, j, r; + double ht2, maxht, delta, d0, d1; + Agnode_s n; + Agedge_s e; + __ptr__ rank = GD_rank(g); + Agraph_s clust; + int lbl; + ht2 = maxht = 0; + /* scan ranks for tallest nodes. */ + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + for (i = 0; i < rank.plus(r).getInt("n"); i++) { + n = (Agnode_s) rank.plus(r).getArrayOfPtr("v").plus(i).getPtr(); + /* assumes symmetry, ht1 = ht2 */ + ht2 = ND_ht(n) / 2; + /* have to look for high self-edge labels, too */ + if (ND_other(n).listNotNull()) + for (j = 0; (e = (Agedge_s) ND_other(n).getFromList(j))!=null; j++) { + if (EQ(agtail(e), aghead(e))) { + if (ED_label(e)!=null) + ht2 = MAX(ht2, ED_label(e).getStruct("dimen").getDouble("y") / 2); + } + } + /* update global rank ht */ + if (rank.plus(r).getDouble("pht2") < ht2) { + rank.plus(r).setDouble("ht2", ht2); + rank.plus(r).setDouble("pht2", ht2); + } + if (rank.plus(r).getDouble("pht1") < ht2) { + rank.plus(r).setDouble("ht1", ht2); + rank.plus(r).setDouble("pht1", ht2); + } + /* update nearest enclosing cluster rank ht */ + if ((clust = ND_clust(n))!=null) { + int yoff = (clust == g ? 0 : late_int (clust, Z.z().G_margin, 8, 0)); + if (ND_rank(n) == GD_minrank(clust)) + GD_ht2(clust, MAX(GD_ht2(clust), ht2 + yoff)); + if (ND_rank(n) == GD_maxrank(clust)) + GD_ht1(clust, MAX(GD_ht1(clust), ht2 + yoff)); + } + } + } + /* scan sub-clusters */ + lbl = clust_ht(g); + /* make the initial assignment of ycoords to leftmost nodes by ranks */ + maxht = 0; + r = GD_maxrank(g); + (ND_coord(rank.plus(r).getArrayOfPtr("v").plus(0).getPtr())).setDouble("y", rank.plus(r).getDouble("ht1")); + while (--r >= GD_minrank(g)) { + d0 = rank.plus(r + 1).getDouble("pht2") + rank.plus(r).getDouble("pht1") + GD_ranksep(g); /* prim node sep */ + d1 = rank.plus(r + 1).getDouble("ht2") + rank.plus(r).getDouble("ht1") + 8; /* cluster sep */ + delta = MAX(d0, d1); + if (rank.plus(r).getInt("n") > 0) /* this may reflect some problem */ + (ND_coord(rank.plus(r).getArrayOfPtr("v").plus(0).getPtr())).setDouble("y", (ND_coord(rank.plus(r + 1).getArrayOfPtr("v").plus(0).getPtr())).getDouble("y") + delta); + maxht = MAX(maxht, delta); + } + /* If there are cluster labels and the drawing is rotated, we need special processing to + * allocate enough room. We use adjustRanks for this, and then recompute the maxht if + * the ranks are to be equally spaced. This seems simpler and appears to work better than + * handling equal spacing as a special case. + */ + if (lbl!=0 && GD_flip(g)!=0) { +UNSUPPORTED("bxjqk5nu40mwo1156dicr9tur"); // adjustRanks(g, 0); +UNSUPPORTED("6vy9qfed3u61pmvy12724s9l4"); // if (GD_exact_ranksep(g)) { /* recompute maxht */ +UNSUPPORTED("74f5n6u4x39ngn0gsan7fgzyr"); // maxht = 0; +UNSUPPORTED("2pd9g1n9b0746fgt892degls3"); // r = GD_maxrank(g); +UNSUPPORTED("8dils3hlxottsbf2iuapvhqeq"); // d0 = (ND_coord(rank[r].v[0])).y; +UNSUPPORTED("cw5accmrcan3lqfc789udgcka"); // while (--r >= GD_minrank(g)) { +UNSUPPORTED("6bxo7bknt38qh9t31zr7p6kie"); // d1 = (ND_coord(rank[r].v[0])).y; +UNSUPPORTED("b1ta7vjm5i7swyklhfwy27w35"); // delta = d1 - d0; +UNSUPPORTED("65l8hg0imd48bfdu614k2kylt"); // maxht = MAX(maxht, delta); +UNSUPPORTED("5irf6cp6xdzi2ik033azsbauo"); // d0 = d1; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } + } + /* re-assign if ranks are equally spaced */ + if (GD_exact_ranksep(g)!=0) { +UNSUPPORTED("cyxbyjrdzywkc46nl8lkrngai"); // for (r = GD_maxrank(g) - 1; r >= GD_minrank(g); r--) +UNSUPPORTED("5sd5ltavyp6llt0t2t0xmqwj5"); // if (rank[r].n > 0) /* this may reflect the same problem :-() */ +UNSUPPORTED("5zoeqpznt31feqxjcx2rg0o1f"); // (ND_coord(rank[r].v[0])).y= +UNSUPPORTED("e6dfx5uesysjaefb0djyfp7f"); // (ND_coord(rank[r + 1].v[0])).y + maxht; + } + /* copy ycoord assignment from leftmost nodes to others */ + for (n = GD_nlist(g); n!=null; n = ND_next(n)) + ND_coord(n).y = ND_coord(rank.plus(ND_rank(n)).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y"); +} finally { +LEAVING("bp8vmol4ncadervcfossysdtd","set_ycoords"); +} +} + + + + +//3 9ay2xnnmh407i32pfokujfda5 +//static void dot_compute_bb(graph_t * g, graph_t * root) +public static void dot_compute_bb(Agraph_s g, Agraph_s root) { +ENTERING("9ay2xnnmh407i32pfokujfda5","dot_compute_bb"); +try { + int r, c; + double x, offset; + Agnode_s v; + final ST_pointf LL = new ST_pointf(); + final ST_pointf UR = new ST_pointf(); + if (EQ(g, dot_root(g))) { + LL.x = INT_MAX; + UR.x = -((double)INT_MAX); + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + int rnkn = GD_rank(g).plus(r).getInt("n"); + if (rnkn == 0) + continue; + if ((v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr()) == null) + continue; + for (c = 1; (ND_node_type(v) != 0) && c < rnkn; c++) + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(c).getPtr(); + if (ND_node_type(v) == 0) { + x = ND_coord(v).getDouble("x") - ND_lw(v); + LL.setDouble("x", MIN(LL.getDouble("x"), x)); + } + else continue; + /* At this point, we know the rank contains a NORMAL node */ + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(rnkn - 1).getPtr(); + for (c = rnkn-2; ND_node_type(v) != 0; c--) + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(c).getPtr(); + x = ND_coord(v).getDouble("x") + ND_rw(v); + UR.x = MAX(UR.getDouble("x"), x); + } + offset = 8; + for (c = 1; c <= GD_n_cluster(g); c++) { + x = (double)(GD_bb(GD_clust(g).plus(c)).LL.x - offset); + LL.x = MIN(LL.getDouble("x"), x); + x = (double)(GD_bb(GD_clust(g).plus(c)).UR.x + offset); + UR.x = MAX(UR.getDouble("x"), x); + } + } else { + LL.x = (double)(ND_rank(GD_ln(g))); + UR.x = (double)(ND_rank(GD_rn(g))); + } + LL.y = ND_coord(GD_rank(root).plus(GD_maxrank(g)).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y") - GD_ht1(g); + UR.y = ND_coord(GD_rank(root).plus(GD_minrank(g)).getArrayOfPtr("v").plus(0).getPtr()).getDouble("y") + GD_ht2(g); + GD_bb(g).setStruct("LL", LL); + GD_bb(g).setStruct("UR", UR); +} finally { +LEAVING("9ay2xnnmh407i32pfokujfda5","dot_compute_bb"); +} +} + + + + + +//3 dlbpiimh9g9ff9w7wjoabf817 +// static void rec_bb(graph_t * g, graph_t * root) +public static void rec_bb(Agraph_s g, Agraph_s root) { +ENTERING("dlbpiimh9g9ff9w7wjoabf817","rec_bb"); +try { + int c; + for (c = 1; c <= GD_n_cluster(g); c++) + rec_bb((Agraph_s) GD_clust(g).plus(c).getPtr(), root); + dot_compute_bb(g, root); +} finally { +LEAVING("dlbpiimh9g9ff9w7wjoabf817","rec_bb"); +} +} + + + + +//3 2p3nacev7k2jft9xov90nke50 +// static void scale_bb(graph_t * g, graph_t * root, double xf, double yf) +public static Object scale_bb(Object... arg) { +UNSUPPORTED("9zkkf6x8cj12vuzqrjaoxfn8s"); // static void scale_bb(graph_t * g, graph_t * root, double xf, double yf) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("53xzwretgdbd0atozc0w6hagb"); // int c; +UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) +UNSUPPORTED("7leh3r5v7roon4liia73wue7e"); // scale_bb(GD_clust(g)[c], root, xf, yf); +UNSUPPORTED("duz0iqmos1i372cztpjtsemab"); // GD_bb(g).LL.x *= xf; +UNSUPPORTED("ja25041s2x99bhwj5wcliok0"); // GD_bb(g).LL.y *= yf; +UNSUPPORTED("7mpnp4j7m1ymn1zdbxzeh5xxd"); // GD_bb(g).UR.x *= xf; +UNSUPPORTED("4ahigy1a10wsl6lvc90lpax5e"); // GD_bb(g).UR.y *= yf; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 53z9yhpfixulhgqsauulkllvc +// static void adjustAspectRatio (graph_t* g, aspect_t* asp) +public static Object adjustAspectRatio(Object... arg) { +UNSUPPORTED("ezldb6r0csirv1fmkq5itw1v2"); // static void adjustAspectRatio (graph_t* g, aspect_t* asp) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7rtldqefvdgcf4u50kulbxtvn"); // double AR = (GD_bb(g).UR.x - GD_bb(g).LL.x)/(GD_bb(g).UR.y - GD_bb(g).LL.y); +UNSUPPORTED("cve2on8gll5i0vomy8lnwhai2"); // if (Verbose) { +UNSUPPORTED("6z0q1m3yc6o11ejsa59eghqag"); // fprintf(stderr, "AR=%0.4lf\t Area= %0.4lf\t", AR, (double)(GD_bb(g).UR.x - GD_bb(g).LL.x)*(GD_bb(g).UR.y - GD_bb(g).LL.y)/10000.0); +UNSUPPORTED("2uealcdkjdgg8ne1cijkbagpu"); // fprintf(stderr, "Dummy=%d\n", countDummyNodes(g)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("96mqnzcfbfghxkxkn1x8kdh8i"); // if (AR > 1.1*asp->targetAR) { +UNSUPPORTED("6gq7uj15zh138zyae50c8nh2z"); // asp->nextIter = (int)(asp->targetAR * (double)(asp->curIterations - asp->prevIterations)/(AR)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("e1443w2cx49ogpsf5m59zy4fq"); // else if (AR <= 0.8 * asp->targetAR) { +UNSUPPORTED("5awa0x1pxpta5wou27bzrtvoc"); // asp->nextIter = -1; +UNSUPPORTED("5xdo0sx20rmxgmdkrm1giaige"); // if (Verbose) +UNSUPPORTED("du5ztjo6nfo54ailmk1tqs05b"); // fprintf(stderr, "Going to apply another expansion.\n"); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else { +UNSUPPORTED("757eq4638npmb5w5e39iemxfo"); // asp->nextIter = 0; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("2di5wqm6caczzl6bvqe35ry8y"); // if (Verbose) +UNSUPPORTED("29wdml7g4931q8kgah8hgwjd0"); // fprintf(stderr, "next#iter=%d\n", asp->nextIter); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7effq6z6ur101wrch6ttozr26 +// static void set_aspect(graph_t * g, aspect_t* asp) +public static void set_aspect(Agraph_s g, aspect_t asp) { +ENTERING("7effq6z6ur101wrch6ttozr26","set_aspect"); +try { + double xf = 0.0, yf = 0.0, actual, desired; + Agnode_s n; + boolean scale_it, filled; + point sz = (point) Memory.malloc(point.class); + rec_bb(g, g); + if ((GD_maxrank(g) > 0) && (GD_drawing(g).getInt("ratio_kind")!=0)) { +UNSUPPORTED("5wbmy4x78flo2ztfabki9lyjf"); // sz.x = GD_bb(g).UR.x - GD_bb(g).LL.x; +UNSUPPORTED("catd6eu5oc282ln95k9zz52f3"); // sz.y = GD_bb(g).UR.y - GD_bb(g).LL.y; /* normalize */ +UNSUPPORTED("21zvq2qx1j34j1i1879zyhzpj"); // if (GD_flip(g)) { +UNSUPPORTED("d55uzald1tvs7xodnua67pxv6"); // int t = sz.x; +UNSUPPORTED("47s1klx0pfzda4e311w53ou7e"); // sz.x = sz.y; +UNSUPPORTED("3tx1mj7j0rqw33y24a0gu4ali"); // sz.y = t; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("4ct8ztqxnsskgphsp1v3aw5ec"); // scale_it = NOT(0); +UNSUPPORTED("8v772n1u4wqlmskqfswlzcz2o"); // if (GD_drawing(g)->ratio_kind == R_AUTO) +UNSUPPORTED("8mtmgag5dxj8ttlcabbpd865p"); // filled = idealsize(g, .5); +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("bxtk5e5ls8qsd36eucvhufg9y"); // filled = (GD_drawing(g)->ratio_kind == R_FILL); +UNSUPPORTED("2atgu691bmn6h9jvk8lve5qzc"); // if (filled) { +UNSUPPORTED("1zx5etcjofceqjvogfn8urkdj"); // /* fill is weird because both X and Y can stretch */ +UNSUPPORTED("7ezqjon4u21dwg4qvxssrnwfc"); // if (GD_drawing(g)->size.x <= 0) +UNSUPPORTED("dao0fnoi65upcdtr9csqhhy41"); // scale_it = 0; +UNSUPPORTED("6q044im7742qhglc4553noina"); // else { +UNSUPPORTED("6ifkww34s7php908n9wg0oiju"); // xf = (double) GD_drawing(g)->size.x / (double) sz.x; +UNSUPPORTED("6faiikvxwdge2ydblv90976hb"); // yf = (double) GD_drawing(g)->size.y / (double) sz.y; +UNSUPPORTED("5xkzvdrdnfd5afhhxgajbywya"); // if ((xf < 1.0) || (yf < 1.0)) { +UNSUPPORTED("cvkvyq93xp1itpomhj1r2xlzy"); // if (xf < yf) { +UNSUPPORTED("capfpf4tncicsp81elmwvf0l"); // yf = yf / xf; +UNSUPPORTED("7sdzyzqj65rbq6edfgf5x6xht"); // xf = 1.0; +UNSUPPORTED("d86r93g8nz9a1kfzgi7f8j8nh"); // } else { +UNSUPPORTED("emwaipsi6kyqbpk2y26k3cxfw"); // xf = xf / yf; +UNSUPPORTED("1s91x56ftedjsc3m32dqgspqn"); // yf = 1.0; +UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // } +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("c48w89y9jw5baxqqucmiyfha7"); // } else if (GD_drawing(g)->ratio_kind == R_EXPAND) { +UNSUPPORTED("7ezqjon4u21dwg4qvxssrnwfc"); // if (GD_drawing(g)->size.x <= 0) +UNSUPPORTED("dao0fnoi65upcdtr9csqhhy41"); // scale_it = 0; +UNSUPPORTED("6q044im7742qhglc4553noina"); // else { +UNSUPPORTED("akfs904fsk7cyl8wbv0x7fnvz"); // xf = (double) GD_drawing(g)->size.x / +UNSUPPORTED("1ewqbc4kglc2kg1n13euxrxzh"); // (double) GD_bb(g).UR.x; +UNSUPPORTED("6fmkpg9ypaxceugi24gklvdra"); // yf = (double) GD_drawing(g)->size.y / +UNSUPPORTED("8mskb0mqou89myfbiihsjpbg6"); // (double) GD_bb(g).UR.y; +UNSUPPORTED("a2jzgqbpoanzqdqc7vjk32vmz"); // if ((xf > 1.0) && (yf > 1.0)) { +UNSUPPORTED("6np8qfg5qnlaypikhw0bdx84j"); // double scale = MIN(xf, yf); +UNSUPPORTED("272bmuv1row7l9tla5bhot840"); // xf = yf = scale; +UNSUPPORTED("738mi6h8ef0itznt34ngxe25o"); // } else +UNSUPPORTED("b5qs3ho2fcywk3sd5cw3m88kw"); // scale_it = 0; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("d7deewhp6akdb13j7ry364hbd"); // } else if (GD_drawing(g)->ratio_kind == R_VALUE) { +UNSUPPORTED("fpejwrlknxizaxxibhuyaxdt"); // desired = GD_drawing(g)->ratio; +UNSUPPORTED("douwz2voka0puoeooqjn8kijk"); // actual = ((double) sz.y) / ((double) sz.x); +UNSUPPORTED("7u9yvuqazzo19geppiphd9rfh"); // if (actual < desired) { +UNSUPPORTED("apqq3m2rezfl96zbvk7lut02"); // yf = desired / actual; +UNSUPPORTED("8po0oizki4figodjv9xku16gq"); // xf = 1.0; +UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { +UNSUPPORTED("84c3pp9xgnii11clyyxblqmy6"); // xf = actual / desired; +UNSUPPORTED("1tr1b9rp1b00pcafss87kadfe"); // yf = 1.0; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("6to1esmb8qfrhzgtr7jdqleja"); // } else +UNSUPPORTED("csvnhx5mo535o6ue1tg3ktjhs"); // scale_it = 0; +UNSUPPORTED("bh2d68e9s7cr7k1bl0h9fmr9a"); // if (scale_it) { +UNSUPPORTED("b8symsgdtoq84y3j1151pv0g4"); // if (GD_flip(g)) { +UNSUPPORTED("bi983gfofc0blj8r4yetj14kb"); // double t = xf; +UNSUPPORTED("69pmocxfvmk0urni4fg0x4na5"); // xf = yf; +UNSUPPORTED("cyt895z1pa5arxz4d1kv0hqgq"); // yf = t; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("crtcqz91ff5l8ntjbne40b5x4"); // for (n = GD_nlist(g); n; n = ND_next(n)) { +UNSUPPORTED("brs6nych5z9m0a75ixbe5l80o"); // ND_coord(n).x = ROUND(ND_coord(n).x * xf); +UNSUPPORTED("cpe0pjsilppgrp2ofysn4y54w"); // ND_coord(n).y = ROUND(ND_coord(n).y * yf); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("8f0d3etdet1pk8ikvltmz5h2s"); // scale_bb(g, g, xf, yf); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } + } + if (asp!=null) adjustAspectRatio (g, asp); +} finally { +LEAVING("7effq6z6ur101wrch6ttozr26","set_aspect"); +} +} + + + + +//3 41mmud7cyx1rwhd0k7g7weaf8 +// static point resize_leaf(node_t * leaf, point lbound) +public static Object resize_leaf(Object... arg) { +UNSUPPORTED("alcqddrml4aj55twvzwyyvfjh"); // static point resize_leaf(node_t * leaf, point lbound) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dnj5vqe4cb2yzzx75ubwrxvav"); // gv_nodesize(leaf, GD_flip(agraphof(leaf))); +UNSUPPORTED("bxig9t3r62l84xejntt3x96kv"); // ND_coord(leaf).y = lbound.y; +UNSUPPORTED("bx00ps5hied5a63922sqqpvhi"); // ND_coord(leaf).x = lbound.x + ND_lw(leaf); +UNSUPPORTED("euhijhn76fi66yqoh8gxk5nq0"); // lbound.x = lbound.x + ND_lw(leaf) + ND_rw(leaf) + GD_nodesep(agraphof(leaf)); +UNSUPPORTED("1xmj5l8g8znua01mljujyh61i"); // return lbound; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4jx34mwc4aby8v45omelmfluv +// static point place_leaf(graph_t* ing, node_t * leaf, point lbound, int order) +public static Object place_leaf(Object... arg) { +UNSUPPORTED("cetlk9m8mjd69vuru3rjho0lw"); // static point place_leaf(graph_t* ing, node_t * leaf, point lbound, int order) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("b1ht34ftmnpsuxflrqun4ptkr"); // node_t *leader; +UNSUPPORTED("aqfu9qyb55o3lehhaqmxag540"); // graph_t *g = dot_root(ing); +UNSUPPORTED("1b5u4ut4j70lu60geogmkv572"); // leader = UF_find(leaf); +UNSUPPORTED("3urvo2e4w7312r8scg44o0hqw"); // if (leaf != leader) +UNSUPPORTED("azdkjz4shu49j3fzjpazxrpwz"); // fast_nodeapp(leader, leaf); +UNSUPPORTED("95h5y689udztblrtgdwc8y2ei"); // ND_order(leaf) = order; +UNSUPPORTED("cvsh6pf3vxzxd2zn1u8ykd8hx"); // ND_rank(leaf) = ND_rank(leader); +UNSUPPORTED("6k8r94a4chbol18r2rnbi9haj"); // GD_rank(g)[ND_rank(leaf)].v[ND_order(leaf)] = leaf; +UNSUPPORTED("7ku2dbhi28rhi6dtag1v4zung"); // return resize_leaf(leaf, lbound); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1lejhh3evsa10auyj7cgqj8ub +// static void make_leafslots(graph_t * g) +public static void make_leafslots(Agraph_s g) { +ENTERING("1lejhh3evsa10auyj7cgqj8ub","make_leafslots"); +try { + int i, j, r; + Agnode_s v; + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + j = 0; + for (i = 0; i < GD_rank(g).plus(r).getInt("n"); i++) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + ND_order(v, j); + if (ND_ranktype(v) == 6) + j = j + ND_UF_size(v); + else + j++; + } + if (j <= GD_rank(g).plus(r).getInt("n")) + continue; + GD_rank(g).plus(r).setPtr("v", ALLOC_empty(j + 1, GD_rank(g).plus(r).getPtr("v"), Agnode_s.class)); + for (i = GD_rank(g).plus(r).getInt("n") - 1; i >= 0; i--) { + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(i).getPtr(); + GD_rank(g).plus(r).getArrayOfPtr("v").plus(ND_order(v)).setPtr(v); + } + GD_rank(g).plus(r).setInt("n", j); + GD_rank(g).plus(r).getArrayOfPtr("v").plus(j).setPtr(null); + } +} finally { +LEAVING("1lejhh3evsa10auyj7cgqj8ub","make_leafslots"); +} +} + + + + +//3 wb2wvxthkr2sp9u8113go3j3 +// static void do_leaves(graph_t * g, node_t * leader) +public static Object do_leaves(Object... arg) { +UNSUPPORTED("5nmyuqyhfqfwbmgdj5aot9fp4"); // static void do_leaves(graph_t * g, node_t * leader) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("2bs0wcp6367dz1o5x166ec7l8"); // int j; +UNSUPPORTED("4bxv0pw87c31sbbz6x6s1cq9d"); // point lbound; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("b9upgllg8zjx49090hr3afv91"); // if (ND_UF_size(leader) <= 1) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("9m0hiwybw3dr0lcxmgq833heo"); // lbound.x = ND_coord(leader).x - ND_lw(leader); +UNSUPPORTED("ev0phf24gpqz3xtvtueq72f7g"); // lbound.y = ND_coord(leader).y; +UNSUPPORTED("90r9xqe4faj7b1g8907ord1x3"); // lbound = resize_leaf(leader, lbound); +UNSUPPORTED("66ue8mvk3axhgbkcg3xqo94tb"); // if (ND_out(leader).size > 0) { /* in-edge leaves */ +UNSUPPORTED("9lq5udq73fgfeqyqsxw6i3pgm"); // n = aghead(ND_out(leader).list[0]); +UNSUPPORTED("4vp9ny4udt1jcmibfgpwgrnqo"); // j = ND_order(leader) + 1; +UNSUPPORTED("3ml0tasns5tz6d5xc2xdb6nc"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) { +UNSUPPORTED("e2y71fdc15yxylowp6ohlal9a"); // edge_t *e1 = AGMKOUT(e); +UNSUPPORTED("ew4udmdawt257gbk5kzmi1n1"); // if ((agtail(e1) != leader) && (UF_find(agtail(e1)) == leader)) { +UNSUPPORTED("d2r94m7xk4qa9hn6s2td5nb6h"); // lbound = place_leaf(g, agtail(e1), lbound, j++); +UNSUPPORTED("5xk9d4ra447xucksge6c9mgos"); // unmerge_oneway(e1); +UNSUPPORTED("4dqun0n52lcyerkebva2hxh15"); // elist_append(e1, ND_in(aghead(e1))); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("6owoaz61uf3928omhuf3rqjoa"); // } else { /* out edge leaves */ +UNSUPPORTED("4lbkem8hb4jy3gdg6nt3cbtl9"); // n = agtail(ND_in(leader).list[0]); +UNSUPPORTED("4vp9ny4udt1jcmibfgpwgrnqo"); // j = ND_order(leader) + 1; +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("38a98cy0214odvsa98hgyce8q"); // if ((aghead(e) != leader) && (UF_find(aghead(e)) == leader)) { +UNSUPPORTED("9j9o79r2bdc6npidu38aq0cym"); // lbound = place_leaf(g, aghead(e), lbound, j++); +UNSUPPORTED("6wbwzuqqh5vxume7ga2kuejcf"); // unmerge_oneway(e); +UNSUPPORTED("dv9vv9pfcd3cibfjn258toxyv"); // elist_append(e, ND_out(agtail(e))); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 alpljm8o6nsam95ly6leelnbp +// int ports_eq(edge_t * e, edge_t * f) +public static boolean ports_eq(Agedge_s e, Agedge_s f) { +ENTERING("alpljm8o6nsam95ly6leelnbp","ports_eq"); +try { + return ((ED_head_port(e).defined == ED_head_port(f).defined) + && (((ED_head_port(e).p.x == ED_head_port(f).p.x) && + (ED_head_port(e).p.y == ED_head_port(f).p.y)) + || (ED_head_port(e).defined == 0)) + && (((ED_tail_port(e).p.x == ED_tail_port(f).p.x) && + (ED_tail_port(e).p.y == ED_tail_port(f).p.y)) + || (ED_tail_port(e).defined == 0)) + ); +} finally { +LEAVING("alpljm8o6nsam95ly6leelnbp","ports_eq"); +} +} + + + + +//3 cfotmdif5xv7n6oauyvzv0qwa +// static void expand_leaves(graph_t * g) +public static void expand_leaves(Agraph_s g) { +ENTERING("cfotmdif5xv7n6oauyvzv0qwa","expand_leaves"); +try { + int i, d; + Agnode_s n; + Agedge_s e, f; + make_leafslots(g); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + if (ND_inleaf(n)!=null) + do_leaves(g, ND_inleaf(n)); + if (ND_outleaf(n)!=null) + do_leaves(g, ND_outleaf(n)); + if (ND_other(n).listNotNull()) + for (i = 0; (e = (Agedge_s) ND_other(n).getFromList(i))!=null; i++) { + if ((d = ND_rank(aghead(e)) - ND_rank(aghead(e))) == 0) + continue; + f = ED_to_orig(e); + if (ports_eq(e, f) == false) { + zapinlist(ND_other(n).amp(), e); + if (d == 1) + fast_edge(e); + /*else unitize(e); ### */ + i--; + } + } + } +} finally { +LEAVING("cfotmdif5xv7n6oauyvzv0qwa","expand_leaves"); +} +} + + + + +//3 d4b57ugpwxy567pfmxn14ed8d +// static void make_lrvn(graph_t * g) +public static void make_lrvn(Agraph_s g) { +ENTERING("d4b57ugpwxy567pfmxn14ed8d","make_lrvn"); +try { + Agnode_s ln, rn; + if (GD_ln(g)!=null) + return; + ln = virtual_node(dot_root(g)); + ND_node_type(ln, 2); + rn = virtual_node(dot_root(g)); + ND_node_type(rn, 2); + if (GD_label(g)!=null && NEQ(g, dot_root(g)) && N(GD_flip(agroot(g)))) { + int w = MAX((int)GD_border(g).plus(0).getDouble("x"), (int)GD_border(g).plus(2).getDouble("x")); + make_aux_edge(ln, rn, w, 0); + } + GD_ln(g, ln); + GD_rn(g, rn); +} finally { +LEAVING("d4b57ugpwxy567pfmxn14ed8d","make_lrvn"); +} +} + + + + +//3 daz786541idcxnywckcbncazb +// static void contain_nodes(graph_t * g) +public static void contain_nodes(Agraph_s g) { +ENTERING("daz786541idcxnywckcbncazb","contain_nodes"); +try { + int margin, r; + Agnode_s ln, rn, v; + margin = late_int (g, Z.z().G_margin, 8, 0); + make_lrvn(g); + ln = GD_ln(g); + rn = GD_rn(g); + for (r = GD_minrank(g); r <= GD_maxrank(g); r++) { + if (GD_rank(g).plus(r).getInt("n") == 0) + continue; + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(0).getPtr(); + if (v == null) { +UNSUPPORTED("1f2esoodtcrdhljk1cq1klyao"); // agerr(AGERR, "contain_nodes clust %s rank %d missing node\n", +UNSUPPORTED("7w6lv4ywtczwz2y1mg0p3jdav"); // agnameof(g), r); +UNSUPPORTED("6hqli9m8yickz1ox1qfgtdbnd"); // continue; + } + make_aux_edge(ln, v, + ND_lw(v) + margin + GD_border(g).plus(3).getStruct().getDouble("x"), 0); + v = (Agnode_s) GD_rank(g).plus(r).getArrayOfPtr("v").plus(GD_rank(g).plus(r).getInt("n") - 1).getPtr(); + make_aux_edge(v, rn, + ND_rw(v) + margin + GD_border(g).plus(1).getStruct().getDouble("x"), 0); + } +} finally { +LEAVING("daz786541idcxnywckcbncazb","contain_nodes"); +} +} + + + + +//3 betdvb8dk8icvqkn6e6y5h94x +// static boolean idealsize(graph_t * g, double minallowed) +public static Object idealsize(Object... arg) { +UNSUPPORTED("74m5dgfkgpr7bq7elj8bk5w6z"); // static boolean idealsize(graph_t * g, double minallowed) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("bp9bpmgkh2gsdynqe5wio0i32"); // double xf, yf, f, R; +UNSUPPORTED("8404v5b2qtn2x2mlgbyxidbx4"); // pointf b, relpage, margin; +UNSUPPORTED("a3ke28asz3w87p4n8bgil541i"); // /* try for one page */ +UNSUPPORTED("avi96122npbhja9hwa4goidp"); // relpage = GD_drawing(g)->page; +UNSUPPORTED("19uch6jfal0x385xni41gqam6"); // if (relpage.x < 0.001 || relpage.y < 0.001) +UNSUPPORTED("52kuioyxcuboss35kg15wudvt"); // return 0; /* no page was specified */ +UNSUPPORTED("d6i2metpbkzakq2abzgvcdzle"); // margin = GD_drawing(g)->margin; +UNSUPPORTED("asgqm8o7cruxxpfx9lobsif1c"); // relpage = sub_pointf(relpage, margin); +UNSUPPORTED("asgqm8o7cruxxpfx9lobsif1c"); // relpage = sub_pointf(relpage, margin); +UNSUPPORTED("aqhjsr7rv4ig7d1vagm74jpmo"); // b.x = GD_bb(g).UR.x; +UNSUPPORTED("30xemhqjxz13hiyv2o2r8mol1"); // b.y = GD_bb(g).UR.y; +UNSUPPORTED("cv2s8vkuet41gdoms8vue473z"); // xf = relpage.x / b.x; +UNSUPPORTED("rvfej1l4o57i17le73vt80cf"); // yf = relpage.y / b.y; +UNSUPPORTED("4f2ksj9hf0fi9wnzrz20eswmo"); // if ((xf >= 1.0) && (yf >= 1.0)) +UNSUPPORTED("e64anddwrzfgr4xoopjelwqg1"); // return 0; /* fits on one page */ +UNSUPPORTED("9vakpuy3iri2q9upsuy7lqhln"); // f = MIN(xf, yf); +UNSUPPORTED("ccu6nxd64lwxm1h8x0sbrkdv7"); // xf = yf = MAX(f, minallowed); +UNSUPPORTED("yc64sd7yr28zgjqrr734fc7i"); // R = ceil((xf * b.x) / relpage.x); +UNSUPPORTED("aht5rw6872hwmg7vaop0eairh"); // xf = ((R * relpage.x) / b.x); +UNSUPPORTED("asw2ato73u7m4kb07x2mr2snv"); // R = ceil((yf * b.y) / relpage.y); +UNSUPPORTED("76j6b15q20gswxka8cglflbym"); // yf = ((R * relpage.y) / b.y); +UNSUPPORTED("49gpvau7p2bvvkp6oemyqyjev"); // GD_drawing(g)->size.x = b.x * xf; +UNSUPPORTED("7gewumkvzgtqon1jqxp8yf0kk"); // GD_drawing(g)->size.y = b.y * yf; +UNSUPPORTED("8fwlqtemsmckleh6946lyd8mw"); // return NOT(0); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} diff --git a/src/gen/lib/dotgen/rank__c.java b/src/gen/lib/dotgen/rank__c.java new file mode 100644 index 0000000..6e6aa2c --- /dev/null +++ b/src/gen/lib/dotgen/rank__c.java @@ -0,0 +1,2136 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agget; +import static gen.lib.cgraph.edge__c.agfstout; +import static gen.lib.cgraph.edge__c.aghead; +import static gen.lib.cgraph.edge__c.agnxtout; +import static gen.lib.cgraph.edge__c.agsubedge; +import static gen.lib.cgraph.id__c.agnameof; +import static gen.lib.cgraph.node__c.agfstnode; +import static gen.lib.cgraph.node__c.agnxtnode; +import static gen.lib.cgraph.obj__c.agcontains; +import static gen.lib.cgraph.obj__c.agdelete; +import static gen.lib.cgraph.subg__c.agfstsubg; +import static gen.lib.cgraph.subg__c.agnxtsubg; +import static gen.lib.common.input__c.do_graph_label; +import static gen.lib.common.ns__c.rank; +import static gen.lib.common.utils__c.UF_find; +import static gen.lib.common.utils__c.UF_singleton; +import static gen.lib.common.utils__c.UF_union; +import static gen.lib.common.utils__c.maptoken; +import static gen.lib.dotgen.acyclic__c.acyclic_; +import static gen.lib.dotgen.aspect__c.rank3; +import static gen.lib.dotgen.class1__c.class1_; +import static gen.lib.dotgen.decomp__c.decompose; +import static gen.lib.dotgen.dotinit__c.dot_root; +import static smetana.core.JUtils.EQ; +import static smetana.core.JUtils.LOG2; +import static smetana.core.JUtils.NEQ; +import static smetana.core.JUtils.strncmp; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.ED_minlen; +import static smetana.core.Macro.ED_to_orig; +import static smetana.core.Macro.ED_to_virt; +import static smetana.core.Macro.GD_clust; +import static smetana.core.Macro.GD_comp; +import static smetana.core.Macro.GD_flags; +import static smetana.core.Macro.GD_has_labels; +import static smetana.core.Macro.GD_leader; +import static smetana.core.Macro.GD_maxrank; +import static smetana.core.Macro.GD_maxset; +import static smetana.core.Macro.GD_minrank; +import static smetana.core.Macro.GD_minset; +import static smetana.core.Macro.GD_n_cluster; +import static smetana.core.Macro.GD_nlist; +import static smetana.core.Macro.GD_parent; +import static smetana.core.Macro.GD_ranksep; +import static smetana.core.Macro.GD_set_type; +import static smetana.core.Macro.MAXSHORT; +import static smetana.core.Macro.N; +import static smetana.core.Macro.ND_clust; +import static smetana.core.Macro.ND_in; +import static smetana.core.Macro.ND_mark; +import static smetana.core.Macro.ND_next; +import static smetana.core.Macro.ND_node_type; +import static smetana.core.Macro.ND_out; +import static smetana.core.Macro.ND_rank; +import static smetana.core.Macro.ND_ranktype; +import static smetana.core.Macro.UNSUPPORTED; +import static smetana.core.Macro.ZALLOC; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.aspect_t; +import h.boxf; +import h.elist; +import h.point; +import h.pointf; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Memory; +import smetana.core.Z; +import smetana.core.__struct__; + +public class rank__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 3f1re3nfkhxwjjb90kppwuupr +// static void renewlist(elist * L) +public static void renewlist(elist L) { +ENTERING("3f1re3nfkhxwjjb90kppwuupr","renewlist"); +try { + int i; + for (i = L.getInt("size"); i >= 0; i--) + L.getArrayOfPtr("list").plus(i).setPtr(null); + L.setInt("size", 0); +} finally { +LEAVING("3f1re3nfkhxwjjb90kppwuupr","renewlist"); +} +} + + + + +//3 1xov2qhuxj1f9nbzu3xsa6679 +// static void cleanup1(graph_t * g) +public static void cleanup1(Agraph_s g) { +ENTERING("1xov2qhuxj1f9nbzu3xsa6679","cleanup1"); +try { + Agnode_s n; + Agedge_s e, f; + int c; + for (c = 0; c < GD_comp(g).size; c++) { + GD_nlist(g, GD_comp(g).getFromList(c)); + for (n = GD_nlist(g); n!=null; n = ND_next(n)) { + renewlist(ND_in(n).amp()); + renewlist(ND_out(n).amp()); + ND_mark(n, 0); + } + } + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) { + f = ED_to_virt(e); + /* Null out any other references to f to make sure we don't + * handle it a second time. For example, parallel multiedges + * share a virtual edge. + */ + if (f!=null && (EQ(e, ED_to_orig(f)))) { + Agedge_s e1, f1; + Agnode_s n1; + for (n1 = agfstnode(g); n1!=null; n1 = agnxtnode(g, n1)) { + for (e1 = agfstout(g, n1); e1!=null; e1 = agnxtout(g, e1)) { + if (NEQ(e, e1)) { + f1 = ED_to_virt(e1); + if (f1!=null && EQ(f, f1)) { + ED_to_virt(e1, null); + } + } + } + } + Memory.free(f.getStruct("base").getPtr("data")); + Memory.free(f); + } + ED_to_virt(e, null); + } + } + GD_comp(g).resetList(); + GD_comp(g).size = 0; +} finally { +LEAVING("1xov2qhuxj1f9nbzu3xsa6679","cleanup1"); +} +} + + + + +//3 bxjf5g7g953ii1hfodl1j0y4u +// static void edgelabel_ranks(graph_t * g) +public static void edgelabel_ranks(Agraph_s g) { +ENTERING("bxjf5g7g953ii1hfodl1j0y4u","edgelabel_ranks"); +try { + Agnode_s n; + Agedge_s e; + if ((GD_has_labels(g) & (1 << 0))!=0) { + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) + for (e = agfstout(g, n); e!=null; e = agnxtout(g, e)) + ED_minlen(e, ED_minlen(e) * 2); + GD_ranksep(g, (GD_ranksep(g) + 1) / 2); + } +} finally { +LEAVING("bxjf5g7g953ii1hfodl1j0y4u","edgelabel_ranks"); +} +} + + + + +//3 9kjpoxcxoy3nhqd9rflwclo7c +// static void collapse_rankset(graph_t * g, graph_t * subg, int kind) +public static Object collapse_rankset(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("8hizp29cxh1rnp84yrlv4nl8x"); // collapse_rankset(graph_t * g, graph_t * subg, int kind) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5yrhx4blosxo5xnc1nh1kzhfs"); // node_t *u, *v; +UNSUPPORTED("nbvmqthk0lqbm00ekylf0l0g"); // u = v = agfstnode(subg); +UNSUPPORTED("5q27ub494lpst2s18bizunri0"); // if (u) { +UNSUPPORTED("97vrl7utckj5ct78d81xyhhjl"); // ND_ranktype(u) = kind; +UNSUPPORTED("99ruvdyom1mcyir0v7i8zq8eh"); // while ((v = agnxtnode(subg, v))) { +UNSUPPORTED("7f9cf0wfrirgdoty4qy5pfuj9"); // UF_union(u, v); +UNSUPPORTED("5jt25she9etuqjk6nrkrt3059"); // ND_ranktype(v) = ND_ranktype(u); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { +UNSUPPORTED("b8vgbvwzllfs4lrqmmqyr1spk"); // case 2: +UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: +UNSUPPORTED("2crlxhvtrgd5ohsriopqywv1m"); // if (GD_minset(g) == NULL) +UNSUPPORTED("9py54j3v52y5qevrsi1omdoq7"); // GD_minset(g) = u; +UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else +UNSUPPORTED("1cqwn2xb41g0dsm2oltj15dsd"); // GD_minset(g) = UF_union(GD_minset(g), u); +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("495y0cnvj5vci19wsufg88rrq"); // case 4: +UNSUPPORTED("1wjv2f7dql1ddky1us3a7q5jq"); // case 5: +UNSUPPORTED("1myv9cwrp9n535g9xsalgmg7n"); // if (GD_maxset(g) == NULL) +UNSUPPORTED("45gr04d25a1qxrh4hm1kiip5v"); // GD_maxset(g) = u; +UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else +UNSUPPORTED("d5a4ohz8nh8xso8ovij23zsxi"); // GD_maxset(g) = UF_union(GD_maxset(g), u); +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("9ty5l2g646lrkxz43tcnhcsk8"); // switch (kind) { +UNSUPPORTED("1640m8as34e90xhvvtl877cmo"); // case 3: +UNSUPPORTED("j5ay8vao16zse2bq0etmlhua"); // ND_ranktype(GD_minset(g)) = kind; +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("1wjv2f7dql1ddky1us3a7q5jq"); // case 5: +UNSUPPORTED("9dtrubjv4hiv1k3dq24skxdb8"); // ND_ranktype(GD_maxset(g)) = kind; +UNSUPPORTED("ai3czg6gaaxspsmndknpyvuiu"); // break; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 65qi5f0bxp6d6vahhlcolpk88 +// static int rank_set_class(graph_t * g) +public static int rank_set_class(Agraph_s g) { +ENTERING("65qi5f0bxp6d6vahhlcolpk88","rank_set_class"); +try { + CString name[] = new CString[] { new CString("same"), new CString("min"), new CString("source"), new CString("max"), new CString("sink"), null }; + int class_[] = new int[] { 1, 2, 3, 4, 5, 0 }; + int val; + if (is_cluster(g)) + return 7; + val = maptoken(agget(g, new CString("rank")), name, class_); + GD_set_type(g, val); + return val; +} finally { +LEAVING("65qi5f0bxp6d6vahhlcolpk88","rank_set_class"); +} +} + + + + +//3 5189iviqj57iztftckz86y6jj +// static int make_new_cluster(graph_t * g, graph_t * subg) +public static int make_new_cluster(Agraph_s g, Agraph_s subg) { +ENTERING("5189iviqj57iztftckz86y6jj","make_new_cluster"); +try { + int cno; + GD_n_cluster(g, GD_n_cluster(g)+1); + cno = GD_n_cluster(g); + GD_clust(g, ZALLOC(cno + 1, GD_clust(g), Agraph_s.class, GD_n_cluster(g))); + GD_clust(g).plus(cno).setPtr(subg); + do_graph_label(subg); + return cno; +} finally { +LEAVING("5189iviqj57iztftckz86y6jj","make_new_cluster"); +} +} + + + + +//3 9lvm2ufqjzl2bsbpo0zg9go58 +// static void node_induce(graph_t * par, graph_t * g) +public static void node_induce(Agraph_s par, Agraph_s g) { +ENTERING("9lvm2ufqjzl2bsbpo0zg9go58","node_induce"); +try { + Agnode_s n, nn; + Agedge_s e; + int i; + LOG2("node_induce"); + /* enforce that a node is in at most one cluster at this level */ + for (n = agfstnode(g); n!=null; n = nn) { + nn = agnxtnode(g, n); + if (ND_ranktype(n)!=0) { + agdelete(g, n); + continue; + } + for (i = 1; i < GD_n_cluster(par); i++) + if (agcontains((Agraph_s) GD_clust(par).plus(i).getPtr(), n)) + break; + if (i < GD_n_cluster(par)) + agdelete(g, n); + ND_clust(n, null); + } + for (n = agfstnode(g); n!=null; n = agnxtnode(g, n)) { + for (e = agfstout(dot_root(g), n); e!=null; e = agnxtout(dot_root(g), e)) { + if (agcontains(g, aghead(e))) + agsubedge(g,e,true); + } + } +} finally { +LEAVING("9lvm2ufqjzl2bsbpo0zg9go58","node_induce"); +} +} + + + + +//3 650rxyqioihwhhqkex61prwfs +// void dot_scan_ranks(graph_t * g) +public static Object dot_scan_ranks(Object... arg) { +UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void +UNSUPPORTED("3qe2zolxii33gr1krcjkgygwm"); // dot_scan_ranks(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dkbxmqzr28yu8rswd5vubd3ha"); // node_t *n, *leader = NULL; +UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; +UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("68vv0lam9vxeuk3fg60ad5w6g"); // if (GD_maxrank(g) < ND_rank(n)) +UNSUPPORTED("2v65dy95gqvsnppoelwwl8ayh"); // GD_maxrank(g) = ND_rank(n); +UNSUPPORTED("3ozq6tqfxcegom34qkyrrxnfg"); // if (GD_minrank(g) > ND_rank(n)) +UNSUPPORTED("duyud2jy9uf1rbcis84c3lsj6"); // GD_minrank(g) = ND_rank(n); +UNSUPPORTED("5j9c428shih0wjw2salkxw0qm"); // if (leader == NULL) +UNSUPPORTED("73jlqlf2bn3kx7i020menpfcw"); // leader = n; +UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { +UNSUPPORTED("bwqhlzu5ifbhdg1jral42ycdx"); // if (ND_rank(n) < ND_rank(leader)) +UNSUPPORTED("7h663p7xpn4qn3l6bs6vxze7i"); // leader = n; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5j1zsofmtglx1esxwbstti1un"); // GD_leader(g) = leader; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2rbs5deyvlh5s7lkhv6zouqbe +// static void cluster_leader(graph_t * clust) +public static void cluster_leader(Agraph_s clust) { +ENTERING("2rbs5deyvlh5s7lkhv6zouqbe","cluster_leader"); +try { + Agnode_s leader, n; + int maxrank = 0; + /* find number of ranks and select a leader */ + leader = null; + for (n = GD_nlist(clust); n!=null; n = ND_next(n)) { + if ((ND_rank(n) == 0) && (ND_node_type(n) == 0)) + leader = n; + if (maxrank < ND_rank(n)) + maxrank = ND_rank(n); + } + assert(leader != null); + GD_leader(clust, leader); + for (n = agfstnode(clust); n!=null; n = agnxtnode(clust, n)) { + //assert((ND_UF_size(n) <= 1) || (n == leader)); + UF_union(n, leader); + ND_ranktype(n, 7); + } +} finally { +LEAVING("2rbs5deyvlh5s7lkhv6zouqbe","cluster_leader"); +} +} + + + + +//3 f3sl627dqmre3kru883bpdxc3 +// static void collapse_cluster(graph_t * g, graph_t * subg) +public static void collapse_cluster(Agraph_s g, Agraph_s subg) { +ENTERING("f3sl627dqmre3kru883bpdxc3","collapse_cluster"); +try { + if (GD_parent(subg)!=null) { + return; + } + GD_parent(subg, g); + node_induce(g, subg); + if (agfstnode(subg) == null) + return; + make_new_cluster(g, subg); + if (Z.z().CL_type == 100) { + dot1_rank(subg, null); + cluster_leader(subg); + } else +UNSUPPORTED("1os84mtyrb110i4sd8bdjrwk"); // dot_scan_ranks(subg); +} finally { +LEAVING("f3sl627dqmre3kru883bpdxc3","collapse_cluster"); +} +} + + + + +//3 din4qnipewrwnelaimzvlplft +// static void collapse_sets(graph_t *rg, graph_t *g) +public static void collapse_sets(Agraph_s rg, Agraph_s g) { +ENTERING("din4qnipewrwnelaimzvlplft","collapse_sets"); +try { + int c; + Agraph_s subg; + for (subg = agfstsubg(g); subg!=null; subg = agnxtsubg(subg)) { + c = rank_set_class(subg); + if (c!=0) { + if ((c == 7) && Z.z().CL_type == 100) + collapse_cluster(rg, subg); + else + collapse_rankset(rg, subg, c); + } + else collapse_sets(rg, subg); + } +} finally { +LEAVING("din4qnipewrwnelaimzvlplft","collapse_sets"); +} +} + + + + +//3 5n9mgh7vlru5mb1j9oienvbvs +// static void find_clusters(graph_t * g) +public static Object find_clusters(Object... arg) { +UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void +UNSUPPORTED("cdsgmo50taekqgk95mfn25930"); // find_clusters(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8uujemixuhlf040icq3zsh7j8"); // graph_t *subg; +UNSUPPORTED("39msf2samfrjyh2h1a0nh0bnq"); // for (subg = agfstsubg(dot_root(g)); subg; subg = agnxtsubg(subg)) { +UNSUPPORTED("zmexivcsx1b4oppz6cjwhzd9"); // if (GD_set_type(subg) == 7) +UNSUPPORTED("xqwyd1xyo86onxfw4s7p8at4"); // collapse_cluster(g, subg); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 12fw0esv4unfin6waf9mknc1o +// static void set_minmax(graph_t * g) +public static void set_minmax(Agraph_s g) { +ENTERING("12fw0esv4unfin6waf9mknc1o","set_minmax"); +try { + int c; + GD_minrank(g, GD_minrank(g) + ND_rank(GD_leader(g))); + GD_maxrank(g, GD_maxrank(g) + ND_rank(GD_leader(g))); + for (c = 1; c <= GD_n_cluster(g); c++) + set_minmax((Agraph_s) GD_clust(g).plus(c).getPtr()); +} finally { +LEAVING("12fw0esv4unfin6waf9mknc1o","set_minmax"); +} +} + + + + +//3 3bcr1748gqnu8ogb73jeja7ly +// static point minmax_edges(graph_t * g) +public static __struct__<point> minmax_edges(Agraph_s g) { +// WARNING!! STRUCT +return minmax_edges_w_(g).copy(); +} +private static __struct__<point> minmax_edges_w_(Agraph_s g) { +ENTERING("3bcr1748gqnu8ogb73jeja7ly","minmax_edges"); +try { + Agnode_s n; + Agedge_s e; + final __struct__<point> slen = JUtils.from(point.class); + slen.setInt("x", 0); + slen.setInt("y", 0); + if ((GD_maxset(g) == null) && (GD_minset(g) == null)) + return slen; +UNSUPPORTED("d0tnzm7aw9504y1w1oqoesw64"); // if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) != NULL) +UNSUPPORTED("9esfh1bqntzgyk7zcq16k9f96"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) = UF_find((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset)); +UNSUPPORTED("2szhe8u8hvuy7p23r4p4zcb83"); // if ((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) != NULL) +UNSUPPORTED("tufrhwafgfvg5vepfqo9dpwg"); // (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) = UF_find((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset)); +UNSUPPORTED("3num56yubfb33g0m56jntiy0x"); // if ((n = (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset))) { +UNSUPPORTED("d60rrtpfeuylcbp2490sojfjq"); // slen.y = ((((Agnodeinfo_t*)(((Agobj_t*)((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset)))->data))->ranktype) == 5); +UNSUPPORTED("79ls52ss65f22xrsubkcofzz"); // while ((e = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->out).list[0])) { +UNSUPPORTED("chd9prkphze2z32e98mbxhqyd"); // assert(((((((Agobj_t*)(e))->tag).objtype) == 2? (e): ((e)-1))->node) == UF_find(((((((Agobj_t*)(e))->tag).objtype) == 2? (e): ((e)-1))->node))); +UNSUPPORTED("829yx3b7rjn7ptz89mz4dj5yo"); // reverse_edge(e); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("8us4psjv2ebkgcp54fvjbuhj8"); // if ((n = (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset))) { +UNSUPPORTED("7uri9lp9wjgo20ram4gfo974w"); // slen.x = ((((Agnodeinfo_t*)(((Agobj_t*)((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset)))->data))->ranktype) == 3); +UNSUPPORTED("5up69q1rp9ts32jvunwg9hlrr"); // while ((e = (((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->in).list[0])) { +UNSUPPORTED("4t476gsg37fhfa2fdrokupx2c"); // assert(((((((Agobj_t*)(e))->tag).objtype) == 3? (e): ((e)+1))->node) == UF_find(((((((Agobj_t*)(e))->tag).objtype) == 3? (e): ((e)+1))->node))); +UNSUPPORTED("829yx3b7rjn7ptz89mz4dj5yo"); // reverse_edge(e); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("erz19oifq072tdfzgz6dxa9i4"); // return slen; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("3bcr1748gqnu8ogb73jeja7ly","minmax_edges"); +} +} + + + + +//3 1rmlm1wo3t94wyet9rlwrmith +// static int minmax_edges2(graph_t * g, point slen) +public static boolean minmax_edges2(Agraph_s g, final __struct__<point> slen) { +// WARNING!! STRUCT +return minmax_edges2_w_(g, slen.copy()); +} +private static boolean minmax_edges2_w_(Agraph_s g, final __struct__<point> slen) { +ENTERING("1rmlm1wo3t94wyet9rlwrmith","minmax_edges2"); +try { + Agnode_s n; + Agedge_s e = null; + if ((GD_maxset(g)!=null) || (GD_minset(g)!=null)) { +UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("8y47p29z0c2f1xpkrsb8w8re8"); // if (n != UF_find(n)) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("49yt5gs5xlk2yzmiulvp7iqrd"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->out).size == 0) && (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset) && (n != (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset))) { +UNSUPPORTED("9ksut17itonzpk3hp57jn4d1s"); // e = virtual_edge(n, (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxset), NULL); +UNSUPPORTED("7dlot3nkpploeywkumjt3erop"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->minlen) = slen.y; +UNSUPPORTED("5ddkb181unkbg63gxqjx85fzq"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("5b66s1jsuwe7l2e8p6o1xpnab"); // if (((((Agnodeinfo_t*)(((Agobj_t*)(n))->data))->in).size == 0) && (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset) && (n != (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset))) { +UNSUPPORTED("c00g90uqqonkk08nncvi45c8f"); // e = virtual_edge((((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minset), n, NULL); +UNSUPPORTED("cxdsqlq2h35nyz65uc4eifchp"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->minlen) = slen.x; +UNSUPPORTED("5ddkb181unkbg63gxqjx85fzq"); // (((Agedgeinfo_t*)(((Agobj_t*)(e))->data))->weight) = 0; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } + } + return (e != null); +} finally { +LEAVING("1rmlm1wo3t94wyet9rlwrmith","minmax_edges2"); +} +} + + + + +//3 3vpthwso788idvycelpnqijys +// void rank1(graph_t * g) +public static void rank1(Agraph_s g) { +ENTERING("3vpthwso788idvycelpnqijys","rank1"); +try { + int maxiter = Integer.MAX_VALUE; + int c; + CString s; + if ((s = agget(g, new CString("nslimit1")))!=null) +UNSUPPORTED("9tp2zk1tsr4ce9rwsr0is9u3o"); // maxiter = atof(s) * agnnodes(g); + for (c = 0; c < GD_comp(g).size; c++) { + //GD_nlist(g, GD_comp(g).getArrayOfPtr("list").plus(c).getPtr()); + GD_nlist(g, GD_comp(g).getFromList(c)); + rank(g, (GD_n_cluster(g) == 0 ? 1 : 0), maxiter); /* TB balance */ + } +} finally { +LEAVING("3vpthwso788idvycelpnqijys","rank1"); +} +} + + + + +//3 cdh8wnb99v90dy6efpbzmrjix +// static void expand_ranksets(graph_t * g, aspect_t* asp) +public static void expand_ranksets(Agraph_s g, aspect_t asp) { +ENTERING("cdh8wnb99v90dy6efpbzmrjix","expand_ranksets"); +try { + int c; + Agnode_s n, leader; + if ((n = agfstnode(g))!=null) { + GD_minrank(g, MAXSHORT); + GD_maxrank(g, -1); + while (n!=null) { + leader = UF_find(n); + /* The following works because ND_rank(n) == 0 if n is not in a + * cluster, and ND_rank(n) = the local rank offset if n is in + * a cluster. */ + if (NEQ(leader, n) && (N(asp) || (ND_rank(n) == 0))) + ND_rank(n, ND_rank(n) + ND_rank(leader)); + if (GD_maxrank(g) < ND_rank(n)) + GD_maxrank(g, ND_rank(n)); + if (GD_minrank(g) > ND_rank(n)) + GD_minrank(g, ND_rank(n)); + if (ND_ranktype(n)!=0 && (ND_ranktype(n) != 6)) + UF_singleton(n); + n = agnxtnode(g, n); + } + if (EQ(g, dot_root(g))) { + if (Z.z().CL_type == 100) { + for (c = 1; c <= GD_n_cluster(g); c++) + set_minmax((Agraph_s) GD_clust(g).plus(c).getPtr()); + } else { + find_clusters(g); + } + } + } else { + GD_maxrank(g, 0); + GD_minrank(g, 0); + } +} finally { +LEAVING("cdh8wnb99v90dy6efpbzmrjix","expand_ranksets"); +} +} + + + + +//3 2o4rmb4o6f6zh46ak3se91rwr +// static void dot1_rank(graph_t * g, aspect_t* asp) +public static void dot1_rank(Agraph_s g, aspect_t asp) { +ENTERING("2o4rmb4o6f6zh46ak3se91rwr","dot1_rank"); +try { + final __struct__<point> p = JUtils.from(point.class); + edgelabel_ranks(g); + if (asp!=null) { +UNSUPPORTED("kh7e20nqwuserrnpf3zpvuyl"); // init_UF_size(g); +UNSUPPORTED("d88j5oswhz0d3yvd4wlvxohmu"); // initEdgeTypes(g); + } + collapse_sets(g,g); + /*collapse_leaves(g); */ + class1_(g); + p.___(minmax_edges(g)); + decompose(g, 0); + if (asp!=null && ((GD_comp(g).getInt("size") > 1)||(GD_n_cluster(g) > 0))) { +UNSUPPORTED("evcjt85irnaa02v8cam07i009"); // asp->badGraph = 1; +UNSUPPORTED("45nxv6kczal9hnytkfcyt2jk8"); // asp = NULL; + } + acyclic_(g); + if (minmax_edges2(g, p)) +UNSUPPORTED("800vpyk6y4hcx2txwyrr2boxu"); // decompose(g, 0); + if (asp!=null) + rank3(g, asp); + else + rank1(g); + expand_ranksets(g, asp); + cleanup1(g); +} finally { +LEAVING("2o4rmb4o6f6zh46ak3se91rwr","dot1_rank"); +} +} + + + + +//3 asyfujgwqa407ffvqn5psbtsc +// void dot_rank(graph_t * g, aspect_t* asp) +public static void dot_rank(Agraph_s g, aspect_t asp) { +ENTERING("asyfujgwqa407ffvqn5psbtsc","dot_rank"); +try { + if (agget (g, new CString("newrank"))!=null) { + GD_flags(g, GD_flags(g) | (1 << 4)); + dot2_rank (g, asp); + } + else + dot1_rank (g, asp); + //if (Verbose) + //fprintf (stderr, "Maxrank = %d, minrank = %d\n", (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->maxrank), (((Agraphinfo_t*)(((Agobj_t*)(g))->data))->minrank)); +} finally { +LEAVING("asyfujgwqa407ffvqn5psbtsc","dot_rank"); +} +} + + + + +//3 cdncou6d2ng5i48rd1mk2cpnw +// int is_cluster(graph_t * g) +public static boolean is_cluster(Agraph_s g) { +ENTERING("cdncou6d2ng5i48rd1mk2cpnw","is_cluster"); +try { + return (strncmp(agnameof(g), new CString("cluster"), 7) == 0); +} finally { +LEAVING("cdncou6d2ng5i48rd1mk2cpnw","is_cluster"); +} +} + + + + +//3 29qzn29glqnhg14z5cwt9i8ds +// static void set_parent(graph_t* g, graph_t* p) +public static Object set_parent(Object... arg) { +UNSUPPORTED("blcrnfwfdmb15y0sduplfd1kd"); // static void set_parent(graph_t* g, graph_t* p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("761elco9es28q1el1h87c9q8w"); // GD_parent(g) = p; +UNSUPPORTED("84dx27r05ns2c0pm7idum25td"); // make_new_cluster(p, g); +UNSUPPORTED("65op19ofyxj4vywwg8hovy2yh"); // node_induce(p, g); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 3qlca4afaxtwu0r2v22ccpfy9 +// static int is_empty(graph_t * g) +public static Object is_empty(Object... arg) { +UNSUPPORTED("1bkrdpgwmb75nr2g9ooqfc79r"); // static int is_empty(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8bgakhvkt8exvi70zpvdvwrt4"); // return (!agfstnode(g)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 sxmrpf4e3wi4vzeiu486heyw +// static int is_a_strong_cluster(graph_t * g) +public static Object is_a_strong_cluster(Object... arg) { +UNSUPPORTED("251zndmdq92kg3zmfr3akrrmn"); // static int is_a_strong_cluster(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ecz4e03zumggc8tfymqvirexq"); // int rv; +UNSUPPORTED("9l9qe4o3ak62d2r6cbq90e5g"); // char *str = agget(g, "compact"); +UNSUPPORTED("5zgcjj66562k7c4z26hmps9jr"); // /* rv = mapBool((str), TRUE); */ +UNSUPPORTED("7k6ls7carz5knwiocbejouapm"); // rv = mapBool((str), 0); +UNSUPPORTED("v7vqc9l7ge2bfdwnw11z7rzi"); // return rv; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 954bo7mrh993f96ujb8u3e8vt +// static int rankset_kind(graph_t * g) +public static Object rankset_kind(Object... arg) { +UNSUPPORTED("5vyg261oak77cq7e9dmvw2omc"); // static int rankset_kind(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("70l71erfhd26e1u7dnnxpa6i"); // char *str = agget(g, "rank"); +UNSUPPORTED("4ml2m315k80oi1eww739kxwgi"); // if (str && str[0]) { +UNSUPPORTED("7j0qc9ibr6niawo611kvm2swb"); // if (!strcmp(str, "min")) +UNSUPPORTED("avnuwo0ld6vqw4bdve4ku0kwr"); // return 2; +UNSUPPORTED("8q0yyecb20k2nm2qnluagpkcv"); // if (!strcmp(str, "source")) +UNSUPPORTED("1xt8eg4imiwilo2bv2i5shg7g"); // return 3; +UNSUPPORTED("7dkmgopul9nxw7arr5odhh641"); // if (!strcmp(str, "max")) +UNSUPPORTED("ajqfmduyeyu16131ii3itnjx7"); // return 4; +UNSUPPORTED("4f7keu82iifj10rf0thee5c4s"); // if (!strcmp(str, "sink")) +UNSUPPORTED("f45x5jzpirzixrsp3utlgrddo"); // return 5; +UNSUPPORTED("kjtw0fdz1jophwulunsrgzdb"); // if (!strcmp(str, "same")) +UNSUPPORTED("btmwubugs9vkexo4yb7a5nqel"); // return 1; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ds4c38px5ikyzcv8pbtfcfg8h"); // return 6; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 ej4vtw2e6g22jzlypo03buuob +// static int is_nonconstraint(edge_t * e) +public static Object is_nonconstraint(Object... arg) { +UNSUPPORTED("cdj60nbfp2uc9emgj9bb9tuq4"); // static int is_nonconstraint(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5bdi9u1cut03m2rbxpkmjg38w"); // char *constr; +UNSUPPORTED("ipmkcv3n8rnco04rgte3qrlh"); // if (E_constr && (constr = agxget(e, E_constr))) { +UNSUPPORTED("cnlkffmn4nysfcmoyktn3wvrx"); // if (constr[0] && mapbool(constr) == 0) +UNSUPPORTED("9qhn9m3123s8n6wwxjfo8awlm"); // return NOT(0); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8pb7znv8q3ikfulus8sprsrb8 +// static node_t *find(node_t * n) +public static Object find(Object... arg) { +UNSUPPORTED("420nqb6oiuhh8qfg7ick8eb5j"); // static node_t *find(node_t * n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dxloerh79kcplsvqy37g3kwx1"); // node_t *set; +UNSUPPORTED("ch7ucg4bhoyhb0yswbbtjy53"); // if ((set = ND_set(n))) { +UNSUPPORTED("e20g6f3inc2t1acfqffb0ksqe"); // if (set != n) +UNSUPPORTED("3lalmwvgf54uou021ltj0hfqg"); // set = ND_set(n) = find(set); +UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else +UNSUPPORTED("45wb5d7uba8g13ojkskeug5v2"); // set = ND_set(n) = n; +UNSUPPORTED("d5jffopzvq1b1jnhb3jadtkkb"); // return set; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 tgndl91vjf2dvnepj15uye32 +// static node_t *union_one(node_t * leader, node_t * n) +public static Object union_one(Object... arg) { +UNSUPPORTED("bk1ys5rvc0fqcssw437mw03pk"); // static node_t *union_one(node_t * leader, node_t * n) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("vkwoakpy0gnbvzgy8gprpluu"); // if (n) +UNSUPPORTED("879p5fay2s7f829lo6qaxs62y"); // return (ND_set(find(n)) = find(leader)); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("o1psslvh23yuu288xx1nzbv6"); // return leader; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1ku7zqljp4yk6j8pqxa19ko4u +// static node_t *union_all(graph_t * g) +public static Object union_all(Object... arg) { +UNSUPPORTED("1bddf3dbho07f9di3ae5tdn2z"); // static node_t *union_all(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("d5wzfazsul6ns71kurzu097zq"); // node_t *n, *leader; +UNSUPPORTED("42x5vqk9aw9a2ld3duvpmp7u9"); // n = agfstnode(g); +UNSUPPORTED("b23lxt0h34yyivnau77kavofl"); // if (!n) +UNSUPPORTED("bp96fem54xcxrw16cmnlpell9"); // return n; +UNSUPPORTED("c7r16vtue9uiodzk7n9ybdegz"); // leader = find(n); +UNSUPPORTED("1azt0yldbuvzvyhftheine5bv"); // while ((n = agnxtnode(g, n))) +UNSUPPORTED("aygpegbyw6isjunzjiq2efa8e"); // union_one(leader, n); +UNSUPPORTED("d2vvjehoyl5rcjodzjl8q0xne"); // return leader; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dehfujiq2i24w0y9qcoq88gbd +// static void compile_samerank(graph_t * ug, graph_t * parent_clust) +public static Object compile_samerank(Object... arg) { +UNSUPPORTED("52xc1gml0ynibrpu4r03l9cs"); // static void compile_samerank(graph_t * ug, graph_t * parent_clust) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5prtalowcftfpc3phfgtdwxe1"); // graph_t *s; /* subgraph being scanned */ +UNSUPPORTED("6rya07j39ddlbnek0cawgbdxq"); // graph_t *clust; /* cluster that contains the rankset */ +UNSUPPORTED("d5wzfazsul6ns71kurzu097zq"); // node_t *n, *leader; +UNSUPPORTED("3j62rndf411nak99bxbvwogwg"); // if (is_empty(ug)) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("116sd790xqr0sm9prs44dhdi9"); // if (is_a_cluster(ug)) { +UNSUPPORTED("anfjvlosf3592vmzm64wp9ukv"); // clust = ug; +UNSUPPORTED("a4nj79aw8gc4rsc6qh4h1j3ca"); // if (parent_clust) { +UNSUPPORTED("2cme4svj15jnccy2a5my2k0vk"); // GD_level(ug) = GD_level(parent_clust) + 1; +UNSUPPORTED("92dkw1fscsyjwrbkjnllcmsiz"); // set_parent(ug, parent_clust); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("1f3tsi2calw640ylv89zufnqg"); // GD_level(ug) = 0; +UNSUPPORTED("2lkbqgh2h6urnppaik3zo7ywi"); // } else +UNSUPPORTED("f2eqknbcu7dkt0mk3aa0nseps"); // clust = parent_clust; +UNSUPPORTED("2jowbcd45wf29ysq00oxpb9qh"); // /* process subgraphs of this subgraph */ +UNSUPPORTED("cpub3vrdy1soy50cezvowuqp8"); // for (s = agfstsubg(ug); s; s = agnxtsubg(s)) +UNSUPPORTED("6y2vizzx42iva8zf3ndgfxuoo"); // compile_samerank(s, clust); +UNSUPPORTED("4st45szka4kxyf5afpt9r2lr7"); // /* process this subgraph as a cluster */ +UNSUPPORTED("116sd790xqr0sm9prs44dhdi9"); // if (is_a_cluster(ug)) { +UNSUPPORTED("4pm26v2jo8qeolmy8246h5zal"); // for (n = agfstnode(ug); n; n = agnxtnode(ug, n)) { +UNSUPPORTED("dpma84q2zbh96nqex4fp8bs5a"); // if (ND_clust(n) == 0) +UNSUPPORTED("9ov8qga72kqj7lnxefrlneehb"); // ND_clust(n) = ug; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("b6vj39735t21yl5ayiouei3ea"); // /* process this subgraph as a rankset */ +UNSUPPORTED("bt28cwea3vaqopki07c2rians"); // switch (rankset_kind(ug)) { +UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3: +UNSUPPORTED("btl4oqew40wl0bqc9bhe1qshq"); // GD_has_sourcerank(clust) = NOT(0); /* fall through */ +UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2: +UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); +UNSUPPORTED("6o42rb3i5w3jv1861oa077ahy"); // GD_minrep(clust) = union_one(leader, GD_minrep(clust)); +UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; +UNSUPPORTED("94bjfk0blg9ugkinwopclju8t"); // case 5: +UNSUPPORTED("b9tzw03kknh7ged56o6llxdh0"); // GD_has_sinkrank(clust) = NOT(0); /* fall through */ +UNSUPPORTED("7gwyze795m9aa2915n3bou49x"); // case 4: +UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); +UNSUPPORTED("dumvmo0mkc9khfmooiadflzuz"); // GD_maxrep(clust) = union_one(leader, GD_maxrep(clust)); +UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; +UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1: +UNSUPPORTED("9shvnosp4rfl2zcu1mk8mt6k"); // leader = union_all(ug); +UNSUPPORTED("aukepn75qomcnwetlwyvziwx1"); // /* do we need to record these ranksets? */ +UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; +UNSUPPORTED("4ak4rwp0nsvc9n89y3dnvoiy9"); // case 6: +UNSUPPORTED("6aw91xzjmqvmtdvt1di23af8y"); // break; +UNSUPPORTED("b7b3qf9gm8yinsl7rq2tcvamg"); // default: /* unrecognized - warn and do nothing */ +UNSUPPORTED("dsg015rva622f29whl6b5ner1"); // agerr(AGWARN, "%s has unrecognized rank=%s", agnameof(ug), +UNSUPPORTED("7gjdlew6rtq0dsdxc6uyc7v48"); // agget(ug, "rank")); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("8z2hxrvowojvpioiz41x8djhw"); // /* a cluster may become degenerate */ +UNSUPPORTED("bg6be1cr97nd4blhxwc8577cz"); // if (is_a_cluster(ug) && GD_minrep(ug)) { +UNSUPPORTED("7z1ki4lb1ja4hai3qi68hlg72"); // if (GD_minrep(ug) == GD_maxrep(ug)) { +UNSUPPORTED("6d3xnrwrzibz1hajej296nhj4"); // node_t *up = union_all(ug); +UNSUPPORTED("bisonxzfe0vx9x9xtsvv27rq9"); // GD_minrep(ug) = up; +UNSUPPORTED("esz48qzeb3f3oomg8wb4drmrn"); // GD_maxrep(ug) = up; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6mzsthkzz214du9ljfc7ijlf3 +// static graph_t *dot_lca(graph_t * c0, graph_t * c1) +public static Object dot_lca(Object... arg) { +UNSUPPORTED("egnw42d8jhfdyl5zqlzqffv17"); // static graph_t *dot_lca(graph_t * c0, graph_t * c1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("8qmvk29gersospxrjeukh5zdn"); // while (c0 != c1) { +UNSUPPORTED("9395225iwl078vpfdl5fz3q1i"); // if (GD_level(c0) >= GD_level(c1)) +UNSUPPORTED("ud0xxtx626m6p44f5ybl28oz"); // c0 = GD_parent(c0); +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("1z7wsarh0nlwq4y04yizw1pbj"); // c1 = GD_parent(c1); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("aqd6v9mqxnbx6er4fkhkmhusr"); // return c0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7fwe6cym6k60fw6f2gkbftvh8 +// static int is_internal_to_cluster(edge_t * e) +public static Object is_internal_to_cluster(Object... arg) { +UNSUPPORTED("esoedecj682cdsbz3i9026zfo"); // static int is_internal_to_cluster(edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("bf7f1i4wj7cvj82os2h0somln"); // graph_t *par, *ct, *ch; +UNSUPPORTED("pzh3wmhacvb8baamh8d0x2j5"); // ct = ND_clust(agtail(e)); +UNSUPPORTED("1yxzewahgac4khyfwgegotstb"); // ch = ND_clust(aghead(e)); +UNSUPPORTED("c0hxl5pgz9bgngw9cw54a6y8z"); // if (ct == ch) +UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); +UNSUPPORTED("b4gos5u06phmhqll71bg7znsl"); // par = dot_lca(ct, ch); +UNSUPPORTED("32a491a5jyr0gaudx2odlyl1x"); // /* if (par == agroot(par)) */ +UNSUPPORTED("4ugp2o11w5qr2tr0vjcqlm5xu"); // /* return FALSE; */ +UNSUPPORTED("1vb9z2lsj8ote2lis1nzqfq98"); // if ((par == ct) || (par == ch)) +UNSUPPORTED("bp2y18pqq5n09006utwifdyxo"); // return NOT(0); +UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +//1 ca279jzn1n2k40bv7mz55ccx7 +// static node_t* Last_node +//private static Agnode_s Last_node; + + +//3 6odjfuoywf6x6xpuz14xn1w07 +// static node_t* makeXnode (graph_t* G, char* name) +public static Object makeXnode(Object... arg) { +UNSUPPORTED("bpc5db7ozsqpc73t2xl0qmpnr"); // static node_t* makeXnode (graph_t* G, char* name) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("as7pt6rau89ac05ml4zp39xgj"); // node_t *n = agnode(G, name, 1); +UNSUPPORTED("6b9ymcqm4d2w42w6dvlhb7hio"); // alloc_elist(4, ND_in(n)); +UNSUPPORTED("b0ocdkprm41g10emqffwvovpd"); // alloc_elist(4, ND_out(n)); +UNSUPPORTED("e32lwhe8aj8zbofa5hl91g94x"); // if (Last_node) { +UNSUPPORTED("ctnbewkujd0gitkeptmdjrc5e"); // ND_prev(n) = Last_node; +UNSUPPORTED("efpj513jkepv1eb6ehj5cyuqy"); // ND_next(Last_node) = n; +UNSUPPORTED("c07up7zvrnu2vhzy6d7zcu94g"); // } else { +UNSUPPORTED("d73xo1uhf9960attqraecy18q"); // ND_prev(n) = NULL; +UNSUPPORTED("bd7fe5nmcvdfwgbbuzoxzk59n"); // GD_nlist(G) = n; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7gutgf5zbme88t9ueyzvir9yh"); // Last_node = n; +UNSUPPORTED("9tl9ztdpfpeb900t5gagch4eg"); // ND_next(n) = NULL; +UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 cd3kauuz11z03xym1la7ze5e6 +// static void compile_nodes(graph_t * g, graph_t * Xg) +public static Object compile_nodes(Object... arg) { +UNSUPPORTED("12jh8m3jnppgzqcx642zkv20x"); // static void compile_nodes(graph_t * g, graph_t * Xg) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("dm6k18yfspisvs0pl8f3kp9j4"); // /* build variables */ +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("hibhvgkp511r6u6ips8yb0un"); // Last_node = NULL; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("2f2poxq5fr9k7bgerylsq6dkm"); // if (find(n) == n) +UNSUPPORTED("9xe9wxas5cxrrzpmqtkfavbuj"); // ND_rep(n) = makeXnode (Xg, agnameof(n)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("cfjmkdzc5nj1nbp2ckl0mejra"); // if (ND_rep(n) == 0) +UNSUPPORTED("2u4sgiv3zkgh3t4r1ksk76oyl"); // ND_rep(n) = ND_rep(find(n)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 e1guv5kmb9i30k71e66mdxo3y +// static void merge(edge_t * e, int minlen, int weight) +public static Object merge(Object... arg) { +UNSUPPORTED("1npguevtdh47xfz698yahzrqb"); // static void merge(edge_t * e, int minlen, int weight) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("acr0hvlhebqp3iieup5bti0r6"); // ED_minlen(e) = MAX(ED_minlen(e), minlen); +UNSUPPORTED("eq9oxzgg08304c8ph77144cpu"); // ED_weight(e) += weight; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c6dqhr5u2wv75vxz5cgbkui +// static void strong(graph_t * g, node_t * t, node_t * h, edge_t * orig) +public static Object strong(Object... arg) { +UNSUPPORTED("6vzggze9zva4h232s9hd64r27"); // static void strong(graph_t * g, node_t * t, node_t * h, edge_t * orig) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("bqayp53mx8tl3a9owcil2sfpy"); // if ((e = (agedge(g,t,h,NULL,0))) || +UNSUPPORTED("4bkprvzfmfr1nlqmvqcd1xpg"); // (e = (agedge(g,h,t,NULL,0))) || (e = agedge(g, t, h, 0, 1))) +UNSUPPORTED("9otcshlag9drzks2p4q4bz1z8"); // merge(e, ED_minlen(orig), ED_weight(orig)); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("1qsfg1so4d9ee0f799ylbtkyp"); // agerr(AGERR, "ranking: failure to create strong constraint edge between nodes %s and %s\n", +UNSUPPORTED("347820654uihcls8om0v8c3g1"); // agnameof(t), agnameof(h)); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 a1kjm11iwgfl824pakzcm8kuu +// static void weak(graph_t * g, node_t * t, node_t * h, edge_t * orig) +public static Object weak(Object... arg) { +UNSUPPORTED("e0f6tf4pkq822l7f10u2xromd"); // static void weak(graph_t * g, node_t * t, node_t * h, edge_t * orig) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("3kkq8fnz3moxvyriighzr9v70"); // static int id; +UNSUPPORTED("hbaoyuj2oi8c7iuzviuukgb7"); // char buf[100]; +UNSUPPORTED("5n9mmbpgpmin1li1s5wxfn0j7"); // for (e = agfstin(g, t); e; e = agnxtin(g, e)) { +UNSUPPORTED("blrs1fuvxzbs20bdqz7btw4yt"); // /* merge with existing weak edge (e,f) */ +UNSUPPORTED("cccrsacwb6lshsxm8g9vpqdvo"); // v = agtail(e); +UNSUPPORTED("657evjbfij6x36pli6d9g15lg"); // if ((f = agfstout(g, v)) && (aghead(f) == h)) { +UNSUPPORTED("6cprbghvenu9ldc0ez1ifc63q"); // return; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("dhdmfarapbytpy4h24lgqslbi"); // if (!e) { +UNSUPPORTED("blf0483ca5ufq6yh26qqww4wv"); // sprintf (buf, "_weak_%d", id++); +UNSUPPORTED("9gu1nn0ir6yx53fj7kawo6xtw"); // v = makeXnode(g, buf); +UNSUPPORTED("7us6c9ykrtln0besnd67v5cer"); // e = agedge(g, v, t, 0, 1); +UNSUPPORTED("atd2wygaazfzcta0bus6bs4uu"); // f = agedge(g, v, h, 0, 1); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("7nn4pn4dj4nuo71wfp1byijpx"); // ED_minlen(e) = MAX(ED_minlen(e), 0); /* effectively a nop */ +UNSUPPORTED("drqgauf89xr1mpyydaxqfg694"); // ED_weight(e) += ED_weight(orig) * 1000; +UNSUPPORTED("halhvp8h6olsu4tb4b5zb8ys"); // ED_minlen(f) = MAX(ED_minlen(f), ED_minlen(orig)); +UNSUPPORTED("dyyu1myirsx00xvfvqq97f6dt"); // ED_weight(f) += ED_weight(orig); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 68dc7hsp2siu9in566grx5h8l +// static void compile_edges(graph_t * ug, graph_t * Xg) +public static Object compile_edges(Object... arg) { +UNSUPPORTED("57s72j3dqfa0fdsi9zu6yqbxe"); // static void compile_edges(graph_t * ug, graph_t * Xg) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("1dgz401xgus10wp90qpgfmm84"); // node_t *Xt, *Xh; +UNSUPPORTED("c37x0xox8y9eba9wy6d00j14i"); // graph_t *tc, *hc; +UNSUPPORTED("lp2eyq9typ14npscbcmds97c"); // /* build edge constraints */ +UNSUPPORTED("1rgbf8esuu21jsnjy0ozcv2nx"); // for (n = agfstnode(ug); n; n = agnxtnode(ug, n)) { +UNSUPPORTED("36jgu4l53q07scrzxtbzu9ws1"); // Xt = ND_rep(n); +UNSUPPORTED("1huyj2j0jo6l60j1121l0cenn"); // for (e = agfstout(ug, n); e; e = agnxtout(ug, e)) { +UNSUPPORTED("eihgt2jen0ohii72jzayossof"); // if (is_nonconstraint(e)) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("21s68hvg9tcok9mc1yj0cxyo8"); // Xh = ND_rep(find(aghead(e))); +UNSUPPORTED("5c9s9jmoqhby2u29zb0g9neqn"); // if (Xt == Xh) +UNSUPPORTED("6hyelvzskqfqa07xtgjtvg2is"); // continue; +UNSUPPORTED("enlmoet02jwyseh462fspj7kr"); // tc = ND_clust(agtail(e)); +UNSUPPORTED("47ba8c5wv42664v4uk20dcxui"); // hc = ND_clust(aghead(e)); +UNSUPPORTED("7o1ut6pe3ws38101s6x9jv08k"); // if (is_internal_to_cluster(e)) { +UNSUPPORTED("61gy4yt9v1l4586kvpqtacmur"); // /* determine if graph requires reversed edge */ +UNSUPPORTED("cuivzwkiwyl1njm43k0v3zig3"); // if ((find(agtail(e)) == GD_maxrep(ND_clust(agtail(e)))) +UNSUPPORTED("9xxo59da6q1v90ljd3h8apc3j"); // || (find(aghead(e)) == GD_minrep(ND_clust(aghead(e))))) { +UNSUPPORTED("4mdqa1pib7sml5socnk5zj1jn"); // node_t *temp = Xt; +UNSUPPORTED("edto6lxzuam8lv9gvigp2bnnh"); // Xt = Xh; +UNSUPPORTED("edahfvolx6t8a93b1jzop0prz"); // Xh = temp; +UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // } +UNSUPPORTED("eap1t3wskyfghhrwqv5fzgiye"); // strong(Xg, Xt, Xh, e); +UNSUPPORTED("175pyfe8j8mbhdwvrbx3gmew9"); // } else { +UNSUPPORTED("73tu1coi87ooqzro2vtdezlut"); // if (is_a_strong_cluster(tc) || is_a_strong_cluster(hc)) +UNSUPPORTED("1qlyasf525g29jx5adouyjjaf"); // weak(Xg, Xt, Xh, e); +UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else +UNSUPPORTED("dtnnxvw72r9ajw35rh6sh0twe"); // strong(Xg, Xt, Xh, e); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1nzwhja8l48xyfliiyqjsvegu +// static void compile_clusters(graph_t* g, graph_t* Xg, node_t* top, node_t* bot) +public static Object compile_clusters(Object... arg) { +UNSUPPORTED("4w43o1w7rtbr7a1ewf1ai3ynx"); // static void compile_clusters(graph_t* g, graph_t* Xg, node_t* top, node_t* bot) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("tppzioyoeodu2sq7fsqife44"); // node_t *rep; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("evmjaaqcnbnbnogx8aaw70ura"); // graph_t *sub; +UNSUPPORTED("73bera1w406yjis65313aefau"); // if (is_a_cluster(g) && is_a_strong_cluster(g)) { +UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("cpkj2qkslx3blfoouey105509"); // if (agfstin(g, n) == 0) { +UNSUPPORTED("eqsuud7jsawkoiswwrrru1r3a"); // rep = ND_rep(find(n)); +UNSUPPORTED("4fbgaoqhx6tmezixpndizn8ee"); // if (!top) top = makeXnode(Xg,"\177top"); +UNSUPPORTED("bp6fj85jbfmup51iezb1m0ceo"); // agedge(Xg, top, rep, 0, 1); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("f5bjshz39kvzzthd7dqnbg81p"); // if (agfstout(g, n) == 0) { +UNSUPPORTED("eqsuud7jsawkoiswwrrru1r3a"); // rep = ND_rep(find(n)); +UNSUPPORTED("46t01tbbri501pur6cw0iwvs3"); // if (!bot) bot = makeXnode(Xg,"\177bot"); +UNSUPPORTED("5hobrjtzylmppobf8pdnq7rhk"); // agedge(Xg, rep, bot, 0, 1); +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("6qtb53kac7myad1p5cy3wf89i"); // if (top && bot) { +UNSUPPORTED("2ydmagof3r394ooo3v0twq5us"); // e = agedge(Xg, top, bot, 0, 1); +UNSUPPORTED("5s7xl2rvkq0dxxapwrubcmv9p"); // merge(e, 0, 1000); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("bkafc0cyfhu7g619r30g2vtmg"); // for (sub = agfstsubg(g); sub; sub = agnxtsubg(sub)) +UNSUPPORTED("br6bnlza0f68fwkd0sbsfznv5"); // compile_clusters(sub, Xg, top, bot); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 93ycqhupenif7m6n70yj2rptv +// static void reverse_edge2(graph_t * g, edge_t * e) +public static Object reverse_edge2(Object... arg) { +UNSUPPORTED("aa57ihhjujmpk9d1fjnh7uhn2"); // static void reverse_edge2(graph_t * g, edge_t * e) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("32j70piql6r327tbseq7o0k28"); // edge_t *rev; +UNSUPPORTED("ankp6nch7e9a18lqb2heot7yf"); // rev = (agedge(g,aghead(e),agtail(e),NULL,0)); +UNSUPPORTED("8c5hijvd5kr4lynpc8zoa0b9l"); // if (!rev) +UNSUPPORTED("3tf0rz74jsukbjti74suklmrr"); // rev = agedge(g, aghead(e), agtail(e), 0, 1); +UNSUPPORTED("a37ttwpda0n66ej1agvpbx9u"); // merge(rev, ED_minlen(e), ED_weight(e)); +UNSUPPORTED("ae7ymr0zymf63zpp3vzny1kw5"); // agdelete(g, e); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 75994nd7ifrh2xjk0eei7kj04 +// static void dfs(graph_t * g, node_t * v) +public static Object dfs(Object... arg) { +UNSUPPORTED("e728nuv7n4wyffryp1y6ny8no"); // static void dfs(graph_t * g, node_t * v) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("9cx417bj13sr8qn5zfj0zllwm"); // node_t *w; +UNSUPPORTED("701du899u3x4bjilnoar3a2me"); // if (ND_mark(v)) +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("3dxrqgsmycugkp3qprexbuawx"); // ND_mark(v) = NOT(0); +UNSUPPORTED("9z9a3g70rwq874kmknu0re0w0"); // ND_onstack(v) = NOT(0); +UNSUPPORTED("3twcq4i177ymcmm9hj6l996fr"); // for (e = agfstout(g, v); e; e = f) { +UNSUPPORTED("9oaziib9dhmc3xyk6ku5rco5a"); // f = agnxtout(g, e); +UNSUPPORTED("bqi3fu38n0i7mblfl3ycwdjuo"); // w = aghead(e); +UNSUPPORTED("1pq8rawujka41xkc0ujz0c4jl"); // if (ND_onstack(w)) +UNSUPPORTED("cxzlqoajcjsygpeg1218t5uh8"); // reverse_edge2(g, e); +UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else { +UNSUPPORTED("1w7s47988wvu89n176ee6lnii"); // if (ND_mark(w) == 0) +UNSUPPORTED("d5xmvav6dfdviu7ikabr84w6g"); // dfs(g, w); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("8o0qmsv6vkvey8j3nrtn0z3nd"); // ND_onstack(v) = 0; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dt90swbhv55qox6i9anmtxctb +// static void break_cycles(graph_t * g) +public static Object break_cycles(Object... arg) { +UNSUPPORTED("d7jjxsr59cimfe921b021ndni"); // static void break_cycles(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("3hbdxz1mh0xcb0h1e1gea41u4"); // ND_mark(n) = ND_onstack(n) = 0; +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("15bqemmbeo0l42s4hi394weuz"); // dfs(g, n); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8wnczo1mkpxdobt1qmszr6m9f +// static void setMinMax (graph_t* g, int doRoot) +public static Object setMinMax(Object... arg) { +UNSUPPORTED("5hvfkvu5sx7btm870992ll8rq"); // static void setMinMax (graph_t* g, int doRoot) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("1cpavh3irbeilfgefcbzvnl04"); // int c, v; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("eygm2jbvlhvevem9cgvzdsnoi"); // node_t* leader; +UNSUPPORTED("8lepc7wxus3ce9jmpjg54nxtw"); // /* Do child clusters */ +UNSUPPORTED("7z5fb6iyowsosn1hiz7opeoc6"); // for (c = 1; c <= GD_n_cluster(g); c++) +UNSUPPORTED("8r4qwge4bz0777mdq5rt0ojei"); // setMinMax(GD_clust(g)[c], 0); +UNSUPPORTED("3x63fs1jyz7xhzx9gygufh7wx"); // if (!GD_parent(g) && !doRoot) // root graph +UNSUPPORTED("a7fgam0j0jm7bar0mblsv3no4"); // return; +UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; +UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("5wsvwyjckf81tdlqonfb9nvhu"); // v = ND_rank(n); +UNSUPPORTED("bbcqt8euig2s31zz814pp52cw"); // if (GD_maxrank(g) < v) +UNSUPPORTED("3cfkrpa6pt2hni0tkp45ybvtz"); // GD_maxrank(g) = v; +UNSUPPORTED("3vjkf11cl59z0q8i5mfju17se"); // if (GD_minrank(g) > v) { +UNSUPPORTED("cze1fj82fd8cmalgawkse3gy"); // GD_minrank(g) = v; +UNSUPPORTED("73jlqlf2bn3kx7i020menpfcw"); // leader = n; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("5j1zsofmtglx1esxwbstti1un"); // GD_leader(g) = leader; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1rsds60zu7vl5g6sqr3ielup6 +// static void readout_levels(graph_t * g, graph_t * Xg, int ncc) +public static Object readout_levels(Object... arg) { +UNSUPPORTED("5rkflwuoyx87w4zl80k9x22hy"); // static void readout_levels(graph_t * g, graph_t * Xg, int ncc) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("889z71siph20icfcbycjqnicp"); // node_t *xn; +UNSUPPORTED("a76n98ruj81c10y11ge1t5f71"); // int* minrk = NULL; +UNSUPPORTED("8kdgedl9jvch9df0ltm68vfas"); // int doRoot = 0; +UNSUPPORTED("65ovv0jsp2kemyp7179cotrqh"); // GD_minrank(g) = MAXSHORT; +UNSUPPORTED("4rx9wnlw0uumqfzcjtyg9rpfl"); // GD_maxrank(g) = -1; +UNSUPPORTED("almasgzi7eeks0c5qj1cne0ma"); // if (ncc > 1) { +UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i; +UNSUPPORTED("dl79ga1rb2mw8udgcp9s69msx"); // minrk = (int*)zmalloc((ncc+1)*sizeof(int)); +UNSUPPORTED("2e6gemf3dl8erdtw782hcarc0"); // for (i = 1; i <= ncc; i++) +UNSUPPORTED("dd010jlvkjz1z7fowihz8s25o"); // minrk[i] = MAXSHORT; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("dfofew00g6pxf2nxt4l881l0i"); // xn = ND_rep(find(n)); +UNSUPPORTED("qp65iwqtnpliswz9lpihtuzc"); // ND_rank(n) = ND_rank(xn); +UNSUPPORTED("68vv0lam9vxeuk3fg60ad5w6g"); // if (GD_maxrank(g) < ND_rank(n)) +UNSUPPORTED("2v65dy95gqvsnppoelwwl8ayh"); // GD_maxrank(g) = ND_rank(n); +UNSUPPORTED("3ozq6tqfxcegom34qkyrrxnfg"); // if (GD_minrank(g) > ND_rank(n)) +UNSUPPORTED("duyud2jy9uf1rbcis84c3lsj6"); // GD_minrank(g) = ND_rank(n); +UNSUPPORTED("5hf6jaqj5exe9r41fzbjl28ys"); // if (minrk) { +UNSUPPORTED("2m02fq9wavpk0rfm07klg50p0"); // ND_hops(n) = ND_hops(xn); +UNSUPPORTED("1kpcg7olwm9sb9fw0cw9xov8p"); // minrk[ND_hops(n)] = MIN(minrk[ND_hops(n)],ND_rank(n)); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("6grm8jag5924kjntwhi98yt6v"); // if (minrk) { +UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("1xy7cyvcmd5jh134wfd4hkd73"); // ND_rank(n) -= minrk[ND_hops(n)]; +UNSUPPORTED("3h50jqntcutttxjjqk9e7qrp9"); // /* Non-uniform shifting, so recompute maxrank/minrank of root graph */ +UNSUPPORTED("7cxmg4tvzh3us2wx1hpur4ify"); // doRoot = 1; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("19s4z0qdne7jghr6qco9pewkb"); // else if (GD_minrank(g) > 0) { /* should never happen */ +UNSUPPORTED("ekheljktcnka7fv7odg7w4w0b"); // int delta = GD_minrank(g); +UNSUPPORTED("eg21iwn9eqyjsoisl58nl8i36"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("6xuxsgiblao234kr6ifzzngj"); // ND_rank(n) -= delta; +UNSUPPORTED("205yra8usg0d60ou7fdef8sb8"); // GD_minrank(g) -= delta; +UNSUPPORTED("1l0r03kgtm5wfa9w1tb2o6pst"); // GD_maxrank(g) -= delta; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("bfa83r7gfvl4so45ea11h6hs8"); // setMinMax(g, doRoot); +UNSUPPORTED("1oeld9qf035o8gav2314scxai"); // /* release fastgraph memory from Xg */ +UNSUPPORTED("4uue9kqy9xt1y7qinhilyp73p"); // for (n = agfstnode(Xg); n; n = agnxtnode(Xg, n)) { +UNSUPPORTED("6uowedfybay0zqxujx4izx5eb"); // free_list(ND_in(n)); +UNSUPPORTED("9ma0k3ktcua915egahxrgo1f"); // free_list(ND_out(n)); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("13jrnqbzc7n4ujm1kc140syrh"); // free(ND_alg(agfstnode(g))); +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("6acp2mmds4i0gjn21ospjdm1i"); // ND_alg(n) = NULL; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("xlaantr4lfd0cf3p6fhyfjii"); // if (minrk) +UNSUPPORTED("2quf4kce4g997p8lptbe0s678"); // free (minrk); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6wyn9t7y4rni0tldyaap4zsg4 +// static void dfscc(graph_t * g, node_t * n, int cc) +public static Object dfscc(Object... arg) { +UNSUPPORTED("9rlus4sokq2q7mrelfhcyeq9t"); // static void dfscc(graph_t * g, node_t * n, int cc) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("6xj79bn6cjnne89udj4eccjbq"); // if (ND_hops(n) == 0) { +UNSUPPORTED("2ug68j3zfpl1hhipj43mlacw4"); // ND_hops(n) = cc; +UNSUPPORTED("8gbd6b2ssf51om8neirzzr6rw"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) +UNSUPPORTED("1petrc5reriuz99j26l6kvk9g"); // dfscc(g, aghead(e), cc); +UNSUPPORTED("c9yz11pm5cux1tvh62xx2kwle"); // for (e = agfstin(g, n); e; e = agnxtin(g, e)) +UNSUPPORTED("4gm4tqnmznd5xu1jmel9vdwu0"); // dfscc(g, agtail(e), cc); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4n4sn2k04eosjc6v3amau8l89 +// static int connect_components(graph_t * g) +public static Object connect_components(Object... arg) { +UNSUPPORTED("93546dpzyvd2lgopztw3kyszh"); // static int connect_components(graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("3zjt2iwedrvoc4tjrhcgrj2kp"); // int cc = 0; +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("5yepsj8ho954ywprktudr66m8"); // ND_hops(n) = 0; +UNSUPPORTED("16hw9gw0dz2w7mrtba0eoqrdi"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) +UNSUPPORTED("12mke9q9ufte7dz3juk9xj03o"); // if (ND_hops(n) == 0) +UNSUPPORTED("1hzimiukrcikr5ja8r8jsy6mg"); // dfscc(g, n, ++cc); +UNSUPPORTED("16hhes6efkztzuw8ooeyr7duq"); // if (cc > 1) { +UNSUPPORTED("aen3uv1t10s8e76c30y8j0051"); // node_t *root = makeXnode(g, "\177root"); +UNSUPPORTED("bzbr2vqual2twjcg2p2sffsd4"); // int ncc = 1; +UNSUPPORTED("attp4bsjqe99xnhi7lr7pszar"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("eci2j6e8io07039308zl0no88"); // if (ND_hops(n) == ncc) { +UNSUPPORTED("7rj8qzz8d2u85i7gf6c4rs62m"); // (void) agedge(g, root, n, 0, 1); +UNSUPPORTED("cgm8ehtyoyn2ybwnrxvfx1cv8"); // ncc++; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("95z6nz9mlol4p31l239u0zyz1"); // return (cc); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lj0r4q3ulap7ly9cvvqn3d0t +// static void add_fast_edges (graph_t * g) +public static Object add_fast_edges(Object... arg) { +UNSUPPORTED("9od2j2a8s9ki669jghjqrkcym"); // static void add_fast_edges (graph_t * g) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cjx5v6hayed3q8eeub1cggqca"); // node_t *n; +UNSUPPORTED("5gypxs09iuryx5a2eho9lgdcp"); // edge_t *e; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("e20lm4qtccvgsfq5fzjv6sjyl"); // for (e = agfstout(g, n); e; e = agnxtout(g, e)) { +UNSUPPORTED("1xm961cuv38vb1rckbyfsk5a8"); // elist_append(e, ND_out(n)); +UNSUPPORTED("30covjl73nxramgd8lw1apbkm"); // elist_append(e, ND_in(aghead(e))); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2xyhunzw903dytfpyy63oznhz +// static void my_init_graph(Agraph_t *g, Agobj_t *graph, void *arg) +public static Object my_init_graph(Object... arg) { +UNSUPPORTED("3s5gmr0i7qaf8sa79h9ek2t42"); // static void my_init_graph(Agraph_t *g, Agobj_t *graph, void *arg) +UNSUPPORTED("12ubgsqsc8d2oeobshclx2e9m"); // { int *sz = arg; agbindrec(graph,"level graph rec",sz[0],NOT(0)); } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vibj3ycvfkl07m1a2dzr3qf3 +// static void my_init_node(Agraph_t *g, Agobj_t *node, void *arg) +public static Object my_init_node(Object... arg) { +UNSUPPORTED("448m4h3oktm1kylrq3iss782r"); // static void my_init_node(Agraph_t *g, Agobj_t *node, void *arg) +UNSUPPORTED("3mooa3mwczxhc97acdygow0sx"); // { int *sz = arg; agbindrec(node,"level node rec",sz[1],NOT(0)); } + +throw new UnsupportedOperationException(); +} + + + + +//3 avor9syqevkn2jo4yf8whbg5f +// static void my_init_edge(Agraph_t *g, Agobj_t *edge, void *arg) +public static Object my_init_edge(Object... arg) { +UNSUPPORTED("bo6poh3fcfvu02sod3dyzjhsi"); // static void my_init_edge(Agraph_t *g, Agobj_t *edge, void *arg) +UNSUPPORTED("4f0jw3wys20zimucjor8qrhzg"); // { int *sz = arg; agbindrec(edge,"level edge rec",sz[2],NOT(0)); } + +throw new UnsupportedOperationException(); +} + + +//1 46nx7przjp7fn42o28hqdaj9k +// static Agcbdisc_t mydisc = + + +//1 9quqxw3oujl7u6bymimr5be7t +// int infosizes[] = + + + + +//3 590k5zi3mrpwbc3lib0w3rmr2 +// void dot2_rank(graph_t * g, aspect_t* asp) +public static Object dot2_rank(Object... arg) { +UNSUPPORTED("d8gu9ua6rerpv9vz9ctco1ca2"); // void dot2_rank(graph_t * g, aspect_t* asp) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("23k65agnd27tv4ix9teds9e2t"); // int ssize; +UNSUPPORTED("dx1unsp79t4ji8dh8idt48jrc"); // int ncc, maxiter = INT_MAX; +UNSUPPORTED("8yytudftst76763qgnjebkzhm"); // char *s; +UNSUPPORTED("dxlxz9md3d6r12wog4x5sc7td"); // graph_t *Xg; +UNSUPPORTED("hibhvgkp511r6u6ips8yb0un"); // Last_node = NULL; +UNSUPPORTED("ey4p0fjtw4ac18jh9svmzjs23"); // Xg = agopen("level assignment constraints", Agstrictdirected, 0); +UNSUPPORTED("e4j7z7nfe33svydzyn4w6abcy"); // agbindrec(Xg,"level graph rec",sizeof(Agraphinfo_t),NOT(0)); +UNSUPPORTED("4j4bkw2k5v7xlf7ycqcrz8qip"); // agpushdisc(Xg,&mydisc,infosizes); +UNSUPPORTED("d4pjn5ef0ywzmhe2fshhm8bvn"); // edgelabel_ranks(g); +UNSUPPORTED("e0rdg08m66a12fiixgkjnyrbj"); // if ((s = agget(g, "nslimit1"))) +UNSUPPORTED("9tp2zk1tsr4ce9rwsr0is9u3o"); // maxiter = atof(s) * agnnodes(g); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("dapt7hf1vwq593la2oydyrv27"); // maxiter = INT_MAX; +UNSUPPORTED("62k95fm4s1z2wzcyg28ir0x7u"); // compile_samerank(g, 0); +UNSUPPORTED("bh9imh5owlj1c9ad7mime392x"); // compile_nodes(g, Xg); +UNSUPPORTED("3kxtahvovojtzi6qqnrricpoo"); // compile_edges(g, Xg); +UNSUPPORTED("9twf7u3r2hzeic9w0gmvh10bc"); // compile_clusters(g, Xg, 0, 0); +UNSUPPORTED("cwrov5g30logh4g9omvkblonh"); // break_cycles(Xg); +UNSUPPORTED("3ficrpbhiwichejg6n1hshz7k"); // ncc = connect_components(Xg); +UNSUPPORTED("9x72se4xuqwfv27jlqpmivrwb"); // add_fast_edges (Xg); +UNSUPPORTED("2yazmwrpb1ni51wuck3ruvi2j"); // if (asp) { +UNSUPPORTED("8ow3lzc6gh107g9bcn4szm7hj"); // init_UF_size(Xg); +UNSUPPORTED("9503vlimf1i2zv76ua88ooepc"); // initEdgeTypes(Xg); +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("b65fc1791mzxccp9zzxi8vk12"); // if ((s = agget(g, "searchsize"))) +UNSUPPORTED("aqd144wenl3zq15bwc41u9aha"); // ssize = atoi(s); +UNSUPPORTED("div10atae09n36x269sl208r1"); // else +UNSUPPORTED("2n4z8w1w3il45lik0kraspkud"); // ssize = -1; +UNSUPPORTED("aotd35u0hficqt6hlkw8xof03"); // rank2(Xg, 1, maxiter, ssize); +UNSUPPORTED("4x9mvgxbdou6xj4n98rwzucgi"); // /* fastgr(Xg); */ +UNSUPPORTED("8un6x92pzddrzsnq8y95af4m6"); // readout_levels(g, Xg, ncc); +UNSUPPORTED("6rs6sp7mefzzbf02kfmvycnaq"); // agclose(Xg); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} diff --git a/src/gen/lib/dotgen/sameport__c.java b/src/gen/lib/dotgen/sameport__c.java new file mode 100644 index 0000000..63b20dc --- /dev/null +++ b/src/gen/lib/dotgen/sameport__c.java @@ -0,0 +1,896 @@ +/* ======================================================================== + * 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-2017, 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.dotgen; +import static gen.lib.cgraph.attr__c.agattr; +import static smetana.core.JUtilsDebug.ENTERING; +import static smetana.core.JUtilsDebug.LEAVING; +import static smetana.core.Macro.AGEDGE; +import static smetana.core.Macro.N; +import static smetana.core.Macro.UNSUPPORTED; +import h.Agedge_s; +import h.Agnode_s; +import h.Agraph_s; +import h.boxf; +import h.pointf; +import smetana.core.CString; +import smetana.core.JUtils; +import smetana.core.Z; +import smetana.core.__struct__; + +public class sameport__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 nye6dsi1twkbddwo9iffca1j +// extern char *Version + + +//1 65mu6k7h7lb7bx14jpiw7iyxr +// extern char **Files + + +//1 2rpjdzsdyrvomf00zcs3u3dyn +// extern const char **Lib + + +//1 6d2f111lntd2rsdt4gswh5909 +// extern char *CmdName + + +//1 a0ltq04fpeg83soa05a2fkwb2 +// extern char *specificFlags + + +//1 1uv30qeqq2jh6uznlr4dziv0y +// extern char *specificItems + + +//1 7i4hkvngxe3x7lmg5h6b3t9g3 +// extern char *Gvfilepath + + +//1 9jp96pa73kseya3w6sulxzok6 +// extern char *Gvimagepath + + +//1 40ylumfu7mrvawwf4v2asvtwk +// extern unsigned char Verbose + + +//1 93st8awjy1z0h07n28qycbaka +// extern unsigned char Reduce + + +//1 f2vs67ts992erf8onwfglurzp +// extern int MemTest + + +//1 c6f8whijgjwwagjigmxlwz3gb +// extern char *HTTPServerEnVar + + +//1 cp4hzj7p87m7arw776d3bt7aj +// extern char *Output_file_name + + +//1 a3rqagofsgraie6mx0krzkgsy +// extern int graphviz_errors + + +//1 5up05203r4kxvjn1m4njcgq5x +// extern int Nop + + +//1 umig46cco431x14b3kosde2t +// extern double PSinputscale + + +//1 52bj6v8fqz39khasobljfukk9 +// extern int Syntax_errors + + +//1 9ekf2ina8fsjj6y6i0an6somj +// extern int Show_cnt + + +//1 38di5qi3nkxkq65onyvconk3r +// extern char** Show_boxes + + +//1 6ri6iu712m8mpc7t2670etpcw +// extern int CL_type + + +//1 bomxiw3gy0cgd1ydqtek7fpxr +// extern unsigned char Concentrate + + +//1 cqy3gqgcq8empdrbnrhn84058 +// extern double Epsilon + + +//1 64slegfoouqeg0rmbyjrm8wgr +// extern int MaxIter + + +//1 88wdinpnmfs4mab4aw62yb0bg +// extern int Ndim + + +//1 8bbad3ogcelqnnvo5br5s05gq +// extern int State + + +//1 17rnd8q45zclfn68qqst2vxxn +// extern int EdgeLabelsDone + + +//1 ymx1z4s8cznjifl2d9f9m8jr +// extern double Initial_dist + + +//1 a33bgl0c3uqb3trx419qulj1x +// extern double Damping + + +//1 d9lvrpjg1r0ojv40pod1xwk8n +// extern int Y_invert + + +//1 71efkfs77q5tq9ex6y0f4kanh +// extern int GvExitOnUsage + + +//1 4xy2dkdkv0acs2ue9eca8hh2e +// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin + + +//1 9js5gxgzr74eakgtfhnbws3t9 +// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle + + +//1 anqllp9sj7wo45w6bm11j8trn +// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth + + +//1 bh0z9puipqw7gymjd5h5b8s6i +// extern struct fdpParms_s* fdp_parms + + + + +//3 ciez0pfggxdljedzsbklq49f0 +// static inline point pointof(int x, int y) +public static Object pointof(Object... arg) { +UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x; +UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 c1s4k85p1cdfn176o3uryeros +// static inline pointf pointfof(double x, double y) +public static __struct__<pointf> pointfof(double x, double y) { +// WARNING!! STRUCT +return pointfof_w_(x, y).copy(); +} +private static __struct__<pointf> pointfof_w_(double x, double y) { +ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", x); + r.setDouble("y", y); + return r; +} finally { +LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof"); +} +} + + + + +//3 7cufnfitrh935ew093mw0i4b7 +// static inline box boxof(int llx, int lly, int urx, int ury) +public static Object boxof(Object... arg) { +UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly; +UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury; +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 1vvsta5i8of59frav6uymguav +// static inline boxf boxfof(double llx, double lly, double urx, double ury) +public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) { +// WARNING!! STRUCT +return boxfof_w_(llx, lly, urx, ury).copy(); +} +private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) { +ENTERING("1vvsta5i8of59frav6uymguav","boxfof"); +try { + final __struct__<boxf> b = JUtils.from(boxf.class); + b.getStruct("LL").setDouble("x", llx); + b.getStruct("LL").setDouble("y", lly); + b.getStruct("UR").setDouble("x", urx); + b.getStruct("UR").setDouble("y", ury); + return b; +} finally { +LEAVING("1vvsta5i8of59frav6uymguav","boxfof"); +} +} + + + + +//3 1n5xl70wxuabyf97mclvilsm6 +// static inline point add_point(point p, point q) +public static Object add_point(Object... arg) { +UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x; +UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 arrsbik9b5tnfcbzsm8gr2chx +// static inline pointf add_pointf(pointf p, pointf q) +public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) { +// WARNING!! STRUCT +return add_pointf_w_(p.copy(), q.copy()).copy(); +} +private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) { +ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +try { + final __struct__<pointf> r = JUtils.from(pointf.class); + r.setDouble("x", p.getDouble("x") + q.getDouble("x")); + r.setDouble("y", p.getDouble("y") + q.getDouble("y")); + return r; +} finally { +LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf"); +} +} + + + + +//3 ai2dprak5y6obdsflguh5qbd7 +// static inline point sub_point(point p, point q) +public static Object sub_point(Object... arg) { +UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 16f6pyogcv3j7n2p0n8giqqgh +// static inline pointf sub_pointf(pointf p, pointf q) +public static Object sub_pointf(Object... arg) { +UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x; +UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9k50jgrhc4f9824vf8ony74rw +// static inline point mid_point(point p, point q) +public static Object mid_point(Object... arg) { +UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2; +UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 59c4f7im0ftyowhnzzq2v9o1x +// static inline pointf mid_pointf(pointf p, pointf q) +public static Object mid_pointf(Object... arg) { +UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.; +UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 5r18p38gisvcx3zsvbb9saixx +// static inline pointf interpolate_pointf(double t, pointf p, pointf q) +public static Object interpolate_pointf(Object... arg) { +UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r; +UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x); +UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y); +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bxzrv2ghq04qk5cbyy68s4mol +// static inline point exch_xy(point p) +public static Object exch_xy(Object... arg) { +UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 9lt3e03tac6h6sydljrcws8fd +// static inline pointf exch_xyf(pointf p) +public static Object exch_xyf(Object... arg) { +UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8l9qhieokthntzdorlu5zn29b +// static inline box box_bb(box b0, box b1) +public static Object box_bb(Object... arg) { +UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 clws9h3bbjm0lw3hexf8nl4c4 +// static inline boxf boxf_bb(boxf b0, boxf b1) +public static Object boxf_bb(Object... arg) { +UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x); +UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y); +UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x); +UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 bit6ycxo1iqd2al92y8gkzlvb +// static inline box box_intersect(box b0, box b1) +public static Object box_intersect(Object... arg) { +UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8gfybie7k6pgb3o1a6llgpwng +// static inline boxf boxf_intersect(boxf b0, boxf b1) +public static Object boxf_intersect(Object... arg) { +UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b; +UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x); +UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y); +UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x); +UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y); +UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 7z8j2quq65govaaejrz7b4cvb +// static inline int box_overlap(box b0, box b1) +public static Object box_overlap(Object... arg) { +UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4z0suuut2acsay5m8mg9dqjdu +// static inline int boxf_overlap(boxf b0, boxf b1) +public static Object boxf_overlap(Object... arg) { +UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 dd34swz5rmdgu3a2np2a4h1dy +// static inline int box_contains(box b0, box b1) +public static Object box_contains(Object... arg) { +UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 8laj1bspbu2i1cjd9upr7xt32 +// static inline int boxf_contains(boxf b0, boxf b1) +public static Object boxf_contains(Object... arg) { +UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1); +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 4wf5swkz24xx51ja2dynbycu1 +// static inline pointf perp (pointf p) +public static Object perp(Object... arg) { +UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y; +UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 6dtlpzv4mvgzb9o0b252yweuv +// static inline pointf scale (double c, pointf p) +public static Object scale(Object... arg) { +UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p) +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r; +UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x; +UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y; +UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 eu2yvovb9xx4rzic3gllij2bv +// void dot_sameports(graph_t * g) +public static void dot_sameports(Agraph_s g) { +ENTERING("eu2yvovb9xx4rzic3gllij2bv","dot_sameports"); +try { + Agnode_s n; + Agedge_s e; + CString id; + //same_t samehead[5]; + //same_t sametail[5]; + int n_samehead; /* number of same_t groups on current node */ + int n_sametail; /* number of same_t groups on current node */ + int i; + Z.z().E_samehead = agattr(g, AGEDGE, new CString("samehead"),null); + Z.z().E_sametail = agattr(g, AGEDGE, new CString("sametail"),null); + if (N(Z.z().E_samehead!=null || Z.z().E_sametail!=null)) + return; +UNSUPPORTED("44thr6ep72jsj3fksjiwdx3yr"); // for (n = agfstnode(g); n; n = agnxtnode(g, n)) { +UNSUPPORTED("4roxmr5lxkjz6gn1j9mndurq2"); // n_samehead = n_sametail = 0; +UNSUPPORTED("8oxob1qbbkbjh0jjcogk42jfl"); // for (e = agfstedge(g, n); e; e = agnxtedge(g, e, n)) { +UNSUPPORTED("4gy7rakqurxvound05crezka2"); // if (aghead(e) == agtail(e)) continue; /* Don't support same* for loops */ +UNSUPPORTED("2r5fkddp1ey0fvpok2scgkk99"); // if (aghead(e) == n && E_samehead && +UNSUPPORTED("d38ofiemhq37ykyauh9wync84"); // (id = agxget(e, E_samehead))[0]) +UNSUPPORTED("18y7dy98psh7ultlx0jugsfu2"); // n_samehead = sameedge(samehead, n_samehead, n, e, id); +UNSUPPORTED("5snv0fee5roi91irdwv8x51xi"); // else if (agtail(e) == n && E_sametail && +UNSUPPORTED("8xvjbvzldkn1yksprzfexgsjs"); // (id = agxget(e, E_sametail))[0]) +UNSUPPORTED("cdn1fgq1pke9ekyar2b4r6e91"); // n_sametail = sameedge(sametail, n_sametail, n, e, id); +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("c96gtgvp5uw8ktp389l2s9l4u"); // for (i = 0; i < n_samehead; i++) { +UNSUPPORTED("b2s9feywib1q9pxw4h31yz6dk"); // if (samehead[i].l.size > 1) +UNSUPPORTED("1xvsmwfz2hihjki8tsqiaa1g8"); // sameport(n, &samehead[i].l, samehead[i].arr_len); +UNSUPPORTED("cpzvkkchr60qet357b9gg1e5q"); // free_list(samehead[i].l); +UNSUPPORTED("6cnsuklvjftdyhzat6za4qggi"); // /* I sure hope I don't need to free the char* id */ +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("9ktz8j6cseb5w7jkfhrj5r19t"); // for (i = 0; i < n_sametail; i++) { +UNSUPPORTED("5vcqm1irqrqcg4f6ldrqkikq8"); // if (sametail[i].l.size > 1) +UNSUPPORTED("dcjzqns8bm1o766uqi8dy72qf"); // sameport(n, &sametail[i].l, sametail[i].arr_len); +UNSUPPORTED("13a7frulpyheo0h4ajbfja7ph"); // free_list(sametail[i].l); +UNSUPPORTED("6cnsuklvjftdyhzat6za4qggi"); // /* I sure hope I don't need to free the char* id */ +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} finally { +LEAVING("eu2yvovb9xx4rzic3gllij2bv","dot_sameports"); +} +} + + + + +//3 e6phoefj4ujntgmpiclbnmliw +// static int sameedge(same_t * same, int n_same, node_t * n, edge_t * e, char *id) +public static Object sameedge(Object... arg) { +UNSUPPORTED("4pviw1spiyvhdz8yvl4ho6qkx"); // static int sameedge(same_t * same, int n_same, node_t * n, edge_t * e, char *id) +UNSUPPORTED("bz7wamuuo5855unp564487v13"); // /* register E in the SAME structure of N under ID. Uses static int N_SAME */ +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("ddmbnep3k060w2rgslisky5vw"); // int i, sflag, eflag, flag; +UNSUPPORTED("4yhtj0buzrukmv0lwrz77s5oa"); // for (i = 0; i < n_same; i++) +UNSUPPORTED("6htdinsa3h8aamp1e6pvd6ig5"); // if ((*(same[i].id)==*(id)&&!strcmp(same[i].id,id))) { +UNSUPPORTED("bqrcn2qjykhnd6fuwneng85h"); // elist_append(e, same[i].l); +UNSUPPORTED("g5anfkdhikcxt42clvstq6hm"); // goto set_arrow; +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("8ac5s7v71vxuj2d2r4t989b1c"); // if (++n_same > 5) { +UNSUPPORTED("c29filv0jivh50blpbuqjk5ib"); // n_same--; +UNSUPPORTED("3uf43hfdusyzm1vp3dq12qu29"); // agerr(AGERR, "too many (> %d) same{head,tail} groups for node %s\n", +UNSUPPORTED("ciwytw61x3j4anugbarxaa7m"); // 5, agnameof(n)); +UNSUPPORTED("3lrnrroeosc48ilq0azgtzyna"); // return n_same; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("36d7os443e3k5gf7g7zvi3vfs"); // alloc_elist(1, same[i].l); +UNSUPPORTED("3s0n702bprlxue4xtghqv3nad"); // elist_fastapp(e, same[i].l); +UNSUPPORTED("cwxcw0cnsxpwkd7l94pmw1dfg"); // same[i].id = id; +UNSUPPORTED("4y2b9aw2a57zud1ncpiw2fihn"); // same[i].n_arr = 0; +UNSUPPORTED("2lemlhm6qdqemg83e6xwyzd01"); // same[i].arr_len = 0; +UNSUPPORTED("3k68ve2sycumnr4ncfzymgyli"); // set_arrow: +UNSUPPORTED("4028w60fcyzgcb6qh4kf8090j"); // arrow_flags(e, &sflag, &eflag); +UNSUPPORTED("1rkfoax4tin2ccbtpc8w1tnpv"); // if ((flag = aghead(e) == n ? eflag : sflag)) +UNSUPPORTED("bhh3lvo0knve8fiod7js8o8oy"); // same[i].arr_len = +UNSUPPORTED("b7yh5042d5o8u6iso9bm39glf"); // /* only consider arrows if there's exactly one arrow */ +UNSUPPORTED("5r1jxkep2wvpcpjz1e6n0dxo7"); // (++same[i].n_arr == 1) ? arrow_length(e, flag) : 0; +UNSUPPORTED("59a2z18u4tje6r407a6psdqy8"); // return n_same; +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + + + +//3 2mnqx0mihpyo94rckzyvqd3ha +// static void sameport(node_t * u, elist * l, double arr_len) +public static Object sameport(Object... arg) { +UNSUPPORTED("5h4o73bwixguohs97owrtr8ef"); // static void sameport(node_t * u, elist * l, double arr_len) +UNSUPPORTED("d5nznmmgnjszlfjdd61kps3jx"); // /* make all edges in L share the same port on U. The port is placed on the +UNSUPPORTED("bo9mbi1sf1ycc8zr8zucow3sz"); // node boundary and the average angle between the edges. FIXME: this assumes +UNSUPPORTED("4jpc10q4iiglyfgqc4t0rvtce"); // naively that the edges are straight lines, which is wrong if they are long. +UNSUPPORTED("wh2ex8xlk21eu1y33pacj3v2"); // In that case something like concentration could be done. +UNSUPPORTED("4c9tqu2byiozzo2mzc1fbvda9"); // An arr_port is also computed that's ARR_LEN away from the node boundary. +UNSUPPORTED("atdcc5pbds8mqzssaq6v0r6rw"); // It's used for edges that don't themselves have an arrow. +UNSUPPORTED("bnetqzovnscxile7ao44kc0qd"); // */ +UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // { +UNSUPPORTED("aigogf44ojtcesuy4xs7inqbn"); // node_t *v; +UNSUPPORTED("9b48a157azcrz2ihzqehhpsvs"); // edge_t *e, *f; +UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i; +UNSUPPORTED("e39yybz8f8dk5960upp4t7e85"); // double x = 0, y = 0, x1, y1, x2, y2, r; +UNSUPPORTED("cmzlbdlia0ky3ulmkmhw731vo"); // port prt; +UNSUPPORTED("lnwbe9uftcv8uw5w72tyaim6"); // int sflag, eflag; +UNSUPPORTED("3s75qjxnr416bs4xwntk5wjey"); // /* Compute the direction vector (x,y) of the average direction. We compute +UNSUPPORTED("168uvy6red5coj19cfwdg74w4"); // with direction vectors instead of angles because else we have to first +UNSUPPORTED("byd7rdw7ogomu0h8xa3cngptx"); // bring the angles within PI of each other. av(a,b)!=av(a,b+2*PI) */ +UNSUPPORTED("7qdtxp882tja3q4pjpimsdpz2"); // for (i = 0; i < l->size; i++) { +UNSUPPORTED("9a2w9ypg4zbrmt9mwxerl9ku9"); // e = l->list[i]; +UNSUPPORTED("dmcddmsjj52vhbo0p72d20r7x"); // if (aghead(e) == u) +UNSUPPORTED("4gg5n60ynsciy3te5bmvsjdu0"); // v = agtail(e); +UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else +UNSUPPORTED("39bh91n8ucstjr8vmtx3ynvcd"); // v = aghead(e); +UNSUPPORTED("3bzvithkkr721ghsi2ljswz41"); // x1 = ND_coord(v).x - ND_coord(u).x; +UNSUPPORTED("2b884aalfpupcphtkwlw7fh1p"); // y1 = ND_coord(v).y - ND_coord(u).y; +UNSUPPORTED("2bo8vt6om92qnyd8ajsur7839"); // r = hypot(x1, y1); +UNSUPPORTED("8ldeax6x9cgrmbfybuxbl5n3o"); // x += x1 / r; +UNSUPPORTED("lvaxvfnj6g12uz2apxvc32bt"); // y += y1 / r; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("a1mnn3lz9vym0mycdnjtnqt50"); // r = hypot(x, y); +UNSUPPORTED("en33l6y6hjb8cbouawh4qgny1"); // x /= r; +UNSUPPORTED("7ogy0bdt0ghq60m7dyzb48vku"); // y /= r; +UNSUPPORTED("1zwmby4z9dnptpyvedi7zqx1y"); // /* (x1,y1),(x2,y2) is a segment that must cross the node boundary */ +UNSUPPORTED("aezmu3kg51jsv6vuj8yl2vgx0"); // x1 = ND_coord(u).x; +UNSUPPORTED("b9lds1fhngov0656kxk71v6o"); // y1 = ND_coord(u).y; /* center of node */ +UNSUPPORTED("a47id67bq23txqyol6w89ohg8"); // r = MAX(ND_lw(u) + ND_rw(u), ND_ht(u) + GD_ranksep(agraphof(u))); /* far away */ +UNSUPPORTED("632ifec281b8hg0vql6w66fd0"); // x2 = x * r + ND_coord(u).x; +UNSUPPORTED("tpm4a8o4c87dctdvop70l3gg"); // y2 = y * r + ND_coord(u).y; +UNSUPPORTED("9axcwk1yl7elzq5ch7zzsg2b"); // { /* now move (x1,y1) to the node boundary */ +UNSUPPORTED("6qp76u7xiuyi81ocft3zna7rw"); // pointf curve[4]; /* bezier control points for a straight line */ +UNSUPPORTED("d2banip9m2nhni4tcg0ub95sb"); // curve[0].x = x1; +UNSUPPORTED("jy2q28s2gzpbigtocfoo6cy6"); // curve[0].y = y1; +UNSUPPORTED("90jm80vushtpjetfmrlks5tr6"); // curve[1].x = (2 * x1 + x2) / 3; +UNSUPPORTED("ah6xwuv1rqq311cmwhnrs4p7g"); // curve[1].y = (2 * y1 + y2) / 3; +UNSUPPORTED("5nzdtvblt406q4j887woceaso"); // curve[2].x = (2 * x2 + x1) / 3; +UNSUPPORTED("8ccq8nqc6cwcgqyrls16i5n1x"); // curve[2].y = (2 * y2 + y1) / 3; +UNSUPPORTED("9e73i3zoi98jcem56ovsw95mw"); // curve[3].x = x2; +UNSUPPORTED("bt1idr0p5w37ehw0ca5qvh2d0"); // curve[3].y = y2; +UNSUPPORTED("4hvdnsqv9gvg89n449ivew89w"); // shape_clip(u, curve); +UNSUPPORTED("e8zqbvvz0hnmxynqrsi4tq6z9"); // x1 = curve[0].x - ND_coord(u).x; +UNSUPPORTED("10uhdsyhabakyucrrlkpxmy39"); // y1 = curve[0].y - ND_coord(u).y; +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("ftxzqcd66xy9t3i1shc08phg"); // /* compute PORT on the boundary */ +UNSUPPORTED("egqrua11zla4ilqnv8fe2rqa9"); // prt.p.x = ROUND(x1); +UNSUPPORTED("3j43h2ta90714rhr89dxd9bly"); // prt.p.y = ROUND(y1); +UNSUPPORTED("72f3ncaut57fflmrrrd7g625i"); // prt.bp = 0; +UNSUPPORTED("86dw0xu09q0vf963rwyhthsga"); // prt.order = +UNSUPPORTED("bi7e99txixk5vn16uz1ewze60"); // (256 * (ND_lw(u) + prt.p.x)) / (ND_lw(u) + ND_rw(u)); +UNSUPPORTED("2ssajop92yd2a8y22o22ea36z"); // prt.constrained = 0; +UNSUPPORTED("6oy9nbi9ensh5cuoda16glfkk"); // prt.defined = NOT(0); +UNSUPPORTED("9vfrhc8s3bav5vsioug70ec8a"); // prt.clip = 0; +UNSUPPORTED("58u5npq8vw06285kpx39zg9us"); // prt.dyna = 0; +UNSUPPORTED("26hzjlrn2f97g04rs41bxd6cp"); // prt.theta = 0; +UNSUPPORTED("6r9ivoxmq49o3gv1yto4zyvi3"); // prt.side = 0; +UNSUPPORTED("aujriwmmb49o2fxrmsjoedap6"); // prt.name = NULL; +UNSUPPORTED("3ff91qop4adzc4f4h1lnljqyp"); // /* assign one of the ports to every edge */ +UNSUPPORTED("7qdtxp882tja3q4pjpimsdpz2"); // for (i = 0; i < l->size; i++) { +UNSUPPORTED("9a2w9ypg4zbrmt9mwxerl9ku9"); // e = l->list[i]; +UNSUPPORTED("84n057olv326z2v8k45silocb"); // arrow_flags(e, &sflag, &eflag); +UNSUPPORTED("2csv6mfvww0031xz126km61c5"); // for (; e; e = ED_to_virt(e)) { /* assign to all virt edges of e */ +UNSUPPORTED("9rrwjg2l48y4n9w7ymrr9udrs"); // for (f = e; f; +UNSUPPORTED("cd9trmrmocvmp9gcd5yhpi8j2"); // f = ED_edge_type(f) == 1 && +UNSUPPORTED("c609sm2glgudtov2qxajroomq"); // ND_node_type(aghead(f)) == 1 && +UNSUPPORTED("ez0iln0wthfexsk2addlvf968"); // ND_out(aghead(f)).size == 1 ? +UNSUPPORTED("3c7kng7zq5tuk7q0g4368f83a"); // ND_out(aghead(f)).list[0] : NULL) { +UNSUPPORTED("au8chupq2urgaefasiz9q9p4"); // if (aghead(f) == u) +UNSUPPORTED("9n4w8egcjmjwmkgptavq9x8on"); // ED_head_port(f) = prt; +UNSUPPORTED("ckzw343313p1917g5yol8mget"); // if (agtail(f) == u) +UNSUPPORTED("es5btobfx5kd4ziscx7ym4kf7"); // ED_tail_port(f) = prt; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("9rrwjg2l48y4n9w7ymrr9udrs"); // for (f = e; f; +UNSUPPORTED("cd9trmrmocvmp9gcd5yhpi8j2"); // f = ED_edge_type(f) == 1 && +UNSUPPORTED("9po6nu7kgaeigs2afm08whv2o"); // ND_node_type(agtail(f)) == 1 && +UNSUPPORTED("49xjryc5nmnom413y2dy0v7gh"); // ND_in(agtail(f)).size == 1 ? +UNSUPPORTED("91kaqt4bbz94s6de4uf9wept7"); // ND_in(agtail(f)).list[0] : NULL) { +UNSUPPORTED("au8chupq2urgaefasiz9q9p4"); // if (aghead(f) == u) +UNSUPPORTED("9n4w8egcjmjwmkgptavq9x8on"); // ED_head_port(f) = prt; +UNSUPPORTED("ckzw343313p1917g5yol8mget"); // if (agtail(f) == u) +UNSUPPORTED("es5btobfx5kd4ziscx7ym4kf7"); // ED_tail_port(f) = prt; +UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // } +UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // } +UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // } +UNSUPPORTED("d7reofoel6ngjj7zza32cdi0w"); // ND_has_port(u) = NOT(0); /* kinda pointless, because mincross is already done */ +UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // } + +throw new UnsupportedOperationException(); +} + + +} |