diff options
-rw-r--r-- | perf/Makefile.am | 3 | ||||
-rw-r--r-- | perf/cairo-perf.c | 1 | ||||
-rw-r--r-- | perf/cairo-perf.h | 1 | ||||
-rw-r--r-- | perf/zrusin-another.h | 668 | ||||
-rw-r--r-- | perf/zrusin.c | 90 |
5 files changed, 762 insertions, 1 deletions
diff --git a/perf/Makefile.am b/perf/Makefile.am index e1cfdc76..765286ff 100644 --- a/perf/Makefile.am +++ b/perf/Makefile.am @@ -22,7 +22,8 @@ cairo_perf_SOURCES = \ subimage_copy.c \ tessellate.c \ pattern_create_radial.c \ - text.c + text.c \ + zrusin.c if CAIRO_HAS_WIN32_SURFACE cairo_perf_SOURCES += cairo-perf-win32.c diff --git a/perf/cairo-perf.c b/perf/cairo-perf.c index 22126766..d6df218c 100644 --- a/perf/cairo-perf.c +++ b/perf/cairo-perf.c @@ -314,5 +314,6 @@ cairo_perf_case_t perf_cases[] = { { tessellate, 100, 100}, { subimage_copy, 16, 512}, { pattern_create_radial, 16, 16}, + { zrusin, 415, 415}, { NULL } }; diff --git a/perf/cairo-perf.h b/perf/cairo-perf.h index faacff9b..1ff91b05 100644 --- a/perf/cairo-perf.h +++ b/perf/cairo-perf.h @@ -89,5 +89,6 @@ CAIRO_PERF_DECL (subimage_copy); CAIRO_PERF_DECL (tessellate); CAIRO_PERF_DECL (text); CAIRO_PERF_DECL (pattern_create_radial); +CAIRO_PERF_DECL (zrusin); #endif diff --git a/perf/zrusin-another.h b/perf/zrusin-another.h new file mode 100644 index 00000000..f6e72aed --- /dev/null +++ b/perf/zrusin-another.h @@ -0,0 +1,668 @@ +/* The data in this file was created by Zack Rusin and downloaded from: + + http://ktown.kde.org/~zrusin/examples/cairorender.tar.bz2 + + It is included in the cairo performance test suite by his + permission, (given in email to Carl Worth on 2006-10-23) +*/ +point_t zrusin_another[] = { +{107.893088734820,103.841923410053}, {106.908713734820,104.920048410053}, +{106.605078419636,105.201721390261}, {102.286079757931,107.612435141518}, +{95.848592904540,109.855345077872}, {95.820873452616,109.863161445001}, +{90.517184462013,111.170008329713}, {87.125000000000,111.625000000000}, +{82.393245921775,111.316572641568}, {77.855183975790,110.402282596173}, +{73.577390672683,108.898617908665}, {69.626442523093,106.822066623894}, +{69.373711344187,106.641023992165}, {57.717461344187,97.141023992165}, +{60.861283165549,97.153157587308}, {52.861026127481,102.679312400770}, +{43.297199733607,107.707604120505}, {38.061787185467,109.824994465236}, +{32.824736230810,111.354170438973}, {27.636335844151,112.281599723349}, +{22.546875000000,112.593750000000}, {19.478437557032,111.949288129016}, +{16.158848619890,110.212087077375}, {13.224557514711,107.109984243309}, +{12.401022392395,105.215121771751}, {12.109375000000,103.234375000000}, +{12.857968117079,98.340329228563}, {15.050447208669,93.495802782054}, +{18.606861885297,88.792446786896}, {23.447261757492,84.321912369510}, +{23.462751811761,84.309735859104}, {29.835792474114,80.170241641945}, +{36.826339837257,77.183700966953}, {44.355342734713,75.374150023260}, +{52.343750000000,74.765625000000}, {54.172214431835,74.493658379815}, +{55.005326273741,73.240819884599}, {54.891695624471,73.637732784350}, +{55.835419478567,69.288398667240}, {56.941029555972,65.553969608663}, +{57.993585771605,68.524034756036}, {53.681468264740,66.410473849442}, +{48.062136369578,64.586219029579}, {42.258612309644,63.317877950046}, +{37.437500000000,62.906250000000}, {32.573685233275,63.044800246717}, +{26.989159126193,63.632907811096}, {20.752015377001,64.279295952574}, +{16.562500000000,64.484375000000}, {16.408072340842,64.479600861137}, +{11.611197340842,64.182725861137}, {11.453516511116,64.167941148499}, +{6.725716011250,62.845442977500}, {4.607850691978,60.769517471259}, +{3.781250000000,57.859375000000}, {4.373461857036,55.042556375256}, +{5.951936001924,52.702230099626}, {6.143541831166,52.540844514692}, +{9.884650718045,51.301737345381}, {10.233131146503,51.254965794601}, +{14.936256146503,50.958090794601}, {15.093750000000,50.953125000000}, +{19.896489079886,51.056672881330}, {25.533897731570,51.448761318515}, +{25.296875000000,51.437500000000}, {30.909892241200,52.067729129895}, +{30.484375000000,52.031250000000}, {39.960841830525,52.410121686268}, +{48.752300459876,53.538988916016}, {48.757228534847,53.539874692156}, +{54.123571896675,54.731960341587}, {58.970980406852,56.270657465230}, +{63.248918806945,58.141504425356}, {66.906851838519,60.330039584234}, +{66.896289983187,60.322652661852}, {70.654761046586,63.581911162241}, +{73.423041490057,67.400928399521}, {75.133561184297,71.670457102504}, +{75.718750000000,76.281250000000}, {74.721151272876,79.892293861068}, +{72.068677652167,83.513297493231}, {70.325052633091,85.868624092784}, +{69.828125000000,88.250000000000}, {70.186304443223,90.552747673203}, +{71.326302526678,92.735137555366}, {73.346308881046,94.894011912335}, +{76.344513137007,97.126213009954}, {79.989627194854,99.164217236556}, +{83.789048154438,100.596188457783}, {87.811323321056,101.441306202608}, +{92.125000000000,101.718750000000}, {97.462586180660,101.070932456387}, +{97.557831952069,101.055648080491}, {103.015964519671,99.851433056816}, +{103.984375000000,99.656250000000}, {106.046875000000,99.656250000000}, +{107.893088734820,103.841923410053}, {106.046875000000,104.656250000000}, +{103.984375000000,104.656250000000}, {104.952785480329,104.461066943184}, +{98.254668047931,106.006851919509}, {98.349913819340,105.991567543613}, +{92.125000000000,106.718750000000}, {87.170121991444,106.371193797392}, +{82.386733095562,105.341311542217}, {77.843380617646,103.648282763444}, +{73.608611862993,101.311286990046}, {69.914433306454,98.422394337665}, +{67.154166223322,95.217987444634}, {65.426000244277,91.794908576797}, +{64.828125000000,88.250000000000}, {65.079958470471,86.099459712769}, +{65.803853616909,83.955594657216}, {68.478197347833,80.033577506769}, +{70.243692477124,77.869424888932}, {70.718750000000,76.281250000000}, +{70.335188815703,72.767042897496}, {69.139458509943,69.692821600479}, +{67.063988953414,66.949338837759}, {64.041210016813,64.427347338148}, +{64.030648161481,64.419960415766}, {57.122769593148,60.885592534770}, +{47.867771465153,58.460125307844}, {47.872699540124,58.461011083984}, +{39.531345669475,57.386753313732}, {30.484375000000,57.031250000000}, +{30.058857758800,56.994770870105}, {25.296875000000,56.437500000000}, +{25.059852268430,56.426238681485}, {19.697260920114,56.052702118670}, +{15.093750000000,55.953125000000}, {15.251243853497,55.948159205399}, +{10.548118853497,56.245034205399}, {10.896599281955,56.198262654619}, +{9.168958168834,56.521655485308}, {9.360563998076,56.360269900374}, +{8.781250000000,57.859375000000}, {8.758601803360,58.189255218076}, +{8.735899308021,58.292982528741}, {8.961783988750,58.373307022500}, +{12.077733488884,59.207058851501}, {11.920052659158,59.192274138863}, +{16.716927659158,59.489149138863}, {16.562500000000,59.484375000000}, +{20.310484622999,59.298829047426}, {26.432715873807,58.663967188904}, +{32.129439766725,58.064574753283}, {37.437500000000,57.906250000000}, +{42.956231440356,58.377434549954}, {49.359738630422,59.757530970421}, +{55.603687985260,61.808276150558}, {60.600164228395,64.257215243964}, +{61.652720444028,67.227280391337}, {60.695830521433,70.461601332760}, +{59.795804375529,74.612267215650}, {59.682173726259,75.009180115401}, +{58.534870256371,76.967235761415}, {56.827785568165,78.467279120185}, +{54.713289027441,79.427384197713}, {52.343750000000,79.765625000000}, +{45.078251015287,80.284053101740}, {38.408035162743,81.855361533047}, +{32.254051275886,84.503586483055}, {26.537248188239,88.252764140896}, +{26.552738242508,88.240587630490}, {22.301341239703,92.064975088104}, +{19.363615291331,95.777634717946}, {17.659610007921,99.470217646437}, +{17.109375000000,103.234375000000}, {17.462942485289,104.745484506691}, +{18.934901380110,106.053537922625}, {21.052812442968,107.257743120984}, +{22.546875000000,107.593750000000}, {27.127336030849,107.323869026651}, +{31.729951269190,106.505204561027}, {36.405009689533,105.124224284764}, +{41.202800266393,103.167395879495}, {50.256161372519,98.422250099230}, +{57.732466834451,93.253092412692}, {60.876288655813,93.265226007835}, +{72.532538655813,102.765226007835}, {72.279807476907,102.584183376106}, +{75.647218702317,104.376772716335}, {79.199503524210,105.636779903827}, +{83.003238453225,106.380692983432}, {87.125000000000,106.625000000000}, +{94.491626547384,105.043088554999}, {94.463907095460,105.050904922128}, +{100.135795242069,103.121939858482}, {103.519921580364,101.267028609739}, +{103.216286265180,101.548701589947}, {104.200661265180,100.470576589947}, +{106.046875000000,104.656250000000}, {107.893088734820,103.841923410053}, +{55.872490683787,89.763134548637}, {54.997490683787,85.841259548637}, +{55.036476188094,85.993355189713}, {52.343750000000,85.750000000000}, +{46.702141892082,86.180801752650}, {41.285068752391,87.490050907175}, +{36.021375201732,89.703013308437}, {30.839905860908,92.844954801298}, +{30.840393168266,92.844613599752}, {24.841774707763,97.553563991314}, +{23.093750000000,100.109375000000}, {23.668337709691,101.518994849695}, +{23.371174656526,101.224323797050}, {23.620948599883,101.397798979282}, +{24.023420115060,101.552272092059}, {25.484375000000,101.718750000000}, +{29.298199671143,101.348354407082}, {33.545396502623,100.218839979757}, +{38.283160693967,98.302715245167}, {43.568687444697,95.572488730454}, +{43.462444284634,95.635929361188}, {56.978069284634,87.104679361188}, +{55.872490683787,89.763134548637}, {107.893088734820,103.841923410053}, +{59.646930715366,91.332820638812}, {46.131305715366,99.864070638812}, +{46.025062555303,99.927511269546}, {40.294964306033,102.857441004833}, +{34.923353497377,104.984285020243}, {29.967425328857,106.280551842918}, +{25.484375000000,106.718750000000}, {22.429704884940,106.291477907941}, +{20.160075343474,105.056926202950}, {19.862912290309,104.762255150305}, +{18.581942192719,102.559691058502}, {18.093750000000,100.109375000000}, +{18.781885833597,97.630167914546}, {20.751975292237,94.868311008686}, +{27.972106831734,88.749136400248}, {27.972594139092,88.748795198702}, +{33.744249798268,85.287221066563}, {39.777431247609,82.783386592825}, +{46.000983107918,81.262557622350}, {52.343750000000,80.750000000000}, +{54.881053553302,80.995299290410}, {57.121823397686,81.724997675285}, +{58.847249996203,82.929795925088}, {59.838523811906,84.600394810287}, +{59.877509316213,84.752490451363}, {60.752509316213,88.674365451363}, +{59.646930715366,91.332820638812}, {107.893088734820,103.841923410053}, +{155.484375000000,101.859375000000}, {154.564834615754,105.515207938449}, +{152.115670325806,108.366761454651}, {148.955163295626,109.891294781728}, +{145.437500000000,110.437500000000}, {142.960397099416,109.918703000637}, +{140.390467597390,108.438024620128}, {137.806753458193,106.109033784838}, +{135.288296646094,103.045299421136}, {135.165845369106,102.859481271949}, +{127.322095369106,89.718856271949}, {127.315939322101,89.708486304067}, +{123.037165252408,83.240466071649}, {119.422893480005,79.457711309224}, +{123.333764624626,78.181432151290}, {119.923748586047,88.267600564284}, +{116.288451493331,96.371224650234}, {116.310270123205,96.328970526240}, +{111.013619195867,105.085481651574}, {104.498474377631,112.833853093888}, +{102.718750000000,113.578125000000}, {98.109375000000,113.578125000000}, +{95.790533815800,112.012456612681}, {92.715536961613,101.759617602767}, +{90.624767168816,88.808240839597}, {90.625938562396,88.818553777181}, +{88.018863793847,68.357428789163}, {88.022375537533,68.374401202625}, +{86.904794319936,64.234191072834}, {85.466909526601,60.964474099786}, +{83.670654326939,58.467433589062}, {81.477961890361,56.645252846242}, +{80.463845731714,53.674615230649}, {82.823220731714,47.205865230649}, +{82.883587418943,47.055653464335}, {83.966380643129,44.754922491868}, +{85.291281927099,42.535861182972}, {88.514402164445,41.595109434025}, +{91.785870247761,43.817111177877}, {94.599270325866,47.029404143594}, +{96.906293571887,51.130222797294}, {98.658631158949,56.017801605095}, +{98.664492355983,56.039251079522}, {100.006630671722,63.228131068770}, +{101.762541190731,76.272848032637}, {101.765778670251,76.300425005941}, +{103.467098832178,87.353480411923}, {105.697048617918,94.795754781373}, +{102.319980907406,93.545204629259}, {104.354680083199,92.248641487426}, +{106.296883956259,90.334282557687}, {110.081726403105,84.371439341729}, +{110.069085073875,84.396782220394}, {112.413266990492,78.560599894318}, +{114.080111889746,71.934817013191}, {115.075734612596,64.464258680566}, +{115.406250000000,56.093750000000}, {117.906250000000,53.593750000000}, +{122.515625000000,53.593750000000}, {124.596624760838,54.708311442938}, +{155.065374760838,100.473936442938}, {155.484375000000,101.859375000000}, +{107.893088734820,103.841923410053}, {150.903375239162,103.244813557062}, +{120.434625239162,57.479188557062}, {122.515625000000,58.593750000000}, +{117.906250000000,58.593750000000}, {120.406250000000,56.093750000000}, +{120.037546637404,64.922460069434}, {118.935513110254,72.987057986809}, +{117.106264259508,80.232368855682}, {114.555914926125,86.603217779606}, +{114.543273596895,86.628560658271}, {112.308927321184,90.508291033149}, +{109.859366043741,93.751654942313}, {107.239069916801,96.288467887574}, +{104.492519092594,98.048545370741}, {101.115451382082,96.797995218627}, +{98.626651167822,88.552769588077}, {96.796721329749,76.855824994059}, +{96.799958809269,76.883401967363}, {95.087119328278,64.107806431230}, +{93.835507644017,57.335748920478}, {93.841368841051,57.357198394905}, +{92.427690803113,53.221339702706}, {90.736667174134,50.033095856406}, +{88.719989127239,47.690701322123}, {86.329347835555,46.092390565975}, +{89.552468072901,45.151638817028}, {88.346119356871,47.166952508132}, +{87.460162581057,49.069346535665}, {87.520529268286,48.919134769351}, +{85.161154268286,55.387884769351}, {84.147038109639,52.417247153758}, +{87.106689423061,54.909519535937}, {89.579965473399,58.293338400214}, +{91.528799430064,62.470887052166}, {92.915124462467,67.344348797375}, +{92.918636206153,67.361321210837}, {95.592811437604,88.243946222819}, +{95.593982831184,88.254259160403}, {97.565713038387,100.591944897233}, +{100.428216184200,110.143793387319}, {98.109375000000,108.578125000000}, +{102.718750000000,108.578125000000}, {100.939025622369,109.322396906112}, +{106.962943304133,102.180143348427}, {111.845979876795,94.077279473760}, +{111.867798506669,94.035025349766}, {115.287188913953,86.412086935716}, +{118.541235375374,76.756067848710}, {122.452106519995,75.479788690776}, +{126.837834747592,80.025158928351}, {131.621560677899,87.166513695933}, +{131.615404630894,87.156143728051}, {139.459154630894,100.296768728051}, +{139.336703353906,100.110950578864}, {142.906407402610,104.257287879872}, +{145.437500000000,105.437500000000}, {147.478430454374,105.175111468272}, +{149.243704674194,104.273863545349}, {150.251571634246,103.277760811551}, +{150.484375000000,101.859375000000}, {150.903375239162,103.244813557062}, +{107.893088734820,103.841923410053}, {231.343750000000,91.875000000000}, +{230.760913847107,95.964970754466}, {229.068047862611,99.735912943733}, +{226.348615757792,103.075786207286}, {222.686081243924,105.872550184609}, +{222.648873373705,105.894655312846}, {215.093162016193,109.098726800095}, +{205.138412990776,111.389009633945}, {205.099511514392,111.395066324151}, +{196.531910121565,112.292873746127}, {187.093750000000,112.593750000000}, +{180.736641615184,112.156201510495}, {174.578395035074,110.855968371846}, +{168.685194057574,108.711669078852}, {163.123222480588,105.741922126310}, +{163.102786019362,105.728945017668}, {158.065383006950,101.833715472335}, +{154.350564084671,97.489870440862}, {152.052565874896,92.798170193375}, +{151.265625000000,87.859375000000}, {151.531470468770,85.013668760581}, +{152.287360086651,82.060400295498}, {152.321821893194,81.964698849566}, +{155.704155919825,73.828381186220}, {158.270837388345,69.249451319292}, +{158.258242073026,69.265568807584}, {162.161895999987,65.281962610977}, +{167.278829839386,61.794937132641}, {173.532669176810,58.834467171163}, +{180.847039597849,56.430527525129}, {179.144548452656,58.005986305326}, +{180.222673452656,54.974736305326}, {180.222279555972,54.975844608663}, +{182.650011718926,50.400876966176}, {185.678714551395,49.466466465483}, +{192.833058049629,52.996232862321}, {201.831199616962,58.692914409530}, +{211.602112156950,65.789874557518}, {220.243790039283,73.085988470431}, +{220.250361498213,73.092084369790}, {227.553434625305,81.089470457139}, +{229.783449199558,84.667905408782}, {230.987849850362,87.897461316292}, +{231.037603485703,88.222391630780}, {231.334478485703,91.659891630780}, +{231.343750000000,91.875000000000}, {107.893088734820,103.841923410053}, +{226.353021514297,92.090108369220}, {226.056146514297,88.652608369220}, +{226.105900149638,88.977538683708}, {225.181394550443,86.544985216218}, +{223.368440374695,83.730842042861}, {216.843388501787,76.751665630210}, +{216.849959960717,76.757761529569}, {208.538512843050,69.741375442482}, +{199.012550383038,62.822710590470}, {190.370066950371,57.347517137679}, +{183.790035448605,54.096033534517}, {186.818738281074,53.161623033824}, +{184.933970444028,56.649155391337}, {184.933576547344,56.650263694674}, +{183.855451547344,59.681513694674}, {182.152960402151,61.256972474871}, +{175.418502698190,63.429204703837}, {169.900857660614,65.978500367359}, +{165.523650875013,68.934834264023}, {162.210507926974,72.328181192416}, +{162.197912611655,72.344298680708}, {160.116156580175,76.155993813780}, +{156.990678106806,83.754051150434}, {157.025139913349,83.658349704502}, +{156.265625000000,87.859375000000}, {156.814621625104,91.570970431625}, +{158.524435915329,95.017942059138}, {161.489304493050,98.301050152665}, +{165.803463980638,101.521054982332}, {165.783027519412,101.508077873690}, +{170.773790317426,104.198487171148}, {175.945042464926,106.097156628154}, +{181.362967759816,107.222704739505}, {187.093750000000,107.593750000000}, +{196.179027378435,107.308688753873}, {204.369238485608,106.448683675849}, +{204.330337009224,106.454740366055}, {213.484962983807,104.385648199905}, +{220.132376626295,101.574094687154}, {220.095168756076,101.596199815391}, +{222.954118617208,99.523823167714}, {224.892889637389,97.287524556267}, +{225.994945527893,94.775263620534}, {226.343750000000,91.875000000000}, +{226.353021514297,92.090108369220}, {107.893088734820,103.841923410053}, +{219.781250000000,95.890625000000}, {219.378166433508,93.853798730227}, +{218.111752188172,91.489941446073}, {212.645950385807,85.475693519170}, +{212.685981945341,85.511936058310}, {206.545320157918,80.643069684901}, +{198.180220478697,74.962876659750}, {198.191932106006,74.970352872652}, +{191.582535336704,71.037624006410}, {191.504903114611,70.993386859602}, +{190.358726480976,70.329891393482}, {194.093750000000,68.156250000000}, +{193.486799914207,72.326466575586}, {191.750022838432,75.648693620488}, +{191.727672642897,75.674671879974}, {189.796209835616,77.308949639626}, +{187.307360975056,78.497446987452}, {184.374093537693,79.223076311545}, +{181.109375000000,79.468750000000}, {178.539517280969,79.274893727068}, +{176.586499975916,78.676142180991}, {173.086052480141,74.877460550577}, +{176.026873378540,75.790765650642}, {173.637934677835,76.966105971818}, +{171.454775584042,78.628861257931}, {167.479150931130,83.659399177979}, +{167.492959438562,83.636441477986}, {164.707555748674,89.579684053440}, +{164.890625000000,88.640625000000}, {165.429801946489,91.718738201013}, +{167.140367049889,94.413281660069}, {170.161871706101,96.828214751252}, +{174.633867311024,99.067496848641}, {174.595883286589,99.052025896332}, +{183.311717611230,101.570655775842}, {188.036065935963,102.270678900324}, +{192.781250000000,102.500000000000}, {204.722829878151,102.082467436594}, +{212.458857303872,100.833616072622}, {214.905535432122,99.897801735668}, +{216.940228691241,98.604487224303}, {220.087216056537,94.692203098109}, +{219.781250000000,95.890625000000}, {107.893088734820,103.841923410053}, +{224.475283943463,97.089046901891}, {222.495392805158,99.992428606532}, +{220.012896308759,102.426762775697}, {217.106183317878,104.328760764332}, +{213.853642696128,105.635133927378}, {205.324045121849,107.034720063406}, +{192.781250000000,107.500000000000}, {187.549871564037,107.241039849676}, +{182.344532388770,106.476219224158}, {172.747866713411,103.697974103668}, +{172.709882688976,103.682503151359}, {167.310784543899,100.802644623748}, +{163.281507950111,97.266405839931}, {160.761604303511,93.177746173987}, +{160.111277146626,90.958745814619}, {159.890625000000,88.640625000000}, +{160.073694251326,87.701565946560}, {163.194540561438,81.082308522014}, +{163.208349068870,81.059350822021}, {165.573405849355,77.703241627766}, +{168.240536915958,74.886763742069}, {171.153080947165,72.670612778182}, +{174.254376621460,71.115484349358}, {177.195197519859,72.028789449423}, +{178.991625024084,74.292607819009}, {181.109375000000,74.468750000000}, +{185.450451524944,73.971303012548}, {187.959827357103,72.387828120026}, +{187.937477161568,72.413806379512}, {188.825700085793,70.736033424413}, +{189.093750000000,68.156250000000}, {192.828773519024,65.982608606518}, +{194.057596885389,66.694113140398}, {193.979964663296,66.649875993590}, +{200.870567893994,70.748397127348}, {200.882279521303,70.755873340250}, +{209.532804842082,76.638180315099}, {216.001518054659,81.769313941690}, +{216.041549614192,81.805556480830}, {219.736550554799,85.597619431325}, +{222.481997811828,89.260058553927}, {224.192146066492,92.716513769773}, +{224.781250000000,95.890625000000}, {224.475283943463,97.089046901891}, +{107.893088734820,103.841923410053}, {274.375000000000,74.921875000000}, +{274.375000000000,76.000000000000}, {273.941340954992,77.877573018672}, +{272.878932097861,79.515803527315}, {273.201644884750,79.109789854043}, +{272.240878131027,80.634530144823}, {272.178064435979,80.731878545843}, +{270.366672394243,82.164949472839}, {268.046875000000,82.703125000000}, +{266.183148747233,82.484226579792}, {265.676843902484,82.347511014208}, +{261.919943241226,81.056638412991}, {261.845529920936,81.035610157726}, +{257.771892015055,80.000491652766}, {254.812500000000,79.671875000000}, +{253.064641952966,80.017766952966}, {253.029646790629,80.052082662255}, +{253.183319188544,79.921363850038}, {253.251518993920,79.984611568497}, +{253.185946392942,81.106825858762}, {253.000000000000,86.578125000000}, +{253.496255380785,102.128843883245}, {253.498940253820,102.192840332413}, +{254.068093288267,110.651263719025}, {251.578125000000,113.375000000000}, +{246.875000000000,113.375000000000}, {246.340326851360,113.317155732979}, +{244.239667843345,112.409341061474}, {241.449240399376,110.489665586259}, +{233.966932708158,103.861287459859}, {233.964253154933,103.858697290509}, +{230.739570245917,99.429986748935}, {227.863465886694,92.900734302334}, +{227.865566738278,92.906614054351}, {224.904456445713,83.297192679644}, +{223.890625000000,76.390625000000}, {224.718172891760,73.652424627265}, +{226.991950628026,71.671512863124}, {230.398659300280,70.468125917422}, +{234.625000000000,70.062500000000}, {239.436000436064,69.828681464349}, +{240.453125000000,69.140625000000}, {239.621272369169,63.470278877568}, +{237.983036171748,55.833595299706}, {237.978023315197,55.813489579321}, +{235.265625000000,42.968750000000}, {235.414374888933,43.818233911095}, +{223.164374888933,9.911983911095}, {223.454623060848,7.647483743269}, +{225.610873060848,4.506858743269}, {225.803351703291,4.260965402925}, +{227.719534150475,2.932735689909}, {230.078782966130,2.347671229322}, +{230.218750000000,2.343750000000}, {231.580832848366,2.789728316683}, +{232.871346377781,3.980786060276}, {235.131457239225,7.716876589460}, +{240.051188613236,19.745668022304}, {244.970104457946,33.805503176211}, +{247.762510801176,44.143184476801}, {247.777764624530,44.225329525617}, +{252.184014624530,70.381579525617}, {251.352799675865,68.904817480577}, +{254.575226795957,69.673348314939}, {260.406250000000,70.359375000000}, +{270.523910039912,70.690857394210}, {273.186407177161,72.174765791999}, +{274.049624252688,73.457293811137}, {274.375000000000,74.921875000000}, +{107.893088734820,103.841923410053}, {269.375000000000,74.921875000000}, +{269.694839960088,75.621642605790}, {260.406250000000,75.359375000000}, +{253.596648204043,74.576651685061}, {250.197596782742,73.718304003256}, +{248.084700324135,72.688932519423}, {247.253485375470,71.212170474383}, +{242.847235375470,45.055920474383}, {242.862489198824,45.138065523199}, +{240.182239292054,35.233559323790}, {235.370686386764,21.504331977696}, +{230.614636510775,9.861248410540}, {229.674552059719,7.679370189724}, +{229.774391761009,7.390935745817}, {230.218750000000,7.343750000000}, +{230.358717033870,7.339828770678}, {229.540398296709,7.582784597075}, +{229.732876939152,7.336891256731}, {227.576626939152,10.477516256731}, +{227.866875111067,8.213016088905}, {240.116875111067,42.119266088905}, +{240.265625000000,42.968750000000}, {242.834476684803,54.624010420679}, +{242.829463828252,54.603904700294}, {244.534977630831,62.545346122432}, +{245.453125000000,69.140625000000}, {244.611402180226,71.735213821357}, +{242.306187063936,73.585381035651}, {238.867409665678,74.693638982119}, +{234.625000000000,75.062500000000}, {229.906486871974,75.367549636876}, +{229.092373983240,75.779215997735}, {228.934535185216,76.058687905577}, +{228.890625000000,76.390625000000}, {229.790856054287,82.319994820356}, +{232.571933261722,91.218385945649}, {232.574034113306,91.224265697666}, +{234.986992254083,96.851263251065}, {237.441996845067,100.266302709491}, +{237.439317291842,100.263712540141}, {244.074197100624,106.275959413741}, +{247.409673148640,108.432844267021}, {246.875000000000,108.375000000000}, +{251.578125000000,108.375000000000}, {249.088156711733,111.098736280975}, +{248.501059746180,102.338409667587}, {248.503744619215,102.402406116755}, +{248.000000000000,86.578125000000}, {248.204678607058,80.674424141238}, +{248.635199756080,78.226325931503}, {249.564103209371,76.447917337745}, +{249.529108047034,76.482233047034}, {251.855421271850,75.142541341903}, +{254.812500000000,74.671875000000}, {258.571857984945,75.077633347234}, +{263.279470079064,76.245639842274}, {263.205056758774,76.224611587009}, +{267.479406097516,77.683738985792}, {266.973101252767,77.547023420208}, +{268.046875000000,77.703125000000}, {268.247054721136,77.733964370993}, +{268.227077605757,77.803800527161}, {268.040685564021,77.924371454157}, +{267.977871868973,78.021719855177}, {268.985855115250,76.421460145957}, +{269.308567902139,76.015446472685}, {269.418034045008,75.973989481328}, +{269.375000000000,76.000000000000}, {269.375000000000,74.921875000000}, +{107.893088734820,103.841923410053}, {243.911209450369,105.662056821622}, +{240.832004992147,102.845101845416}, {236.815516984936,97.742848726260}, +{236.813922800164,97.740633958664}, {232.773597278734,91.287437871638}, +{230.710552894044,85.924483215760}, {230.745327869205,86.067653416413}, +{229.840275149638,82.415038683708}, {229.855893749637,82.481339062591}, +{229.093750000000,78.546875000000}, {229.510257350732,77.264688549054}, +{230.557731326090,76.286764971873}, {233.333290689663,75.138571514324}, +{238.843750000000,74.468750000000}, {241.980836948934,74.687319511759}, +{245.189547085049,75.561169162745}, {247.167986856352,77.549353232692}, +{248.217702574415,80.638507879225}, {248.687500000000,88.140625000000}, +{248.194671228610,98.736670034806}, {248.200295344311,98.650162873539}, +{247.698246960594,103.850772804200}, {243.911209450369,105.662056821622}, +{107.893088734820,103.841923410053}, {242.739253039406,103.211727195800}, +{243.205954655689,98.412337126461}, {243.211578771390,98.325829965194}, +{243.687500000000,88.140625000000}, {243.282297425585,81.439617120775}, +{243.185452914951,80.141955837255}, {241.300413051066,79.640805488241}, +{238.843750000000,79.468750000000}, {234.557334310337,79.986428485676}, +{234.323615830224,80.043375869145}, {234.139295619945,80.082650511165}, +{233.899908001681,80.106538837663}, {233.805549923910,79.924172528127}, +{234.093750000000,78.546875000000}, {234.706606250363,81.268660937409}, +{234.722224850362,81.334961316292}, {235.567172130795,84.744846583587}, +{235.601947105956,84.888016784240}, {237.273277721266,89.165687128362}, +{240.873577199836,94.821866041336}, {240.871983015064,94.819651273740}, +{244.355495007853,99.326773154584}, {246.526290549631,101.400443178378}, +{242.739253039406,103.211727195800}, {107.893088734820,103.841923410053}, +{304.579027849556,115.887559254375}, {299.647333003501,118.498603127587}, +{299.601234810263,118.526555579345}, {296.960609810263,120.089055579345}, +{295.687500000000,120.437500000000}, {292.434178516679,119.763451801101}, +{289.591538470777,117.850158805700}, {287.263626957927,114.860898415742}, +{285.554491073762,110.958948033170}, {285.546168760441,110.932189402305}, +{283.409425227272,100.413450166388}, {283.408069329655,100.405281467271}, +{280.968147929764,87.644193704042}, {284.218299056292,87.914012723915}, +{279.519746335556,93.766171451312}, {279.798545332977,93.224824860858}, +{274.937093489612,105.343910553875}, {272.454127837569,109.762553039486}, +{269.772550129691,112.314814767144}, {266.294988321147,110.999865652887}, +{264.699764075525,105.167535274279}, {264.676753039406,105.022647804200}, +{264.221109604112,100.702343060691}, {264.171875000000,98.828125000000}, +{263.607902205199,91.869081828698}, {263.613915250645,91.062865437610}, +{263.781250000000,89.718750000000}, {263.644962649638,88.985351183708}, +{262.873500431741,86.703985451358}, {262.739182179139,86.219942105230}, +{260.786057179139,74.844942105230}, {260.786249814804,74.846062487964}, +{256.958124814804,52.611687487964}, {256.955473276820,52.595988114755}, +{254.892973276820,40.142863114755}, {254.909488793847,40.232428789163}, +{254.331363793847,37.388678789163}, {254.339079247810,37.425229542768}, +{253.651579247810,34.284604542768}, {253.593750000000,33.750000000000}, +{254.239654341050,30.319069019177}, {254.154681406546,30.589185956325}, +{256.319133024351,26.771372253672}, {258.818704827809,25.924919245868}, +{261.217531024880,26.988383072536}, {263.253153025566,28.888095452080}, +{264.856582863559,31.480336604342}, {265.958832572550,34.621386749163}, +{266.013105788729,34.918097636045}, {267.200714432551,44.731495841479}, +{267.198350954149,44.712535224402}, {269.443623734153,61.037071609407}, +{269.421396014347,60.906344576785}, {270.652021489737,67.736566992690}, +{271.992261513603,76.440263813345}, {271.992747064473,76.443809223415}, +{273.038636247453,85.686082548185}, {273.390625000000,92.953125000000}, +{273.238407027301,96.898129287691}, {272.771685367998,99.590064317759}, +{267.989237947004,98.132898258783}, {271.223612947004,86.961023258783}, +{271.391159168632,86.533772766328}, {274.526090303798,81.379570646076}, +{274.584318175231,81.310286998919}, {276.982682022500,78.600716011250}, +{277.142029400154,78.326905342657}, {279.265919333198,75.301911531816}, +{279.298622345235,75.258362091268}, {281.876153531632,73.009942282517}, +{284.906250000000,72.125000000000}, {287.318073492888,72.767987310135}, +{289.339116026344,74.544184270464}, {290.903803647217,77.224443425871}, +{291.946562402359,80.579617321243}, {291.963278527291,80.666832095730}, +{293.477578855570,88.491377103079}, {294.532438780850,92.026218792971}, +{294.690170210143,92.371639700252}, {298.832669585147,102.687317191341}, +{298.821447919079,102.663322107333}, {301.483679194839,107.248880594573}, +{302.541048238599,108.202972500861}, {303.515625000000,108.484375000000}, +{306.015625000000,110.984375000000}, {306.015625000000,113.625000000000}, +{304.579027849556,115.887559254375}, {107.893088734820,103.841923410053}, +{301.015625000000,113.625000000000}, {301.015625000000,110.984375000000}, +{303.515625000000,113.484375000000}, {300.984342386401,112.859527499139}, +{298.555383305161,111.094869405427}, {296.303526841571,108.355227332168}, +{294.303552080921,104.805427892667}, {294.292330414853,104.781432808659}, +{289.997329789857,94.097110299748}, {290.155061219150,94.442531207029}, +{288.709921144430,89.953935396921}, {287.036721472709,81.520667904270}, +{287.053437597641,81.607882678757}, {286.004633973656,77.940190729536}, +{284.906250000000,77.125000000000}, {284.500063101353,77.160595459408}, +{284.155096468369,77.318182717483}, {283.263877654765,78.304137908732}, +{283.296580666802,78.260588468184}, {281.295470599846,81.110594657343}, +{281.454817977500,80.836783988750}, {278.353181824769,84.595963001081}, +{278.411409696202,84.526679353924}, {275.858840831368,88.778727233672}, +{276.026387052996,88.351476741217}, {272.792012052996,99.523351741217}, +{268.009564632002,98.066185682241}, {268.390625000000,92.953125000000}, +{268.055113752547,86.056104951815}, {267.038502935527,77.118690776585}, +{267.038988486397,77.122236186655}, {265.722978510263,68.575933007310}, +{264.516103985653,61.874905423215}, {264.493876265847,61.744178390593}, +{262.239149045851,45.349964775598}, {262.236785567449,45.331004158521}, +{261.049394211271,35.519402363955}, {261.103667427450,35.816113250837}, +{259.699971974434,32.150967047920}, {257.681295172191,30.793830754132}, +{260.180866975649,29.947377746328}, {259.001568593454,31.817064043675}, +{258.916595658950,32.087180980823}, {258.593750000000,33.750000000000}, +{258.535920752190,33.215395457232}, {259.223420752190,36.356020457232}, +{259.231136206153,36.392571210837}, {259.809261206153,39.236321210837}, +{259.825776723180,39.325886885245}, {261.888276723180,51.779011885245}, +{261.885625185196,51.763312512036}, {265.713750185196,73.997687512036}, +{265.713942820861,73.998807894770}, {267.667067820861,85.373807894770}, +{267.532749568259,84.889764548642}, {268.526912350362,87.905273816292}, +{268.781250000000,89.718750000000}, {268.542334749355,91.905884562390}, +{268.548347794801,91.099668171302}, {269.171875000000,98.828125000000}, +{269.216390395888,100.485156939309}, {269.635746960594,104.383602195800}, +{269.612735924475,104.238714725721}, {270.955011678853,109.187634347113}, +{267.477449870309,107.872685232856}, {268.686497162431,106.569478210514}, +{270.375406510388,103.296714446125}, {275.107704667023,91.493925139142}, +{275.386503664444,90.952578548688}, {278.700840527029,86.470174071108}, +{281.281700943708,83.867237276085}, {284.531852070236,84.137056295958}, +{285.408419686884,85.805066273498}, {286.324716189650,88.997159604327}, +{288.341930670345,99.594718532729}, {288.340574772728,99.586549833612}, +{290.328831239559,109.474060597695}, {290.320508926238,109.447301966830}, +{291.419966792073,112.312929709258}, {292.611586529223,114.157653694300}, +{293.999415233321,115.144751323899}, {295.687500000000,115.437500000000}, +{294.414390189737,115.785944420655}, {297.055015189737,114.223444420655}, +{297.008916996499,114.251396872413}, {302.452222150444,111.362440745625}, +{301.015625000000,113.625000000000}, {107.893088734820,103.841923410053}, +{374.437500000000,106.765625000000}, {373.775309600600,109.463093710969}, +{372.064906958700,112.117295697199}, {372.041004786215,112.144602045402}, +{368.522704503395,114.706400007155}, {366.442611342446,115.399541345014}, +{364.281250000000,115.640625000000}, {355.911205219123,114.726652651698}, +{341.052591424867,111.966274658224}, {341.038040421249,111.963294783992}, +{326.905309277070,108.757693347762}, {319.727026481732,106.439595965247}, +{319.807037817648,106.479160754059}, {310.484453831953,101.696158824691}, +{304.482826587959,97.721718623918}, {304.310358047034,97.564641952966}, +{302.095819571999,95.254869206705}, {298.220153609739,90.667578419636}, +{300.367638895226,91.618501549714}, {296.258263895226,91.915376549714}, +{296.078125000000,91.921875000000}, {293.025957236218,91.709450913344}, +{290.151865257421,91.083888117023}, {285.254658796565,88.663603177256}, +{285.219422230119,88.636374171395}, {281.529900243089,84.536170132203}, +{280.513144708967,82.282593311151}, {280.156250000000,80.015625000000}, +{280.896516775664,77.119922391977}, {282.806537684315,74.726645730656}, +{285.448073147177,73.263018105533}, {288.686079158715,72.443690273534}, +{290.750793112766,73.122099563886}, {293.797668112766,76.059599563886}, +{293.736465601749,76.002539206463}, {295.798965601749,77.861914206463}, +{294.222063773555,77.220634985862}, {301.862688773555,77.517509985862}, +{299.265625000000,80.015625000000}, {299.934685624955,74.754308742711}, +{301.898213943218,69.792099871114}, {305.090729619888,65.230982029954}, +{309.446752320064,61.172938863978}, {309.482902906976,61.145713152252}, +{318.065904047846,56.213131631660}, {329.455658353400,51.953267244508}, +{329.496351456999,51.941186017188}, {336.615241964605,50.572965088062}, +{336.666137267666,50.568817238037}, {342.150512267666,50.178192238037}, +{342.328125000000,50.171875000000}, {347.088673798588,50.461178987176}, +{351.635436696472,51.319590054257}, {355.904450990616,52.732856859568}, +{359.831753977986,54.686728061438}, {363.292951645549,57.250115143707}, +{365.880587968213,60.272932122861}, {367.501493801268,63.647371305944}, +{368.062500000000,67.265625000000}, {367.659428864193,69.524372763002}, +{366.507997055207,71.901249483478}, {362.306741008310,76.690232523947}, +{362.309449580203,76.687848273793}, {355.067416613929,81.592460070084}, +{345.579434368324,85.619156329617}, {345.543296906352,85.631025936969}, +{338.856518222681,87.434049611292}, {331.674077585810,88.726763309129}, +{324.032609882622,89.505258086643}, {315.968750000000,89.765625000000}, +{315.697255981477,89.750839477245}, {313.837880981477,89.547714477245}, +{314.109375000000,89.562500000000}, {315.203325765838,88.142787621838}, +{315.234375000000,87.750000000000}, {315.261368553241,87.459370280378}, +{315.416652198286,87.453346686481}, {316.557907675735,88.522399326740}, +{316.429841220906,88.403882310796}, {319.273591220906,90.857007310796}, +{318.935343465338,90.611377991437}, {331.091593465338,97.970752991437}, +{330.612118984109,97.746034726917}, {334.956642245028,98.975789357391}, +{339.851927078584,99.850564497063}, {351.453125000000,100.546875000000}, +{354.203872313810,100.381670729150}, {355.159915151904,99.886038066767}, +{355.055436157189,100.055596900919}, {357.900435727416,97.290434866877}, +{362.379803562479,95.425955323112}, {363.015625000000,95.343750000000}, +{366.828125000000,95.343750000000}, {368.997562855593,96.601357392681}, +{374.106937855593,105.523232392681}, {374.437500000000,106.765625000000}, +{107.893088734820,103.841923410053}, {369.768062144407,108.008017607319}, +{364.658687144407,99.086142607319}, {366.828125000000,100.343750000000}, +{363.015625000000,100.343750000000}, {363.651446437521,100.261544676888}, +{360.724564272584,101.303315133123}, {359.413313842811,102.506903099081}, +{359.308834848096,102.676461933233}, {358.021570604282,103.932262067178}, +{356.186752686190,104.829266770850}, {351.453125000000,105.546875000000}, +{345.006190631125,105.353277680068}, {339.085572921416,104.774435502937}, +{333.730857754972,103.813273142609}, {328.981631015891,102.472715273083}, +{328.502156534662,102.247997008563}, {316.345906534662,94.888622008563}, +{316.007658779094,94.642992689204}, {313.163908779094,92.189867689204}, +{313.035842324265,92.071350673260}, {311.083347801714,89.820090813519}, +{310.234375000000,87.750000000000}, {310.265424234162,87.357212378162}, +{310.780311953087,86.191927459145}, {311.752715552710,85.312201869144}, +{314.109375000000,84.562500000000}, {314.380869018523,84.577285522755}, +{316.240244018523,84.780410522755}, {315.968750000000,84.765625000000}, +{323.705671367377,84.524038788357}, {330.935297414190,83.796674190871}, +{337.694263027319,82.579622263708}, {344.019203093648,80.868974063031}, +{343.983065631676,80.880843670383}, {352.635708386071,77.251289929916}, +{359.003050419797,72.937151726207}, {359.005758991690,72.934767476053}, +{362.163877944793,69.637813016522}, {363.062500000000,67.265625000000}, +{362.747529636232,64.880949006556}, {361.740505781787,62.777849127139}, +{359.948259291951,60.848517668793}, {357.277621022014,58.985146938562}, +{353.920744321884,57.295463452932}, {350.352844553528,56.106191195743}, +{346.509959013911,55.403078825324}, {342.328125000000,55.171875000000}, +{342.505737732334,55.165557761963}, {337.021362732334,55.556182761963}, +{337.072258035395,55.552034911938}, {330.878648543001,56.746313982812}, +{330.919341646600,56.734232755492}, {320.246595952154,60.693118368340}, +{312.454597093024,65.166786847748}, {312.490747679936,65.139561136022}, +{308.794036005112,68.485814845046}, {306.234598556782,72.012587628886}, +{304.746955000045,75.821863132289}, {304.265625000000,80.015625000000}, +{301.668561226445,82.513740014138}, {294.027936226445,82.216865014138}, +{292.451034398251,81.575585793537}, {290.388534398251,79.716210793537}, +{290.327331887234,79.659150436114}, {287.280456887234,76.721650436114}, +{289.345170841285,77.400059726466}, {287.321458102823,77.850263144467}, +{285.927837315685,78.632729269344}, {285.271451974336,79.274608858023}, +{285.175338636761,79.581613557521}, {285.156250000000,80.015625000000}, +{285.837287256911,82.245079867797}, {288.311827769881,84.707375828605}, +{288.276591203435,84.680146822744}, {291.660634742579,86.384861882977}, +{296.078125000000,86.921875000000}, {295.897986104774,86.928373450286}, +{300.007361104774,86.631498450286}, {302.154846390261,87.582421580364}, +{305.732305428001,91.823255793295}, {307.845891952966,94.029108047034}, +{307.673423412041,93.872031376082}, {313.085858668047,97.436653675309}, +{321.942962182352,101.958339245941}, {322.022973518268,101.997904034753}, +{328.415003222930,104.000119152238}, {342.055709578751,107.067955216008}, +{342.041158575133,107.064975341776}, {356.698169780877,109.788972348302}, +{364.281250000000,110.640625000000}, {366.516357996605,110.246724992845}, +{368.302745213785,108.824147954598}, {368.278843041300,108.851454302801}, +{369.437500000000,106.765625000000}, {369.768062144407,108.008017607319}, +{107.893088734820,103.841923410053}, {359.034454681034,69.861443602839}, +{357.173548986071,72.638610976591}, {353.435826646756,75.215386191513}, +{347.992418306797,77.582163291606}, {341.014454609897,79.729336320871}, +{326.426284670840,82.761098429090}, {319.640717587115,83.525315463381}, +{313.234375000000,83.781250000000}, {312.706760041223,83.724940335389}, +{311.331760041223,83.428065335389}, {311.389194323030,83.439762979730}, +{309.920444323030,83.158512979730}, {310.390625000000,83.203125000000}, +{309.032298883605,83.610801187634}, {305.860259182280,80.222501196670}, +{308.487654632717,75.272571710106}, {311.451975717975,70.927537861140}, +{314.718319876723,67.239682598354}, {318.251784547635,64.261288870324}, +{318.235984828743,64.272646821685}, {322.460311501394,61.735717754517}, +{327.134482463160,59.899177687483}, {332.183220900533,58.782772982128}, +{337.531250000000,58.406250000000}, {345.475041381297,58.786142249068}, +{351.020038715603,59.929523334009}, {351.130689531816,59.972424607386}, +{353.699762084814,61.379594420291}, {355.915109055748,63.288105475323}, +{357.703808635445,65.619192847673}, {358.992939014732,68.294091612533}, +{359.034454681034,69.861443602839}, {107.893088734820,103.841923410053}, +{354.288310985268,69.987158387467}, {352.366140944252,66.657207024677}, +{349.213060468184,64.590075392614}, {349.323711284397,64.632976665991}, +{344.735896118703,63.713857750932}, {337.531250000000,63.406250000000}, +{332.857794724467,63.703555142872}, {328.623330036840,64.608634812517}, +{324.752579123606,66.141235370483}, {321.170265171257,68.321103178315}, +{321.154465452365,68.332461129676}, {318.096133248277,70.895083026646}, +{315.305836782025,74.049024638860}, {312.748673492282,77.846568914895}, +{310.389740817720,82.339998803330}, {307.217701116395,78.951698812366}, +{310.390625000000,78.203125000000}, {310.860805676970,78.247737020270}, +{312.329555676970,78.528987020270}, {312.386989958777,78.540684664611}, +{313.761989958777,78.837559664611}, {313.234375000000,78.781250000000}, +{319.326079287885,78.541090786619}, {325.753402829160,77.817026570910}, +{339.735545390103,74.895663679129}, {350.446985853244,71.354926308487}, +{353.125279138929,69.816467148409}, {354.246795318966,68.419806397161}, +{354.288310985268,69.987158387467}, {107.893088734820,103.841923410053}, +{412.906150029990,61.293260146951}, {409.761470127352,62.134684085464}, +{407.280172710472,63.259435125605}, {407.285792255081,63.256184676520}, +{404.793374271599,64.364965077547}, {402.406250000000,64.781250000000}, +{400.799037804796,64.455489160260}, {399.281565012266,63.565560595750}, +{396.896451926356,60.617324020679}, {395.843750000000,59.187500000000}, +{394.132759007664,59.586356110398}, {392.227223295325,60.862510968959}, +{387.514233459670,66.524236094764}, {387.523930329881,66.510005317299}, +{384.972470502350,70.813073903396}, {383.182220364063,75.072391356081}, +{382.127155126215,79.356608210051}, {381.781250000000,83.734375000000}, +{382.036891605602,86.926476407739}, {382.837535469594,90.232985146136}, +{382.953125000000,90.984375000000}, {382.953125000000,110.781250000000}, +{380.453125000000,113.281250000000}, {374.875000000000,113.281250000000}, +{372.797350977108,112.469290573921}, {370.771127450416,110.197059087430}, +{366.940746762890,102.253660683699}, {366.931766441279,102.229357657717}, +{364.988344509233,95.969248633492}, {363.592635453443,89.400212341223}, +{362.750737781251,82.563409292771}, {362.468750000000,75.500000000000}, +{362.469585639102,75.564633561058}, {362.375835639102,71.939633561058}, +{362.376194806642,71.952282634846}, {362.282444806642,68.921032634846}, +{362.281250000000,68.843750000000}, {362.557974048920,65.558176179264}, +{363.371209408870,62.925233614273}, {365.078767647837,60.585701488502}, +{367.830147985199,58.062445160283}, {369.390625000000,57.515625000000}, +{372.609375000000,57.515625000000}, {375.044088155839,59.448023159988}, +{375.637838155839,61.994898159988}, {375.701153736333,62.463240580013}, +{375.794903736333,64.822615580013}, {375.796875000000,64.921875000000}, +{375.796875000000,66.390625000000}, {375.727843254951,66.974057381188}, +{375.364882971473,68.609156073692}, {375.377354243352,68.535253718305}, +{374.986729243352,71.082128718305}, {375.015625000000,70.703125000000}, +{375.946084438562,73.051058522014}, {371.472688855144,73.407169646001}, +{374.338903268299,66.961197216653}, {377.510670879106,61.308691210684}, +{380.962283852915,56.499192859154}, {384.668034355078,52.582243393122}, +{384.668120639869,52.582165462116}, {388.032154904598,50.002880989291}, +{391.626628158728,48.110057708285}, {395.367786243461,46.944465688666}, +{399.171875000000,46.546875000000}, {400.072873198005,46.714879663986}, +{404.885373198005,48.574254663986}, {404.871260445955,48.568850974212}, +{412.883679720929,50.905386234424}, {414.906250000000,53.359375000000}, +{414.906250000000,58.843750000000}, {412.906150029990,61.293260146951}, +{107.893088734820,103.841923410053}, {409.906250000000,58.843750000000}, +{409.906250000000,53.359375000000}, {411.928820279071,55.813363765576}, +{403.097489554045,53.243649025788}, {403.083376801995,53.238245336014}, +{398.270876801995,51.378870336014}, {399.171875000000,51.546875000000}, +{396.227916881538,51.823112436334}, {393.443684341272,52.679004791715}, +{390.735423220402,54.155322135709}, {388.019379360131,56.292834537884}, +{388.019465644922,56.292756606878}, {384.707638022085,59.784010265846}, +{381.637766620894,64.074121289316}, {378.784143606701,69.212630908347}, +{376.121061144856,75.249080353999}, {371.647665561438,75.605191477986}, +{370.464152438185,73.063686657060}, {370.015625000000,70.703125000000}, +{370.044520756648,70.324121281695}, {370.435145756648,67.777246281695}, +{370.447617028527,67.703343926308}, {370.865906745049,65.807192618812}, +{370.796875000000,66.390625000000}, {370.796875000000,64.921875000000}, +{370.798846263667,65.021134419987}, {370.705096263667,62.661759419987}, +{370.768411844161,63.130101840012}, {370.174661844161,60.583226840012}, +{372.609375000000,62.515625000000}, {369.390625000000,62.515625000000}, +{370.951102014801,61.968804839717}, {367.847540591130,65.152891385727}, +{367.281250000000,68.843750000000}, {367.280055193358,68.766467365154}, +{367.373805193358,71.797717365154}, {367.374164360898,71.810366438942}, +{367.467914360898,75.435366438942}, {367.468750000000,75.500000000000}, +{367.725824718749,82.182684457229}, {368.501114546557,88.552912658777}, +{369.800717990767,94.651845116508}, {371.630733558721,100.520642342283}, +{371.621753237110,100.496339316301}, {374.875000000000,108.281250000000}, +{380.453125000000,108.281250000000}, {377.953125000000,110.781250000000}, +{377.953125000000,90.984375000000}, {378.068714530406,91.735764853864}, +{377.111545894398,87.698523592261}, {376.781250000000,83.734375000000}, +{377.206829248785,78.659016789949}, {378.466217135937,73.583858643919}, +{380.533388872650,68.577551096604}, {383.382319670119,63.708744682701}, +{383.392016540330,63.694513905236}, {386.493443824758,59.714265008269}, +{389.655589204675,56.723426531041}, {392.798881617336,54.841378264602}, +{395.843750000000,54.187500000000}, {397.450962195204,54.513260839740}, +{398.968434987734,55.403189404250}, {401.353548073644,58.351425979321}, +{402.406250000000,59.781250000000}, {404.776707744919,58.931315323480}, +{404.782327289528,58.928064874395}, {408.035404872648,57.459065914536}, +{411.906349970010,56.394239853049}, {409.906250000000,58.843750000000}, +{107.893088734820, 103.841923410053} +}; diff --git a/perf/zrusin.c b/perf/zrusin.c new file mode 100644 index 00000000..68407751 --- /dev/null +++ b/perf/zrusin.c @@ -0,0 +1,90 @@ +/* + * Copyright © 2006 Red Hat, Inc. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Author: Carl D. Worth <cworth@cworth.org> + */ + +#include "cairo-perf.h" + +typedef struct { + double x; + double y; +} point_t; + +#include "zrusin-another.h" + +#define ARRAY_SIZE(arr) sizeof(arr)/sizeof(arr[0]) + +static void +zrusin_another_path (cairo_t *cr) +{ + unsigned int i; + + for (i=0; i < ARRAY_SIZE (zrusin_another); i++) + cairo_line_to (cr, zrusin_another[i].x, zrusin_another[i].y); +} + +static cairo_perf_ticks_t +zrusin_another_tessellate (cairo_t *cr, int width, int height) +{ + zrusin_another_path (cr); + + cairo_perf_timer_start (); + + /* We'd like to measure just tessellation without + * rasterization. For now, we can do that with cairo_in_fill. But + * we'll have to be careful since cairo_in_fill might eventually + * be optimized to have an implementation that doesn't necessarily + * include tessellation. */ + cairo_in_fill (cr, 50, 50); + + cairo_perf_timer_stop (); + + cairo_new_path (cr); + + return cairo_perf_timer_elapsed (); +} + +static cairo_perf_ticks_t +zrusin_another_fill (cairo_t *cr, int width, int height) +{ + zrusin_another_path (cr); + cairo_set_source_rgb (cr, 0.0, 0.0, 0.8); /* blue */ + + cairo_perf_timer_start (); + + cairo_fill (cr); + + cairo_perf_timer_stop (); + + cairo_new_path (cr); + + return cairo_perf_timer_elapsed (); +} + +void +zrusin (cairo_perf_t *perf, cairo_t *cr, int width, int height) +{ + cairo_perf_run (perf, "zrusin_another_tessellate", zrusin_another_tessellate); + cairo_perf_run (perf, "zrusin_another_fill", zrusin_another_fill); +} |