PathOpsBattles.cpp 715 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127
  1. /*
  2. * Copyright 2012 Google Inc.
  3. *
  4. * Use of this source code is governed by a BSD-style license that can be
  5. * found in the LICENSE file.
  6. */
  7. #include "tests/PathOpsExtendedTest.h"
  8. #include "tests/PathOpsTestCommon.h"
  9. #define TEST(name) { name, #name }
  10. static void issue414409(skiatest::Reporter* reporter, const char* filename) {
  11. SkPath path1, path2;
  12. // one fill 1
  13. path1.moveTo(9.53595e-07f, -60);
  14. path1.lineTo(5.08228e-15f, -83);
  15. path1.cubicTo(32.8673f, -83, 62.6386f, -63.6055f, 75.9208f, -33.5416f);
  16. path1.cubicTo(89.2029f, -3.47759f, 83.4937f, 31.5921f, 61.3615f, 55.8907f);
  17. path1.lineTo(46.9383f, 68.4529f);
  18. path1.lineTo(33.9313f, 49.484f);
  19. path1.cubicTo(37.7451f, 46.8689f, 41.2438f, 43.8216f, 44.3577f, 40.4029f);
  20. path1.lineTo(44.3577f, 40.4029f);
  21. path1.cubicTo(60.3569f, 22.8376f, 64.4841f, -2.51392f, 54.8825f, -24.2469f);
  22. path1.cubicTo(45.2809f, -45.9799f, 23.7595f, -60, 9.53595e-07f, -60);
  23. path1.close();
  24. // two fill 0
  25. path2.moveTo(46.9383f, 68.4529f);
  26. path2.cubicTo(17.5117f, 88.6307f, -21.518f, 87.7442f, -49.9981f, 66.251f);
  27. path2.cubicTo(-78.4781f, 44.7578f, -90.035f, 7.46781f, -78.7014f, -26.3644f);
  28. path2.cubicTo(-67.3679f, -60.1967f, -35.6801f, -83, -1.48383e-06f, -83);
  29. path2.lineTo(4.22689e-14f, -60);
  30. path2.cubicTo(-25.7929f, -60, -48.6997f, -43.5157f, -56.8926f, -19.0586f);
  31. path2.cubicTo(-65.0855f, 5.39842f, -56.7312f, 32.355f, -36.1432f, 47.8923f);
  32. path2.cubicTo(-15.5552f, 63.4296f, 12.6591f, 64.0704f, 33.9313f, 49.484f);
  33. path2.lineTo(46.9383f, 68.4529f);
  34. path2.close();
  35. testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
  36. }
  37. static void issue414409b(skiatest::Reporter* reporter, const char* filename) {
  38. SkPath path1, path2;
  39. // one fill=0 op=2
  40. path1.setFillType((SkPath::FillType) 0);
  41. path1.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  42. path1.cubicTo(SkBits2Float(0x41f12edc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4267b362), SkBits2Float(0xc2854e1f), SkBits2Float(0x42911faa), SkBits2Float(0xc2212f3b));
  43. path1.cubicTo(SkBits2Float(0x42ae65a2), SkBits2Float(0xc15f08de), SkBits2Float(0x42acc913), SkBits2Float(0x41923f59), SkBits2Float(0x428ce9f0), SkBits2Float(0x422f7dc4));
  44. path1.lineTo(SkBits2Float(0x424bbb16), SkBits2Float(0x41fdb8ed));
  45. path1.cubicTo(SkBits2Float(0x4279cf6e), SkBits2Float(0x41537137), SkBits2Float(0x427c23ea), SkBits2Float(0xc1213ad2), SkBits2Float(0x4251d142), SkBits2Float(0xc1e909ae));
  46. path1.cubicTo(SkBits2Float(0x42277e9a), SkBits2Float(0xc240baf8), SkBits2Float(0x41ae5968), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  47. path1.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  48. path1.close();
  49. path2.setFillType((SkPath::FillType) 1);
  50. path2.moveTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6));
  51. path2.cubicTo(SkBits2Float(0x4286af43), SkBits2Float(0x42437fa7), SkBits2Float(0x427ed0d6), SkBits2Float(0x42561f5a), SkBits2Float(0x426e69d2), SkBits2Float(0x42670c39));
  52. path2.lineTo(SkBits2Float(0x422c58d6), SkBits2Float(0x422705c1));
  53. path2.cubicTo(SkBits2Float(0x42383446), SkBits2Float(0x421ac98f), SkBits2Float(0x4242b98a), SkBits2Float(0x420d5308), SkBits2Float(0x424bbb17), SkBits2Float(0x41fdb8ee));
  54. path2.lineTo(SkBits2Float(0x428ce9ef), SkBits2Float(0x422f7dc6));
  55. path2.close();
  56. testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
  57. }
  58. static void issue414409c(skiatest::Reporter* reporter, const char* filename) {
  59. SkPath path1, path2;
  60. path1.setFillType((SkPath::FillType) 1);
  61. path1.moveTo(SkBits2Float(0x36961ef0), SkBits2Float(0xc2700000));
  62. path1.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  63. path1.cubicTo(SkBits2Float(0x3df86648), SkBits2Float(0xc2a60000), SkBits2Float(0x3e786777), SkBits2Float(0xc2a5ffdc), SkBits2Float(0x3eba4dc2), SkBits2Float(0xc2a5ff96));
  64. path1.lineTo(SkBits2Float(0x3eba4dc3), SkBits2Float(0xc2a5ff97));
  65. path1.cubicTo(SkBits2Float(0x3ec08370), SkBits2Float(0xc2a5ff8f), SkBits2Float(0x3ec6b964), SkBits2Float(0xc2a5ff88), SkBits2Float(0x3eccef58), SkBits2Float(0xc2a5ff80));
  66. path1.lineTo(SkBits2Float(0x3e942522), SkBits2Float(0xc26fff49));
  67. path1.cubicTo(SkBits2Float(0x3e8fa7da), SkBits2Float(0xc26fff56), SkBits2Float(0x3e8b2acd), SkBits2Float(0xc26fff61), SkBits2Float(0x3e86adc0), SkBits2Float(0xc26fff6b));
  68. path1.lineTo(SkBits2Float(0x3e86ad6a), SkBits2Float(0xc26fff69));
  69. path1.cubicTo(SkBits2Float(0x3e3391e9), SkBits2Float(0xc26fffce), SkBits2Float(0x3db3931e), SkBits2Float(0xc2700000), SkBits2Float(0x36961ef0), SkBits2Float(0xc2700000));
  70. path1.close();
  71. path2.setFillType((SkPath::FillType) 0);
  72. path2.moveTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81));
  73. path2.cubicTo(SkBits2Float(0x3f18c8a9), SkBits2Float(0xc2a5ff04), SkBits2Float(0x3f4b19b0), SkBits2Float(0xc2a5fe2d), SkBits2Float(0x3f7d6a37), SkBits2Float(0xc2a5fcfa));
  74. path2.lineTo(SkBits2Float(0x3f3730f2), SkBits2Float(0xc26ffba1));
  75. path2.cubicTo(SkBits2Float(0x3f12d1c8), SkBits2Float(0xc26ffd5d), SkBits2Float(0x3edce4b4), SkBits2Float(0xc26ffe95), SkBits2Float(0x3e942577), SkBits2Float(0xc26fff49));
  76. path2.lineTo(SkBits2Float(0x3eccef1a), SkBits2Float(0xc2a5ff81));
  77. path2.close();
  78. testPathOp(reporter, path1, path2, kUnion_SkPathOp, filename);
  79. }
  80. // fails to draw correctly
  81. static void battleOp1(skiatest::Reporter* reporter, const char* filename) {
  82. SkPath path;
  83. path.setFillType((SkPath::FillType) 0);
  84. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  85. path.cubicTo(SkBits2Float(0x3ea4d9f5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f24d9a9), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f774519), SkBits2Float(0xc2a5fd1f));
  86. path.lineTo(SkBits2Float(0x3f32bfc3), SkBits2Float(0xc26ffbd7));
  87. path.cubicTo(SkBits2Float(0x3eee5669), SkBits2Float(0xc26ffe9e), SkBits2Float(0x3e6e56cc), SkBits2Float(0xc2700000), SkBits2Float(0x357ffb40), SkBits2Float(0xc2700000));
  88. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  89. path.close();
  90. SkPath path1(path);
  91. path.reset();
  92. path.setFillType((SkPath::FillType) 0);
  93. path.moveTo(SkBits2Float(0x3f774503), SkBits2Float(0xc2a5fd1f));
  94. path.cubicTo(SkBits2Float(0x3f7f82ff), SkBits2Float(0xc2a5fcee), SkBits2Float(0x3f83e06d), SkBits2Float(0xc2a5fcbb), SkBits2Float(0x3f87ff59), SkBits2Float(0xc2a5fc85));
  95. path.lineTo(SkBits2Float(0x3f449f80), SkBits2Float(0xc26ffaf7));
  96. path.cubicTo(SkBits2Float(0x3f3eaa52), SkBits2Float(0xc26ffb47), SkBits2Float(0x3f38b4f5), SkBits2Float(0xc26ffb92), SkBits2Float(0x3f32bf98), SkBits2Float(0xc26ffbd9));
  97. path.lineTo(SkBits2Float(0x3f774503), SkBits2Float(0xc2a5fd1f));
  98. path.close();
  99. SkPath path2(path);
  100. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  101. }
  102. // op end success 1
  103. static void battleOp2(skiatest::Reporter* reporter, const char* filename) {
  104. SkPath path;
  105. path.setFillType((SkPath::FillType) 1);
  106. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  107. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  108. path.cubicTo(SkBits2Float(0x3ea4d9e6), SkBits2Float(0xc2a60000), SkBits2Float(0x3f24d99a), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f774503), SkBits2Float(0xc2a5fd1f));
  109. SkPath path1(path);
  110. path.reset();
  111. path.setFillType((SkPath::FillType) 0);
  112. path.moveTo(SkBits2Float(0x3f87ff64), SkBits2Float(0xc2a5fc85));
  113. path.cubicTo(SkBits2Float(0x3fcac720), SkBits2Float(0xc2a5f91a), SkBits2Float(0x4006c62a), SkBits2Float(0xc2a5f329), SkBits2Float(0x40282667), SkBits2Float(0xc2a5eab4));
  114. path.lineTo(SkBits2Float(0x3ff31bb9), SkBits2Float(0xc26fe136));
  115. path.cubicTo(SkBits2Float(0x3fc2da88), SkBits2Float(0xc26fed71), SkBits2Float(0x3f9295ff), SkBits2Float(0xc26ff607), SkBits2Float(0x3f449f66), SkBits2Float(0xc26ffaf9));
  116. path.lineTo(SkBits2Float(0x3f87ff64), SkBits2Float(0xc2a5fc85));
  117. path.close();
  118. SkPath path2(path);
  119. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  120. }
  121. // op end success 1
  122. static void battleOp3(skiatest::Reporter* reporter, const char* filename) {
  123. SkPath path;
  124. path.setFillType((SkPath::FillType) 0);
  125. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  126. path.cubicTo(SkBits2Float(0x3f19f03c), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f99ef95), SkBits2Float(0xc2a5fca7), SkBits2Float(0x3fe6e2fa), SkBits2Float(0xc2a5f5f7));
  127. path.lineTo(SkBits2Float(0x3fa6e80c), SkBits2Float(0xc26ff17d));
  128. path.cubicTo(SkBits2Float(0x3f5e8ed4), SkBits2Float(0xc26ffb2a), SkBits2Float(0x3ede8fc6), SkBits2Float(0xc2700000), SkBits2Float(0x35d9fd64), SkBits2Float(0xc2700000));
  129. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  130. path.close();
  131. SkPath path1(path);
  132. path.reset();
  133. path.setFillType((SkPath::FillType) 0);
  134. path.moveTo(SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  135. path.cubicTo(SkBits2Float(0x3fee94fb), SkBits2Float(0xc2a5f54c), SkBits2Float(0x3ff646db), SkBits2Float(0xc2a5f497), SkBits2Float(0x3ffdf8ad), SkBits2Float(0xc2a5f3db));
  136. path.lineTo(SkBits2Float(0x3fb79813), SkBits2Float(0xc26fee71));
  137. path.cubicTo(SkBits2Float(0x3fb20800), SkBits2Float(0xc26fef82), SkBits2Float(0x3fac77ff), SkBits2Float(0xc26ff085), SkBits2Float(0x3fa6e7f4), SkBits2Float(0xc26ff17d));
  138. path.lineTo(SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  139. path.close();
  140. SkPath path2(path);
  141. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  142. }
  143. // op end success 1
  144. static void battleOp4(skiatest::Reporter* reporter, const char* filename) {
  145. SkPath path;
  146. path.setFillType((SkPath::FillType) 1);
  147. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  148. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  149. path.cubicTo(SkBits2Float(0x3f19f03c), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f99ef95), SkBits2Float(0xc2a5fca7), SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  150. path.cubicTo(SkBits2Float(0x3fee94fb), SkBits2Float(0xc2a5f54c), SkBits2Float(0x3ff646db), SkBits2Float(0xc2a5f497), SkBits2Float(0x3ffdf8ad), SkBits2Float(0xc2a5f3db));
  151. path.lineTo(SkBits2Float(0x3fb79813), SkBits2Float(0xc26fee71));
  152. path.cubicTo(SkBits2Float(0x3fb20808), SkBits2Float(0xc26fef82), SkBits2Float(0x3fac780f), SkBits2Float(0xc26ff085), SkBits2Float(0x3fa6e80c), SkBits2Float(0xc26ff17d));
  153. path.lineTo(SkBits2Float(0x3fa6e7f4), SkBits2Float(0xc26ff17d));
  154. path.cubicTo(SkBits2Float(0x3f5e8eb4), SkBits2Float(0xc26ffb2a), SkBits2Float(0x3ede8fa6), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  155. path.close();
  156. SkPath path1(path);
  157. path.reset();
  158. path.setFillType((SkPath::FillType) 0);
  159. path.moveTo(SkBits2Float(0x3ffdf8c6), SkBits2Float(0xc2a5f3db));
  160. path.cubicTo(SkBits2Float(0x403d5556), SkBits2Float(0xc2a5e7ed), SkBits2Float(0x407ba65a), SkBits2Float(0xc2a5d338), SkBits2Float(0x409cf3fe), SkBits2Float(0xc2a5b5bc));
  161. path.lineTo(SkBits2Float(0x4062eb8a), SkBits2Float(0xc26f94a1));
  162. path.cubicTo(SkBits2Float(0x4035ea63), SkBits2Float(0xc26fbf44), SkBits2Float(0x4008de16), SkBits2Float(0xc26fdd35), SkBits2Float(0x3fb79810), SkBits2Float(0xc26fee74));
  163. path.lineTo(SkBits2Float(0x3ffdf8c6), SkBits2Float(0xc2a5f3db));
  164. path.close();
  165. SkPath path2(path);
  166. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  167. }
  168. // op end success 1
  169. static void battleOp5(skiatest::Reporter* reporter, const char* filename) {
  170. SkPath path;
  171. path.setFillType((SkPath::FillType) 0);
  172. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  173. path.cubicTo(SkBits2Float(0x3fe06a9b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40606368), SkBits2Float(0xc2a5e38e), SkBits2Float(0x40a82f8a), SkBits2Float(0xc2a5aab6));
  174. path.lineTo(SkBits2Float(0x40732902), SkBits2Float(0xc26f84b2));
  175. path.cubicTo(SkBits2Float(0x4022355b), SkBits2Float(0xc26fd6e1), SkBits2Float(0x3fa23a8f), SkBits2Float(0xc2700000), SkBits2Float(0xb5600574), SkBits2Float(0xc2700000));
  176. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  177. path.close();
  178. SkPath path1(path);
  179. path.reset();
  180. path.setFillType((SkPath::FillType) 0);
  181. path.moveTo(SkBits2Float(0x40a82f91), SkBits2Float(0xc2a5aab7));
  182. path.cubicTo(SkBits2Float(0x40adc8dc), SkBits2Float(0xc2a5a508), SkBits2Float(0x40b361d8), SkBits2Float(0xc2a59f10), SkBits2Float(0x40b8fa82), SkBits2Float(0xc2a598d0));
  183. path.lineTo(SkBits2Float(0x4085b825), SkBits2Float(0xc26f6ad0));
  184. path.cubicTo(SkBits2Float(0x4081ac7b), SkBits2Float(0xc26f73dc), SkBits2Float(0x407b412c), SkBits2Float(0xc26f7c7c), SkBits2Float(0x407328f8), SkBits2Float(0xc26f84b3));
  185. path.lineTo(SkBits2Float(0x40a82f91), SkBits2Float(0xc2a5aab7));
  186. path.close();
  187. SkPath path2(path);
  188. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  189. }
  190. // op end success 1
  191. static void battleOp6(skiatest::Reporter* reporter, const char* filename) {
  192. SkPath path;
  193. path.setFillType((SkPath::FillType) 1);
  194. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  195. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  196. path.cubicTo(SkBits2Float(0x3fe06a9b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40606368), SkBits2Float(0xc2a5e38e), SkBits2Float(0x40a82f91), SkBits2Float(0xc2a5aab7));
  197. path.cubicTo(SkBits2Float(0x40adc8dc), SkBits2Float(0xc2a5a508), SkBits2Float(0x40b361d8), SkBits2Float(0xc2a59f10), SkBits2Float(0x40b8fa82), SkBits2Float(0xc2a598d0));
  198. path.lineTo(SkBits2Float(0x4085b825), SkBits2Float(0xc26f6ad0));
  199. path.cubicTo(SkBits2Float(0x4081ac7d), SkBits2Float(0xc26f73dc), SkBits2Float(0x407b4133), SkBits2Float(0xc26f7c7c), SkBits2Float(0x40732902), SkBits2Float(0xc26f84b2));
  200. path.cubicTo(SkBits2Float(0x4022355b), SkBits2Float(0xc26fd6e1), SkBits2Float(0x3fa23a8f), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  201. path.close();
  202. path.moveTo(SkBits2Float(0x408fea52), SkBits2Float(0xc28dc28a));
  203. path.lineTo(SkBits2Float(0x407328f8), SkBits2Float(0xc26f84b3));
  204. path.lineTo(SkBits2Float(0x40732903), SkBits2Float(0xc26f84b3));
  205. path.lineTo(SkBits2Float(0x408fea52), SkBits2Float(0xc28dc28a));
  206. path.close();
  207. SkPath path1(path);
  208. path.reset();
  209. path.setFillType((SkPath::FillType) 0);
  210. path.moveTo(SkBits2Float(0x40b8fa77), SkBits2Float(0xc2a598d0));
  211. path.cubicTo(SkBits2Float(0x4109d7e9), SkBits2Float(0xc2a5337c), SkBits2Float(0x4137014a), SkBits2Float(0xc2a483b2), SkBits2Float(0x4163cbb6), SkBits2Float(0xc2a38a24));
  212. path.lineTo(SkBits2Float(0x4124abf0), SkBits2Float(0xc26c715c));
  213. path.cubicTo(SkBits2Float(0x41044af8), SkBits2Float(0xc26dda2b), SkBits2Float(0x40c74ab0), SkBits2Float(0xc26ed852), SkBits2Float(0x4085b82e), SkBits2Float(0xc26f6ad1));
  214. path.lineTo(SkBits2Float(0x40b8fa77), SkBits2Float(0xc2a598d0));
  215. path.close();
  216. SkPath path2(path);
  217. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  218. }
  219. static void battleOp7(skiatest::Reporter* reporter, const char* filename) {
  220. SkPath path;
  221. path.setFillType((SkPath::FillType) 0);
  222. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  223. path.cubicTo(SkBits2Float(0x3de5c884), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e65c882), SkBits2Float(0xc2a5ffe2), SkBits2Float(0x3eac5645), SkBits2Float(0xc2a5ffa7));
  224. path.lineTo(SkBits2Float(0x3e79297e), SkBits2Float(0xc26fff7f));
  225. path.cubicTo(SkBits2Float(0x3e261bbd), SkBits2Float(0xc26fffd7), SkBits2Float(0x3da61bbf), SkBits2Float(0xc2700000), SkBits2Float(0xb3244c00), SkBits2Float(0xc2700000));
  226. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  227. path.close();
  228. SkPath path1(path);
  229. path.reset();
  230. path.setFillType((SkPath::FillType) 0);
  231. path.moveTo(SkBits2Float(0x3eac564d), SkBits2Float(0xc2a5ffa7));
  232. path.cubicTo(SkBits2Float(0x3eb21458), SkBits2Float(0xc2a5ffa1), SkBits2Float(0x3eb7d2fc), SkBits2Float(0xc2a5ff9b), SkBits2Float(0x3ebd91a0), SkBits2Float(0xc2a5ff94));
  233. path.lineTo(SkBits2Float(0x3e8909ff), SkBits2Float(0xc26fff64));
  234. path.cubicTo(SkBits2Float(0x3e84e2cf), SkBits2Float(0xc26fff6d), SkBits2Float(0x3e80bc02), SkBits2Float(0xc26fff76), SkBits2Float(0x3e792a69), SkBits2Float(0xc26fff7f));
  235. path.lineTo(SkBits2Float(0x3eac564d), SkBits2Float(0xc2a5ffa7));
  236. path.close();
  237. SkPath path2(path);
  238. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  239. }
  240. // op end success 1
  241. static void battleOp8(skiatest::Reporter* reporter, const char* filename) {
  242. SkPath path;
  243. path.setFillType((SkPath::FillType) 1);
  244. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  245. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  246. path.cubicTo(SkBits2Float(0x3de5c884), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e65c882), SkBits2Float(0xc2a5ffe2), SkBits2Float(0x3eac564d), SkBits2Float(0xc2a5ffa7));
  247. path.cubicTo(SkBits2Float(0x3eb21458), SkBits2Float(0xc2a5ffa1), SkBits2Float(0x3eb7d2fc), SkBits2Float(0xc2a5ff9b), SkBits2Float(0x3ebd91a0), SkBits2Float(0xc2a5ff94));
  248. path.lineTo(SkBits2Float(0x3e8909ff), SkBits2Float(0xc26fff64));
  249. path.lineTo(SkBits2Float(0x3e792a69), SkBits2Float(0xc26fff7f));
  250. path.cubicTo(SkBits2Float(0x3e261bbd), SkBits2Float(0xc26fffd7), SkBits2Float(0x3da61bbf), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  251. path.close();
  252. SkPath path1(path);
  253. path.reset();
  254. path.setFillType((SkPath::FillType) 0);
  255. path.moveTo(SkBits2Float(0x3ebd921a), SkBits2Float(0xc2a5ff94));
  256. path.cubicTo(SkBits2Float(0x3f0d545f), SkBits2Float(0xc2a5ff29), SkBits2Float(0x3f3bdfbd), SkBits2Float(0xc2a5fe71), SkBits2Float(0x3f6a6ab6), SkBits2Float(0xc2a5fd69));
  257. path.lineTo(SkBits2Float(0x3f297558), SkBits2Float(0xc26ffc43));
  258. path.cubicTo(SkBits2Float(0x3f07d00d), SkBits2Float(0xc26ffdc0), SkBits2Float(0x3ecc550f), SkBits2Float(0xc26ffecc), SkBits2Float(0x3e8909b7), SkBits2Float(0xc26fff65));
  259. path.lineTo(SkBits2Float(0x3ebd921a), SkBits2Float(0xc2a5ff94));
  260. path.close();
  261. SkPath path2(path);
  262. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  263. }
  264. // op end success 1
  265. static void battleOp9(skiatest::Reporter* reporter, const char* filename) { // crashes
  266. SkPath path;
  267. path.setFillType((SkPath::FillType) 0);
  268. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  269. path.cubicTo(SkBits2Float(0x3ecc43bf), SkBits2Float(0xc2a60000), SkBits2Float(0x3f4c4385), SkBits2Float(0xc2a5fe87), SkBits2Float(0x3f993163), SkBits2Float(0xc2a5fb95));
  270. path.lineTo(SkBits2Float(0x3f5d7bc4), SkBits2Float(0xc26ff99d));
  271. path.cubicTo(SkBits2Float(0x3f13a919), SkBits2Float(0xc26ffdde), SkBits2Float(0x3e93a998), SkBits2Float(0xc26fffff), SkBits2Float(0x367b7ed0), SkBits2Float(0xc26fffff));
  272. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  273. path.close();
  274. SkPath path1(path);
  275. path.reset();
  276. path.setFillType((SkPath::FillType) 0);
  277. path.moveTo(SkBits2Float(0x3f993156), SkBits2Float(0xc2a5fb95));
  278. path.cubicTo(SkBits2Float(0x3f9e4c7a), SkBits2Float(0xc2a5fb49), SkBits2Float(0x3fa36794), SkBits2Float(0xc2a5fafa), SkBits2Float(0x3fa882aa), SkBits2Float(0xc2a5faa7));
  279. path.lineTo(SkBits2Float(0x3f73a149), SkBits2Float(0xc26ff845));
  280. path.cubicTo(SkBits2Float(0x3f6c3f64), SkBits2Float(0xc26ff8bf), SkBits2Float(0x3f64dd9d), SkBits2Float(0xc26ff931), SkBits2Float(0x3f5d7bcf), SkBits2Float(0xc26ff99f));
  281. path.lineTo(SkBits2Float(0x3f993156), SkBits2Float(0xc2a5fb95));
  282. path.close();
  283. SkPath path2(path);
  284. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  285. }
  286. static void battleOp10(skiatest::Reporter* reporter, const char* filename) {
  287. SkPath path;
  288. path.setFillType((SkPath::FillType) 0);
  289. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  290. path.cubicTo(SkBits2Float(0x3ddcd524), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e5cd462), SkBits2Float(0xc2a5ffe3), SkBits2Float(0x3ea59eff), SkBits2Float(0xc2a5ffac));
  291. path.lineTo(SkBits2Float(0x3e6f74a3), SkBits2Float(0xc26fff89));
  292. path.cubicTo(SkBits2Float(0x3e1fa33e), SkBits2Float(0xc26fffd9), SkBits2Float(0x3d9fa303), SkBits2Float(0xc2700000), SkBits2Float(0xb580e440), SkBits2Float(0xc2700000));
  293. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  294. path.close();
  295. SkPath path1(path);
  296. path.reset();
  297. path.setFillType((SkPath::FillType) 0);
  298. path.moveTo(SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  299. path.cubicTo(SkBits2Float(0x3eab24c0), SkBits2Float(0xc2a5ffa7), SkBits2Float(0x3eb0aa54), SkBits2Float(0xc2a5ffa1), SkBits2Float(0x3eb62fe9), SkBits2Float(0xc2a5ff9b));
  300. path.lineTo(SkBits2Float(0x3e83b355), SkBits2Float(0xc26fff6f));
  301. path.cubicTo(SkBits2Float(0x3e7f6bdb), SkBits2Float(0xc26fff79), SkBits2Float(0x3e777021), SkBits2Float(0xc26fff81), SkBits2Float(0x3e6f7465), SkBits2Float(0xc26fff8a));
  302. path.lineTo(SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  303. path.close();
  304. SkPath path2(path);
  305. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  306. }
  307. // op end success 1
  308. static void battleOp11(skiatest::Reporter* reporter, const char* filename) {
  309. SkPath path;
  310. path.setFillType((SkPath::FillType) 1);
  311. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  312. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  313. path.cubicTo(SkBits2Float(0x3ddcd524), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e5cd462), SkBits2Float(0xc2a5ffe3), SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  314. path.lineTo(SkBits2Float(0x3eb62fe9), SkBits2Float(0xc2a5ff9b));
  315. path.lineTo(SkBits2Float(0x3e83b355), SkBits2Float(0xc26fff6f));
  316. path.cubicTo(SkBits2Float(0x3e7f6bf0), SkBits2Float(0xc26fff79), SkBits2Float(0x3e77704b), SkBits2Float(0xc26fff81), SkBits2Float(0x3e6f74a3), SkBits2Float(0xc26fff89));
  317. path.cubicTo(SkBits2Float(0x3e1fa33e), SkBits2Float(0xc26fffd9), SkBits2Float(0x3d9fa303), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  318. path.close();
  319. path.moveTo(SkBits2Float(0x3e7ee007), SkBits2Float(0xc27f7413));
  320. path.lineTo(SkBits2Float(0x3e6f7465), SkBits2Float(0xc26fff8a));
  321. path.lineTo(SkBits2Float(0x3e6f74a4), SkBits2Float(0xc26fff8a));
  322. path.lineTo(SkBits2Float(0x3e7ee007), SkBits2Float(0xc27f7413));
  323. path.close();
  324. SkPath path1(path);
  325. path.reset();
  326. path.setFillType((SkPath::FillType) 0);
  327. path.moveTo(SkBits2Float(0x3eb62f8c), SkBits2Float(0xc2a5ff9c));
  328. path.cubicTo(SkBits2Float(0x3f07d31d), SkBits2Float(0xc2a5ff3a), SkBits2Float(0x3f348e3e), SkBits2Float(0xc2a5fe8f), SkBits2Float(0x3f614904), SkBits2Float(0xc2a5fd9c));
  329. path.lineTo(SkBits2Float(0x3f22db6c), SkBits2Float(0xc26ffc8c));
  330. path.cubicTo(SkBits2Float(0x3f0285bf), SkBits2Float(0xc26ffdeb), SkBits2Float(0x3ec45fa5), SkBits2Float(0xc26ffee1), SkBits2Float(0x3e83b387), SkBits2Float(0xc26fff6f));
  331. path.lineTo(SkBits2Float(0x3eb62f8c), SkBits2Float(0xc2a5ff9c));
  332. path.close();
  333. SkPath path2(path);
  334. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  335. }
  336. // op end success 1
  337. static void battleOp12(skiatest::Reporter* reporter, const char* filename) { // crashed
  338. SkPath path;
  339. path.setFillType((SkPath::FillType) 0);
  340. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  341. path.cubicTo(SkBits2Float(0x3ecc43bf), SkBits2Float(0xc2a60000), SkBits2Float(0x3f4c4385), SkBits2Float(0xc2a5fe87), SkBits2Float(0x3f993163), SkBits2Float(0xc2a5fb95));
  342. path.lineTo(SkBits2Float(0x3f5d7bc4), SkBits2Float(0xc26ff99d));
  343. path.cubicTo(SkBits2Float(0x3f13a919), SkBits2Float(0xc26ffdde), SkBits2Float(0x3e93a998), SkBits2Float(0xc26fffff), SkBits2Float(0x367b7ed0), SkBits2Float(0xc26fffff));
  344. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  345. path.close();
  346. SkPath path1(path);
  347. path.reset();
  348. path.setFillType((SkPath::FillType) 0);
  349. path.moveTo(SkBits2Float(0x3f993156), SkBits2Float(0xc2a5fb95));
  350. path.cubicTo(SkBits2Float(0x3f9e4c7a), SkBits2Float(0xc2a5fb49), SkBits2Float(0x3fa36794), SkBits2Float(0xc2a5fafa), SkBits2Float(0x3fa882aa), SkBits2Float(0xc2a5faa7));
  351. path.lineTo(SkBits2Float(0x3f73a149), SkBits2Float(0xc26ff845));
  352. path.cubicTo(SkBits2Float(0x3f6c3f64), SkBits2Float(0xc26ff8bf), SkBits2Float(0x3f64dd9d), SkBits2Float(0xc26ff931), SkBits2Float(0x3f5d7bcf), SkBits2Float(0xc26ff99f));
  353. path.lineTo(SkBits2Float(0x3f993156), SkBits2Float(0xc2a5fb95));
  354. path.close();
  355. SkPath path2(path);
  356. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  357. }
  358. // ../../third_party/tcmalloc/chromium/src/free_list.h:118] Memory corruption detected.
  359. static void battleOp13(skiatest::Reporter* reporter, const char* filename) {
  360. SkPath path;
  361. path.setFillType((SkPath::FillType) 0);
  362. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  363. path.cubicTo(SkBits2Float(0x3ddcd524), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e5cd462), SkBits2Float(0xc2a5ffe3), SkBits2Float(0x3ea59eff), SkBits2Float(0xc2a5ffac));
  364. path.lineTo(SkBits2Float(0x3e6f74a3), SkBits2Float(0xc26fff89));
  365. path.cubicTo(SkBits2Float(0x3e1fa33e), SkBits2Float(0xc26fffd9), SkBits2Float(0x3d9fa303), SkBits2Float(0xc2700000), SkBits2Float(0xb580e440), SkBits2Float(0xc2700000));
  366. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  367. path.close();
  368. SkPath path1(path);
  369. path.reset();
  370. path.setFillType((SkPath::FillType) 0);
  371. path.moveTo(SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  372. path.cubicTo(SkBits2Float(0x3eab24c0), SkBits2Float(0xc2a5ffa7), SkBits2Float(0x3eb0aa54), SkBits2Float(0xc2a5ffa1), SkBits2Float(0x3eb62fe9), SkBits2Float(0xc2a5ff9b));
  373. path.lineTo(SkBits2Float(0x3e83b355), SkBits2Float(0xc26fff6f));
  374. path.cubicTo(SkBits2Float(0x3e7f6bdb), SkBits2Float(0xc26fff79), SkBits2Float(0x3e777021), SkBits2Float(0xc26fff81), SkBits2Float(0x3e6f7465), SkBits2Float(0xc26fff8a));
  375. path.lineTo(SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  376. path.close();
  377. SkPath path2(path);
  378. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  379. }
  380. // op end success 1
  381. static void battleOp14(skiatest::Reporter* reporter, const char* filename) {
  382. SkPath path;
  383. path.setFillType((SkPath::FillType) 1);
  384. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  385. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  386. path.cubicTo(SkBits2Float(0x3ddcd524), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e5cd462), SkBits2Float(0xc2a5ffe3), SkBits2Float(0x3ea59f9c), SkBits2Float(0xc2a5ffad));
  387. path.lineTo(SkBits2Float(0x3eb62fe9), SkBits2Float(0xc2a5ff9b));
  388. path.lineTo(SkBits2Float(0x3e83b355), SkBits2Float(0xc26fff6f));
  389. path.cubicTo(SkBits2Float(0x3e7f6bf0), SkBits2Float(0xc26fff79), SkBits2Float(0x3e77704b), SkBits2Float(0xc26fff81), SkBits2Float(0x3e6f74a3), SkBits2Float(0xc26fff89));
  390. path.cubicTo(SkBits2Float(0x3e1fa33e), SkBits2Float(0xc26fffd9), SkBits2Float(0x3d9fa303), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  391. path.close();
  392. path.moveTo(SkBits2Float(0x3e7ee007), SkBits2Float(0xc27f7413));
  393. path.lineTo(SkBits2Float(0x3e6f7465), SkBits2Float(0xc26fff8a));
  394. path.lineTo(SkBits2Float(0x3e6f74a4), SkBits2Float(0xc26fff8a));
  395. path.lineTo(SkBits2Float(0x3e7ee007), SkBits2Float(0xc27f7413));
  396. path.close();
  397. SkPath path1(path);
  398. path.reset();
  399. path.setFillType((SkPath::FillType) 0);
  400. path.moveTo(SkBits2Float(0x3eb62f8c), SkBits2Float(0xc2a5ff9c));
  401. path.cubicTo(SkBits2Float(0x3f07d31d), SkBits2Float(0xc2a5ff3a), SkBits2Float(0x3f348e3e), SkBits2Float(0xc2a5fe8f), SkBits2Float(0x3f614904), SkBits2Float(0xc2a5fd9c));
  402. path.lineTo(SkBits2Float(0x3f22db6c), SkBits2Float(0xc26ffc8c));
  403. path.cubicTo(SkBits2Float(0x3f0285bf), SkBits2Float(0xc26ffdeb), SkBits2Float(0x3ec45fa5), SkBits2Float(0xc26ffee1), SkBits2Float(0x3e83b387), SkBits2Float(0xc26fff6f));
  404. path.lineTo(SkBits2Float(0x3eb62f8c), SkBits2Float(0xc2a5ff9c));
  405. path.close();
  406. SkPath path2(path);
  407. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  408. }
  409. // op end success 1
  410. static void battleOp15(skiatest::Reporter* reporter, const char* filename) {
  411. SkPath path;
  412. path.setFillType((SkPath::FillType) 0);
  413. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  414. path.cubicTo(SkBits2Float(0x3f19f03c), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f99ef95), SkBits2Float(0xc2a5fca7), SkBits2Float(0x3fe6e2fa), SkBits2Float(0xc2a5f5f7));
  415. path.lineTo(SkBits2Float(0x3fa6e80c), SkBits2Float(0xc26ff17d));
  416. path.cubicTo(SkBits2Float(0x3f5e8ed4), SkBits2Float(0xc26ffb2a), SkBits2Float(0x3ede8fc6), SkBits2Float(0xc2700000), SkBits2Float(0x35d9fd64), SkBits2Float(0xc2700000));
  417. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  418. path.close();
  419. SkPath path1(path);
  420. path.reset();
  421. path.setFillType((SkPath::FillType) 0);
  422. path.moveTo(SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  423. path.cubicTo(SkBits2Float(0x3fee94fb), SkBits2Float(0xc2a5f54c), SkBits2Float(0x3ff646db), SkBits2Float(0xc2a5f497), SkBits2Float(0x3ffdf8ad), SkBits2Float(0xc2a5f3db));
  424. path.lineTo(SkBits2Float(0x3fb79813), SkBits2Float(0xc26fee71));
  425. path.cubicTo(SkBits2Float(0x3fb20800), SkBits2Float(0xc26fef82), SkBits2Float(0x3fac77ff), SkBits2Float(0xc26ff085), SkBits2Float(0x3fa6e7f4), SkBits2Float(0xc26ff17d));
  426. path.lineTo(SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  427. path.close();
  428. SkPath path2(path);
  429. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  430. }
  431. // op end success 1
  432. static void battleOp16(skiatest::Reporter* reporter, const char* filename) {
  433. SkPath path;
  434. path.setFillType((SkPath::FillType) 1);
  435. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  436. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  437. path.cubicTo(SkBits2Float(0x3f19f03c), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f99ef95), SkBits2Float(0xc2a5fca7), SkBits2Float(0x3fe6e322), SkBits2Float(0xc2a5f5f7));
  438. path.cubicTo(SkBits2Float(0x3fee94fb), SkBits2Float(0xc2a5f54c), SkBits2Float(0x3ff646db), SkBits2Float(0xc2a5f497), SkBits2Float(0x3ffdf8ad), SkBits2Float(0xc2a5f3db));
  439. path.lineTo(SkBits2Float(0x3fb79813), SkBits2Float(0xc26fee71));
  440. path.cubicTo(SkBits2Float(0x3fb20808), SkBits2Float(0xc26fef82), SkBits2Float(0x3fac780f), SkBits2Float(0xc26ff085), SkBits2Float(0x3fa6e80c), SkBits2Float(0xc26ff17d));
  441. path.lineTo(SkBits2Float(0x3fa6e7f4), SkBits2Float(0xc26ff17d));
  442. path.cubicTo(SkBits2Float(0x3f5e8eb4), SkBits2Float(0xc26ffb2a), SkBits2Float(0x3ede8fa6), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  443. path.close();
  444. SkPath path1(path);
  445. path.reset();
  446. path.setFillType((SkPath::FillType) 0);
  447. path.moveTo(SkBits2Float(0x3ffdf8c6), SkBits2Float(0xc2a5f3db));
  448. path.cubicTo(SkBits2Float(0x403d5556), SkBits2Float(0xc2a5e7ed), SkBits2Float(0x407ba65a), SkBits2Float(0xc2a5d338), SkBits2Float(0x409cf3fe), SkBits2Float(0xc2a5b5bc));
  449. path.lineTo(SkBits2Float(0x4062eb8a), SkBits2Float(0xc26f94a1));
  450. path.cubicTo(SkBits2Float(0x4035ea63), SkBits2Float(0xc26fbf44), SkBits2Float(0x4008de16), SkBits2Float(0xc26fdd35), SkBits2Float(0x3fb79810), SkBits2Float(0xc26fee74));
  451. path.lineTo(SkBits2Float(0x3ffdf8c6), SkBits2Float(0xc2a5f3db));
  452. path.close();
  453. SkPath path2(path);
  454. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  455. }
  456. // op end success 1
  457. static void battleOp17(skiatest::Reporter* reporter, const char* filename) {
  458. SkPath path;
  459. path.setFillType((SkPath::FillType) 0);
  460. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  461. path.cubicTo(SkBits2Float(0x3f9860dc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40185ea2), SkBits2Float(0xc2a5f2e2), SkBits2Float(0x40647d09), SkBits2Float(0xc2a5d8aa));
  462. path.lineTo(SkBits2Float(0x40252c2a), SkBits2Float(0xc26fc723));
  463. path.cubicTo(SkBits2Float(0x3fdc4b47), SkBits2Float(0xc26fed09), SkBits2Float(0x3f5c4ea6), SkBits2Float(0xc26ffffe), SkBits2Float(0x3664fea3), SkBits2Float(0xc26ffffe));
  464. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  465. path.close();
  466. SkPath path1(path);
  467. path.reset();
  468. path.setFillType((SkPath::FillType) 0);
  469. path.moveTo(SkBits2Float(0x40647d17), SkBits2Float(0xc2a5d8ab));
  470. path.cubicTo(SkBits2Float(0x406c19ae), SkBits2Float(0xc2a5d60b), SkBits2Float(0x4073b608), SkBits2Float(0xc2a5d34a), SkBits2Float(0x407b5230), SkBits2Float(0xc2a5d069));
  471. path.lineTo(SkBits2Float(0x4035ad90), SkBits2Float(0xc26fbb32));
  472. path.cubicTo(SkBits2Float(0x40302d3b), SkBits2Float(0xc26fbf5d), SkBits2Float(0x402aacbf), SkBits2Float(0xc26fc358), SkBits2Float(0x40252c21), SkBits2Float(0xc26fc722));
  473. path.lineTo(SkBits2Float(0x40647d17), SkBits2Float(0xc2a5d8ab));
  474. path.close();
  475. SkPath path2(path);
  476. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  477. }
  478. // op end success 1
  479. static void battleOp18(skiatest::Reporter* reporter, const char* filename) {
  480. SkPath path;
  481. path.setFillType((SkPath::FillType) 1);
  482. path.moveTo(SkBits2Float(0x3664fea3), SkBits2Float(0xc26ffffe));
  483. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  484. path.cubicTo(SkBits2Float(0x3f9860dc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40185ea2), SkBits2Float(0xc2a5f2e2), SkBits2Float(0x40647d17), SkBits2Float(0xc2a5d8ab));
  485. path.cubicTo(SkBits2Float(0x406c19ae), SkBits2Float(0xc2a5d60b), SkBits2Float(0x4073b608), SkBits2Float(0xc2a5d34a), SkBits2Float(0x407b5230), SkBits2Float(0xc2a5d069));
  486. path.lineTo(SkBits2Float(0x4035ad90), SkBits2Float(0xc26fbb32));
  487. path.cubicTo(SkBits2Float(0x40302d3b), SkBits2Float(0xc26fbf5d), SkBits2Float(0x402aacbf), SkBits2Float(0xc26fc358), SkBits2Float(0x40252c2a), SkBits2Float(0xc26fc723));
  488. path.cubicTo(SkBits2Float(0x3fdc4b47), SkBits2Float(0xc26fed09), SkBits2Float(0x3f5c4ea6), SkBits2Float(0xc26ffffe), SkBits2Float(0x3664fea3), SkBits2Float(0xc26ffffe));
  489. path.close();
  490. SkPath path1(path);
  491. path.reset();
  492. path.setFillType((SkPath::FillType) 0);
  493. path.moveTo(SkBits2Float(0x407b523a), SkBits2Float(0xc2a5d069));
  494. path.cubicTo(SkBits2Float(0x40bb53e8), SkBits2Float(0xc2a5a1ad), SkBits2Float(0x40f8dfd1), SkBits2Float(0xc2a5508e), SkBits2Float(0x411b1813), SkBits2Float(0xc2a4dd32));
  495. path.lineTo(SkBits2Float(0x40e03b7c), SkBits2Float(0xc26e5b8f));
  496. path.cubicTo(SkBits2Float(0x40b3e8bb), SkBits2Float(0xc26f0259), SkBits2Float(0x40876aeb), SkBits2Float(0xc26f77a1), SkBits2Float(0x4035ad92), SkBits2Float(0xc26fbb33));
  497. path.lineTo(SkBits2Float(0x407b523a), SkBits2Float(0xc2a5d069));
  498. path.close();
  499. SkPath path2(path);
  500. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  501. }
  502. // op end success 1
  503. static void battleOp19(skiatest::Reporter* reporter, const char* filename) {
  504. SkPath path;
  505. path.setFillType((SkPath::FillType) 0);
  506. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  507. path.cubicTo(SkBits2Float(0x40272e66), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40a7227d), SkBits2Float(0xc2a5c0db), SkBits2Float(0x40fa5a70), SkBits2Float(0xc2a542ca));
  508. path.lineTo(SkBits2Float(0x40b4fa6e), SkBits2Float(0xc26eee73));
  509. path.cubicTo(SkBits2Float(0x4071a3f5), SkBits2Float(0xc26fa4b8), SkBits2Float(0x3ff1b53c), SkBits2Float(0xc2700000), SkBits2Float(0x359dfd46), SkBits2Float(0xc2700000));
  510. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  511. path.close();
  512. SkPath path1(path);
  513. path.reset();
  514. path.setFillType((SkPath::FillType) 0);
  515. path.moveTo(SkBits2Float(0x40fa5a6d), SkBits2Float(0xc2a542cb));
  516. path.cubicTo(SkBits2Float(0x4101563b), SkBits2Float(0xc2a5362f), SkBits2Float(0x41057ec0), SkBits2Float(0xc2a528f4), SkBits2Float(0x4109a6c0), SkBits2Float(0xc2a51b18));
  517. path.lineTo(SkBits2Float(0x40c70391), SkBits2Float(0xc26eb50e));
  518. path.cubicTo(SkBits2Float(0x40c10142), SkBits2Float(0xc26ec918), SkBits2Float(0x40bafe32), SkBits2Float(0xc26edc3a), SkBits2Float(0x40b4fa70), SkBits2Float(0xc26eee73));
  519. path.lineTo(SkBits2Float(0x40fa5a6d), SkBits2Float(0xc2a542cb));
  520. path.close();
  521. SkPath path2(path);
  522. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  523. }
  524. // op end success 1
  525. static void battleOp20(skiatest::Reporter* reporter, const char* filename) {
  526. SkPath path;
  527. path.setFillType((SkPath::FillType) 1);
  528. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  529. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  530. path.cubicTo(SkBits2Float(0x40272e63), SkBits2Float(0xc2a60000), SkBits2Float(0x40a7227a), SkBits2Float(0xc2a5c0db), SkBits2Float(0x40fa5a6c), SkBits2Float(0xc2a542ca));
  531. path.lineTo(SkBits2Float(0x40fa5a6d), SkBits2Float(0xc2a542cb));
  532. path.cubicTo(SkBits2Float(0x4101563b), SkBits2Float(0xc2a5362f), SkBits2Float(0x41057ec0), SkBits2Float(0xc2a528f4), SkBits2Float(0x4109a6c0), SkBits2Float(0xc2a51b18));
  533. path.lineTo(SkBits2Float(0x40c70391), SkBits2Float(0xc26eb50e));
  534. path.cubicTo(SkBits2Float(0x40c10142), SkBits2Float(0xc26ec918), SkBits2Float(0x40bafe32), SkBits2Float(0xc26edc3a), SkBits2Float(0x40b4fa6e), SkBits2Float(0xc26eee73));
  535. path.cubicTo(SkBits2Float(0x4071a3f5), SkBits2Float(0xc26fa4b8), SkBits2Float(0x3ff1b53c), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  536. path.close();
  537. SkPath path1(path);
  538. path.reset();
  539. path.setFillType((SkPath::FillType) 0);
  540. path.moveTo(SkBits2Float(0x4109a6bc), SkBits2Float(0xc2a51b19));
  541. path.cubicTo(SkBits2Float(0x414d093d), SkBits2Float(0xc2a43a61), SkBits2Float(0x4187e474), SkBits2Float(0xc2a2b4fa), SkBits2Float(0x41a8a805), SkBits2Float(0xc2a08e4d));
  542. path.lineTo(SkBits2Float(0x4173d72c), SkBits2Float(0xc2682105));
  543. path.cubicTo(SkBits2Float(0x41447890), SkBits2Float(0xc26b3d2d), SkBits2Float(0x4114380c), SkBits2Float(0xc26d702b), SkBits2Float(0x40c70392), SkBits2Float(0xc26eb510));
  544. path.lineTo(SkBits2Float(0x4109a6bc), SkBits2Float(0xc2a51b19));
  545. path.close();
  546. SkPath path2(path);
  547. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  548. }
  549. // op end success 1
  550. static void battleOp21(skiatest::Reporter* reporter, const char* filename) {
  551. SkPath path;
  552. path.setFillType((SkPath::FillType) 0);
  553. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  554. path.cubicTo(SkBits2Float(0x404ef9c5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40cee321), SkBits2Float(0xc2a59f3a), SkBits2Float(0x411ad5ab), SkBits2Float(0xc2a4de2c));
  555. path.lineTo(SkBits2Float(0x40dfdb77), SkBits2Float(0xc26e5cf8));
  556. path.cubicTo(SkBits2Float(0x40958e99), SkBits2Float(0xc26f7414), SkBits2Float(0x40159f04), SkBits2Float(0xc26ffffe), SkBits2Float(0x36ae7f52), SkBits2Float(0xc26ffffe));
  557. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  558. path.close();
  559. SkPath path1(path);
  560. path.reset();
  561. path.setFillType((SkPath::FillType) 0);
  562. path.moveTo(SkBits2Float(0x411ad5aa), SkBits2Float(0xc2a4de2c));
  563. path.cubicTo(SkBits2Float(0x411ff8ea), SkBits2Float(0xc2a4cadf), SkBits2Float(0x41251b3e), SkBits2Float(0xc2a4b69c), SkBits2Float(0x412a3c98), SkBits2Float(0xc2a4a163));
  564. path.lineTo(SkBits2Float(0x40f6200f), SkBits2Float(0xc26e0518));
  565. path.cubicTo(SkBits2Float(0x40eeb53e), SkBits2Float(0xc26e23c6), SkBits2Float(0x40e74902), SkBits2Float(0xc26e4112), SkBits2Float(0x40dfdb73), SkBits2Float(0xc26e5cf8));
  566. path.lineTo(SkBits2Float(0x411ad5aa), SkBits2Float(0xc2a4de2c));
  567. path.close();
  568. SkPath path2(path);
  569. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  570. }
  571. // op end fail 1
  572. static void battleOp22(skiatest::Reporter* reporter, const char* filename) {
  573. SkPath path;
  574. path.setFillType((SkPath::FillType) 0);
  575. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  576. path.cubicTo(SkBits2Float(0x407fb41a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40ff895b), SkBits2Float(0xc2a56c4b), SkBits2Float(0x413f077c), SkBits2Float(0xc2a44609));
  577. path.lineTo(SkBits2Float(0x410a17ee), SkBits2Float(0xc26d8104));
  578. path.cubicTo(SkBits2Float(0x40b8b9ab), SkBits2Float(0xc26f2a74), SkBits2Float(0x4038d88b), SkBits2Float(0xc2700000), SkBits2Float(0x337fa8c0), SkBits2Float(0xc2700000));
  579. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  580. path.close();
  581. SkPath path1(path);
  582. path.reset();
  583. path.setFillType((SkPath::FillType) 0);
  584. path.moveTo(SkBits2Float(0x413f0780), SkBits2Float(0xc2a44609));
  585. path.cubicTo(SkBits2Float(0x41455a4a), SkBits2Float(0xc2a4289f), SkBits2Float(0x414bab5a), SkBits2Float(0xc2a409bf), SkBits2Float(0x4151fa92), SkBits2Float(0xc2a3e96b));
  586. path.lineTo(SkBits2Float(0x4117cabb), SkBits2Float(0xc26cfb1d));
  587. path.cubicTo(SkBits2Float(0x41133b1d), SkBits2Float(0xc26d29dc), SkBits2Float(0x410eaa27), SkBits2Float(0xc26d567f), SkBits2Float(0x410a17f1), SkBits2Float(0xc26d8105));
  588. path.lineTo(SkBits2Float(0x413f0780), SkBits2Float(0xc2a44609));
  589. path.close();
  590. SkPath path2(path);
  591. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  592. }
  593. // op end success 1
  594. static void battleOp23(skiatest::Reporter* reporter, const char* filename) {
  595. SkPath path;
  596. path.setFillType((SkPath::FillType) 1);
  597. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  598. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  599. path.cubicTo(SkBits2Float(0x407fb41a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40ff895b), SkBits2Float(0xc2a56c4b), SkBits2Float(0x413f0780), SkBits2Float(0xc2a44609));
  600. path.cubicTo(SkBits2Float(0x41455a4a), SkBits2Float(0xc2a4289f), SkBits2Float(0x414bab5a), SkBits2Float(0xc2a409bf), SkBits2Float(0x4151fa92), SkBits2Float(0xc2a3e96b));
  601. path.lineTo(SkBits2Float(0x4117cabb), SkBits2Float(0xc26cfb1d));
  602. path.cubicTo(SkBits2Float(0x41133b1d), SkBits2Float(0xc26d29dc), SkBits2Float(0x410eaa27), SkBits2Float(0xc26d567f), SkBits2Float(0x410a17ee), SkBits2Float(0xc26d8104));
  603. path.cubicTo(SkBits2Float(0x40b8b9ab), SkBits2Float(0xc26f2a74), SkBits2Float(0x4038d88b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  604. path.close();
  605. SkPath path1(path);
  606. path.reset();
  607. path.setFillType((SkPath::FillType) 0);
  608. path.moveTo(SkBits2Float(0x4151fa93), SkBits2Float(0xc2a3e96b));
  609. path.cubicTo(SkBits2Float(0x419c2b7d), SkBits2Float(0xc2a1dce5), SkBits2Float(0x41ce36f8), SkBits2Float(0xc29e52a6), SkBits2Float(0x41fe1a0a), SkBits2Float(0xc2995d2e));
  610. path.lineTo(SkBits2Float(0x41b7b024), SkBits2Float(0xc25dbb29));
  611. path.cubicTo(SkBits2Float(0x41951228), SkBits2Float(0xc264e68b), SkBits2Float(0x4161c9b2), SkBits2Float(0xc26a04c8), SkBits2Float(0x4117cabf), SkBits2Float(0xc26cfb1e));
  612. path.lineTo(SkBits2Float(0x4151fa93), SkBits2Float(0xc2a3e96b));
  613. path.close();
  614. SkPath path2(path);
  615. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  616. }
  617. // op end success 1
  618. static void battleOp24(skiatest::Reporter* reporter, const char* filename) {
  619. SkPath path;
  620. path.setFillType((SkPath::FillType) 0);
  621. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  622. path.cubicTo(SkBits2Float(0x409bc7b0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x411ba103), SkBits2Float(0xc2a524b6), SkBits2Float(0x4168515c), SkBits2Float(0xc2a370af));
  623. path.lineTo(SkBits2Float(0x4127f0cc), SkBits2Float(0xc26c4c8f));
  624. path.cubicTo(SkBits2Float(0x40e1017a), SkBits2Float(0xc26ec2f6), SkBits2Float(0x40613965), SkBits2Float(0xc26fffff), SkBits2Float(0x3655fea5), SkBits2Float(0xc26fffff));
  625. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  626. path.close();
  627. SkPath path1(path);
  628. path.reset();
  629. path.setFillType((SkPath::FillType) 0);
  630. path.moveTo(SkBits2Float(0x4168515e), SkBits2Float(0xc2a370b0));
  631. path.cubicTo(SkBits2Float(0x416ffb5b), SkBits2Float(0xc2a3451c), SkBits2Float(0x4177a23d), SkBits2Float(0xc2a31761), SkBits2Float(0x417f45ca), SkBits2Float(0xc2a2e77f));
  632. path.lineTo(SkBits2Float(0x413888ce), SkBits2Float(0xc26b8638));
  633. path.cubicTo(SkBits2Float(0x41330328), SkBits2Float(0xc26bcb72), SkBits2Float(0x412d7b1a), SkBits2Float(0xc26c0d90), SkBits2Float(0x4127f0cb), SkBits2Float(0xc26c4c90));
  634. path.lineTo(SkBits2Float(0x4168515e), SkBits2Float(0xc2a370b0));
  635. path.close();
  636. SkPath path2(path);
  637. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  638. }
  639. // op end success 1
  640. static void battleOp25(skiatest::Reporter* reporter, const char* filename) {
  641. SkPath path;
  642. path.setFillType((SkPath::FillType) 1);
  643. path.moveTo(SkBits2Float(0x3655fea5), SkBits2Float(0xc26fffff));
  644. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  645. path.cubicTo(SkBits2Float(0x409bc7b0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x411ba103), SkBits2Float(0xc2a524b6), SkBits2Float(0x4168515e), SkBits2Float(0xc2a370b0));
  646. path.cubicTo(SkBits2Float(0x416ffb5b), SkBits2Float(0xc2a3451c), SkBits2Float(0x4177a23d), SkBits2Float(0xc2a31761), SkBits2Float(0x417f45ca), SkBits2Float(0xc2a2e77f));
  647. path.lineTo(SkBits2Float(0x413888ce), SkBits2Float(0xc26b8638));
  648. path.cubicTo(SkBits2Float(0x41330328), SkBits2Float(0xc26bcb72), SkBits2Float(0x412d7b1a), SkBits2Float(0xc26c0d90), SkBits2Float(0x4127f0cc), SkBits2Float(0xc26c4c8f));
  649. path.cubicTo(SkBits2Float(0x40e1017a), SkBits2Float(0xc26ec2f6), SkBits2Float(0x40613965), SkBits2Float(0xc26fffff), SkBits2Float(0x3655fea5), SkBits2Float(0xc26fffff));
  650. path.close();
  651. SkPath path1(path);
  652. path.reset();
  653. path.setFillType((SkPath::FillType) 0);
  654. path.moveTo(SkBits2Float(0x417f45c8), SkBits2Float(0xc2a2e780));
  655. path.cubicTo(SkBits2Float(0x41bda27d), SkBits2Float(0xc29fde49), SkBits2Float(0x41f99531), SkBits2Float(0xc29aa2c4), SkBits2Float(0x4218d569), SkBits2Float(0xc2935d77));
  656. path.lineTo(SkBits2Float(0x41dcf6db), SkBits2Float(0xc2550ed7));
  657. path.cubicTo(SkBits2Float(0x41b46bda), SkBits2Float(0xc25f91e2), SkBits2Float(0x418915db), SkBits2Float(0xc2672288), SkBits2Float(0x413888d2), SkBits2Float(0xc26b8639));
  658. path.lineTo(SkBits2Float(0x417f45c8), SkBits2Float(0xc2a2e780));
  659. path.close();
  660. SkPath path2(path);
  661. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  662. }
  663. // op end success 1
  664. static void battleOp26(skiatest::Reporter* reporter, const char* filename) {
  665. SkPath path;
  666. path.setFillType((SkPath::FillType) 0);
  667. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  668. path.cubicTo(SkBits2Float(0x40b98c15), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41394aaf), SkBits2Float(0xc2a4c8e8), SkBits2Float(0x418a04fa), SkBits2Float(0xc2a25fd2));
  669. path.lineTo(SkBits2Float(0x41478bd6), SkBits2Float(0xc26ac20e));
  670. path.cubicTo(SkBits2Float(0x4105f224), SkBits2Float(0xc26e3e3c), SkBits2Float(0x40862167), SkBits2Float(0xc2700000), SkBits2Float(0xb4d00ae8), SkBits2Float(0xc2700000));
  671. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  672. path.close();
  673. SkPath path1(path);
  674. path.reset();
  675. path.setFillType((SkPath::FillType) 0);
  676. path.moveTo(SkBits2Float(0x418a04fd), SkBits2Float(0xc2a25fd2));
  677. path.cubicTo(SkBits2Float(0x418e8d81), SkBits2Float(0xc2a2222a), SkBits2Float(0x41931368), SkBits2Float(0xc2a1e17a), SkBits2Float(0x41979681), SkBits2Float(0xc2a19dc3));
  678. path.lineTo(SkBits2Float(0x415b29c8), SkBits2Float(0xc269a97e));
  679. path.cubicTo(SkBits2Float(0x4154a3c3), SkBits2Float(0xc26a0b66), SkBits2Float(0x414e19b0), SkBits2Float(0xc26a68ed), SkBits2Float(0x41478bd5), SkBits2Float(0xc26ac20f));
  680. path.lineTo(SkBits2Float(0x418a04fd), SkBits2Float(0xc2a25fd2));
  681. path.close();
  682. SkPath path2(path);
  683. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  684. }
  685. // op end success 1
  686. static void battleOp27(skiatest::Reporter* reporter, const char* filename) {
  687. SkPath path;
  688. path.setFillType((SkPath::FillType) 1);
  689. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  690. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  691. path.cubicTo(SkBits2Float(0x40b98c15), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41394aaf), SkBits2Float(0xc2a4c8e8), SkBits2Float(0x418a04fd), SkBits2Float(0xc2a25fd2));
  692. path.cubicTo(SkBits2Float(0x418e8d81), SkBits2Float(0xc2a2222a), SkBits2Float(0x41931368), SkBits2Float(0xc2a1e17a), SkBits2Float(0x41979681), SkBits2Float(0xc2a19dc3));
  693. path.lineTo(SkBits2Float(0x415b29c8), SkBits2Float(0xc269a97e));
  694. path.cubicTo(SkBits2Float(0x4154a3c3), SkBits2Float(0xc26a0b66), SkBits2Float(0x414e19b0), SkBits2Float(0xc26a68ed), SkBits2Float(0x41478bd6), SkBits2Float(0xc26ac20e));
  695. path.cubicTo(SkBits2Float(0x4105f224), SkBits2Float(0xc26e3e3c), SkBits2Float(0x40862167), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  696. path.close();
  697. SkPath path1(path);
  698. path.reset();
  699. path.setFillType((SkPath::FillType) 0);
  700. path.moveTo(SkBits2Float(0x41979680), SkBits2Float(0xc2a19dc4));
  701. path.cubicTo(SkBits2Float(0x41e0e1b2), SkBits2Float(0xc29d51d4), SkBits2Float(0x42135c08), SkBits2Float(0xc295f036), SkBits2Float(0x42330e86), SkBits2Float(0xc28bc9b7));
  702. path.lineTo(SkBits2Float(0x42017048), SkBits2Float(0xc24a1a63));
  703. path.cubicTo(SkBits2Float(0x41d50cc4), SkBits2Float(0xc258c742), SkBits2Float(0x41a290a5), SkBits2Float(0xc263733c), SkBits2Float(0x415b29c7), SkBits2Float(0xc269a980));
  704. path.lineTo(SkBits2Float(0x41979680), SkBits2Float(0xc2a19dc4));
  705. path.close();
  706. SkPath path2(path);
  707. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  708. }
  709. // op end success 1
  710. static void battleOp28(skiatest::Reporter* reporter, const char* filename) {
  711. SkPath path;
  712. path.setFillType((SkPath::FillType) 0);
  713. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  714. path.cubicTo(SkBits2Float(0x40dd1e63), SkBits2Float(0xc2a5ffff), SkBits2Float(0x415caf98), SkBits2Float(0xc2a44632), SkBits2Float(0x41a3e96c), SkBits2Float(0xc2a0dcda));
  715. path.lineTo(SkBits2Float(0x416cfb1c), SkBits2Float(0xc2689294));
  716. path.cubicTo(SkBits2Float(0x411f8831), SkBits2Float(0xc26d8140), SkBits2Float(0x409fd849), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  717. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  718. path.close();
  719. SkPath path1(path);
  720. path.reset();
  721. path.setFillType((SkPath::FillType) 0);
  722. path.moveTo(SkBits2Float(0x41a3e96b), SkBits2Float(0xc2a0dcda));
  723. path.cubicTo(SkBits2Float(0x41a94306), SkBits2Float(0xc2a085a1), SkBits2Float(0x41ae9839), SkBits2Float(0xc2a02a23), SkBits2Float(0x41b3e8b2), SkBits2Float(0xc29fca67));
  724. path.lineTo(SkBits2Float(0x41820dff), SkBits2Float(0xc26705ca));
  725. path.cubicTo(SkBits2Float(0x417c6d0a), SkBits2Float(0xc2679035), SkBits2Float(0x4174b742), SkBits2Float(0xc268147b), SkBits2Float(0x416cfb1d), SkBits2Float(0xc2689296));
  726. path.lineTo(SkBits2Float(0x41a3e96b), SkBits2Float(0xc2a0dcda));
  727. path.close();
  728. SkPath path2(path);
  729. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  730. }
  731. // op end success 1
  732. static void battleOp29(skiatest::Reporter* reporter, const char* filename) {
  733. SkPath path;
  734. path.setFillType((SkPath::FillType) 1);
  735. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  736. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  737. path.cubicTo(SkBits2Float(0x40dd1e62), SkBits2Float(0xc2a60000), SkBits2Float(0x415caf97), SkBits2Float(0xc2a44632), SkBits2Float(0x41a3e96b), SkBits2Float(0xc2a0dcda));
  738. path.lineTo(SkBits2Float(0x416cfb1d), SkBits2Float(0xc2689296));
  739. path.cubicTo(SkBits2Float(0x4174b742), SkBits2Float(0xc268147b), SkBits2Float(0x417c6d0a), SkBits2Float(0xc2679035), SkBits2Float(0x41820dff), SkBits2Float(0xc26705ca));
  740. path.lineTo(SkBits2Float(0x41b3e8b2), SkBits2Float(0xc29fca67));
  741. path.cubicTo(SkBits2Float(0x41ae9839), SkBits2Float(0xc2a02a23), SkBits2Float(0x41a94307), SkBits2Float(0xc2a085a1), SkBits2Float(0x41a3e96c), SkBits2Float(0xc2a0dcda));
  742. path.lineTo(SkBits2Float(0x416cfb1c), SkBits2Float(0xc2689294));
  743. path.cubicTo(SkBits2Float(0x411f8831), SkBits2Float(0xc26d8140), SkBits2Float(0x409fd849), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  744. path.close();
  745. SkPath path1(path);
  746. path.reset();
  747. path.setFillType((SkPath::FillType) 0);
  748. path.moveTo(SkBits2Float(0x41b3e8b1), SkBits2Float(0xc29fca67));
  749. path.cubicTo(SkBits2Float(0x4205291f), SkBits2Float(0xc299b5bb), SkBits2Float(0x422d73c0), SkBits2Float(0xc28f4fcf), SkBits2Float(0x425064bf), SkBits2Float(0xc2813989));
  750. path.lineTo(SkBits2Float(0x4216a55b), SkBits2Float(0xc23ad4b9));
  751. path.cubicTo(SkBits2Float(0x41fac62f), SkBits2Float(0xc24f329e), SkBits2Float(0x41c0857c), SkBits2Float(0xc25e3b2e), SkBits2Float(0x41820dfe), SkBits2Float(0xc26705cb));
  752. path.lineTo(SkBits2Float(0x41b3e8b1), SkBits2Float(0xc29fca67));
  753. path.close();
  754. SkPath path2(path);
  755. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  756. }
  757. // op end success 1
  758. static void battleOp30(skiatest::Reporter* reporter, const char* filename) {
  759. SkPath path;
  760. path.setFillType((SkPath::FillType) 0);
  761. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  762. path.cubicTo(SkBits2Float(0x41028186), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4182264a), SkBits2Float(0xc2a39869), SkBits2Float(0x41c098e8), SkBits2Float(0xc29edd15));
  763. path.lineTo(SkBits2Float(0x418b3a1a), SkBits2Float(0xc265aeac));
  764. path.cubicTo(SkBits2Float(0x413c2b06), SkBits2Float(0xc26c85fe), SkBits2Float(0x40bcaeed), SkBits2Float(0xc2700000), SkBits2Float(0x337fa8c0), SkBits2Float(0xc2700000));
  765. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  766. path.close();
  767. SkPath path1(path);
  768. path.reset();
  769. path.setFillType((SkPath::FillType) 0);
  770. path.moveTo(SkBits2Float(0x41c098e9), SkBits2Float(0xc29edd15));
  771. path.cubicTo(SkBits2Float(0x41c6d4b6), SkBits2Float(0xc29e642a), SkBits2Float(0x41cd0950), SkBits2Float(0xc29de562), SkBits2Float(0x41d33633), SkBits2Float(0xc29d60c8));
  772. path.lineTo(SkBits2Float(0x4198aee4), SkBits2Float(0xc26388d7));
  773. path.cubicTo(SkBits2Float(0x41943815), SkBits2Float(0xc264488f), SkBits2Float(0x418fbbb2), SkBits2Float(0xc264ffdc), SkBits2Float(0x418b3a19), SkBits2Float(0xc265aeae));
  774. path.lineTo(SkBits2Float(0x41c098e9), SkBits2Float(0xc29edd15));
  775. path.close();
  776. SkPath path2(path);
  777. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  778. }
  779. // op end success 1
  780. static void battleOp31(skiatest::Reporter* reporter, const char* filename) {
  781. SkPath path;
  782. path.setFillType((SkPath::FillType) 1);
  783. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  784. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  785. path.cubicTo(SkBits2Float(0x41028186), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4182264a), SkBits2Float(0xc2a39869), SkBits2Float(0x41c098e9), SkBits2Float(0xc29edd15));
  786. path.cubicTo(SkBits2Float(0x41c6d4b6), SkBits2Float(0xc29e642a), SkBits2Float(0x41cd0950), SkBits2Float(0xc29de562), SkBits2Float(0x41d33633), SkBits2Float(0xc29d60c8));
  787. path.lineTo(SkBits2Float(0x4198aee4), SkBits2Float(0xc26388d7));
  788. path.cubicTo(SkBits2Float(0x41943816), SkBits2Float(0xc264488f), SkBits2Float(0x418fbbb2), SkBits2Float(0xc264ffda), SkBits2Float(0x418b3a1a), SkBits2Float(0xc265aeac));
  789. path.cubicTo(SkBits2Float(0x413c2b06), SkBits2Float(0xc26c85fe), SkBits2Float(0x40bcaeed), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  790. path.close();
  791. SkPath path1(path);
  792. path.reset();
  793. path.setFillType((SkPath::FillType) 0);
  794. path.moveTo(SkBits2Float(0x41d33633), SkBits2Float(0xc29d60c8));
  795. path.cubicTo(SkBits2Float(0x421be102), SkBits2Float(0xc294f1be), SkBits2Float(0x4249615f), SkBits2Float(0xc2869cbc), SkBits2Float(0x426e4d45), SkBits2Float(0xc26729aa));
  796. path.lineTo(SkBits2Float(0x422c4432), SkBits2Float(0xc2271b0a));
  797. path.cubicTo(SkBits2Float(0x42119380), SkBits2Float(0xc2429ec2), SkBits2Float(0x41e15dfd), SkBits2Float(0xc257575a), SkBits2Float(0x4198aee4), SkBits2Float(0xc26388d8));
  798. path.lineTo(SkBits2Float(0x41d33633), SkBits2Float(0xc29d60c8));
  799. path.close();
  800. SkPath path2(path);
  801. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  802. }
  803. // op end success 1
  804. static void battleOp32(skiatest::Reporter* reporter, const char* filename) {
  805. SkPath path;
  806. path.setFillType((SkPath::FillType) 0);
  807. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  808. path.cubicTo(SkBits2Float(0x4118c001), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41982d6e), SkBits2Float(0xc2a2b4b2), SkBits2Float(0x41e01284), SkBits2Float(0xc29c4333));
  809. path.lineTo(SkBits2Float(0x41a1fae3), SkBits2Float(0xc261ebf5));
  810. path.cubicTo(SkBits2Float(0x415c0406), SkBits2Float(0xc26b3cc7), SkBits2Float(0x40dcd7ee), SkBits2Float(0xc2700000), SkBits2Float(0x35f7fd46), SkBits2Float(0xc2700000));
  811. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  812. path.close();
  813. SkPath path1(path);
  814. path.reset();
  815. path.setFillType((SkPath::FillType) 0);
  816. path.moveTo(SkBits2Float(0x41e01286), SkBits2Float(0xc29c4334));
  817. path.cubicTo(SkBits2Float(0x41e73e86), SkBits2Float(0xc29b9ea8), SkBits2Float(0x41ee5f11), SkBits2Float(0xc29af239), SkBits2Float(0x41f57356), SkBits2Float(0xc29a3dfa));
  818. path.lineTo(SkBits2Float(0x41b16f25), SkBits2Float(0xc25f0029));
  819. path.cubicTo(SkBits2Float(0x41ac5112), SkBits2Float(0xc26004c3), SkBits2Float(0x41a72a20), SkBits2Float(0xc260fe11), SkBits2Float(0x41a1fae3), SkBits2Float(0xc261ebf7));
  820. path.lineTo(SkBits2Float(0x41e01286), SkBits2Float(0xc29c4334));
  821. path.close();
  822. SkPath path2(path);
  823. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  824. }
  825. // op end success 1
  826. static void battleOp33(skiatest::Reporter* reporter, const char* filename) {
  827. SkPath path;
  828. path.setFillType((SkPath::FillType) 1);
  829. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  830. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  831. path.cubicTo(SkBits2Float(0x4118c001), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41982d6e), SkBits2Float(0xc2a2b4b2), SkBits2Float(0x41e01286), SkBits2Float(0xc29c4334));
  832. path.cubicTo(SkBits2Float(0x41e73e86), SkBits2Float(0xc29b9ea8), SkBits2Float(0x41ee5f11), SkBits2Float(0xc29af239), SkBits2Float(0x41f57356), SkBits2Float(0xc29a3dfa));
  833. path.lineTo(SkBits2Float(0x41b16f25), SkBits2Float(0xc25f0029));
  834. path.cubicTo(SkBits2Float(0x41ac5112), SkBits2Float(0xc26004c3), SkBits2Float(0x41a72a20), SkBits2Float(0xc260fe11), SkBits2Float(0x41a1fae3), SkBits2Float(0xc261ebf7));
  835. path.lineTo(SkBits2Float(0x41a1fae3), SkBits2Float(0xc261ebf5));
  836. path.cubicTo(SkBits2Float(0x415c0406), SkBits2Float(0xc26b3cc7), SkBits2Float(0x40dcd7ee), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  837. path.close();
  838. SkPath path1(path);
  839. path.reset();
  840. path.setFillType((SkPath::FillType) 0);
  841. path.moveTo(SkBits2Float(0x41f57359), SkBits2Float(0xc29a3dfa));
  842. path.cubicTo(SkBits2Float(0x42347528), SkBits2Float(0xc28ec218), SkBits2Float(0x42669614), SkBits2Float(0xc276cf04), SkBits2Float(0x4285b481), SkBits2Float(0xc244c364));
  843. path.lineTo(SkBits2Float(0x42414f00), SkBits2Float(0xc20e3d0e));
  844. path.cubicTo(SkBits2Float(0x4226b05a), SkBits2Float(0xc2326a79), SkBits2Float(0x4202738a), SkBits2Float(0xc24e65b9), SkBits2Float(0x41b16f25), SkBits2Float(0xc25f0028));
  845. path.lineTo(SkBits2Float(0x41f57359), SkBits2Float(0xc29a3dfa));
  846. path.close();
  847. SkPath path2(path);
  848. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  849. }
  850. // op end success 1
  851. static void battleOp34(skiatest::Reporter* reporter, const char* filename) {
  852. SkPath path;
  853. path.setFillType((SkPath::FillType) 0);
  854. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  855. path.cubicTo(SkBits2Float(0x41360dec), SkBits2Float(0xc2a60000), SkBits2Float(0x41b5150e), SkBits2Float(0xc2a1522b), SkBits2Float(0x42044925), SkBits2Float(0xc29840e5));
  856. path.lineTo(SkBits2Float(0x41bf41a8), SkBits2Float(0xc25c2022));
  857. path.cubicTo(SkBits2Float(0x4182e721), SkBits2Float(0xc2693c30), SkBits2Float(0x41039b08), SkBits2Float(0xc2700000), SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  858. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  859. path.close();
  860. SkPath path1(path);
  861. path.reset();
  862. path.setFillType((SkPath::FillType) 0);
  863. path.moveTo(SkBits2Float(0x42044925), SkBits2Float(0xc29840e4));
  864. path.cubicTo(SkBits2Float(0x4208721a), SkBits2Float(0xc2975992), SkBits2Float(0x420c9178), SkBits2Float(0xc296675c), SkBits2Float(0x4210a695), SkBits2Float(0xc2956a6a));
  865. path.lineTo(SkBits2Float(0x41d1222e), SkBits2Float(0xc25805ce));
  866. path.cubicTo(SkBits2Float(0x41cb3b2f), SkBits2Float(0xc2597382), SkBits2Float(0x41c5455b), SkBits2Float(0xc25ad1b2), SkBits2Float(0x41bf41a9), SkBits2Float(0xc25c2023));
  867. path.lineTo(SkBits2Float(0x42044925), SkBits2Float(0xc29840e4));
  868. path.close();
  869. SkPath path2(path);
  870. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  871. }
  872. // op end success 1
  873. static void battleOp35(skiatest::Reporter* reporter, const char* filename) {
  874. SkPath path;
  875. path.setFillType((SkPath::FillType) 1);
  876. path.moveTo(SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  877. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  878. path.cubicTo(SkBits2Float(0x41360dec), SkBits2Float(0xc2a60000), SkBits2Float(0x41b5150e), SkBits2Float(0xc2a1522b), SkBits2Float(0x42044925), SkBits2Float(0xc29840e5));
  879. path.lineTo(SkBits2Float(0x4210a695), SkBits2Float(0xc2956a6a));
  880. path.lineTo(SkBits2Float(0x41d1222e), SkBits2Float(0xc25805ce));
  881. path.cubicTo(SkBits2Float(0x41cb3b2f), SkBits2Float(0xc2597382), SkBits2Float(0x41c5455b), SkBits2Float(0xc25ad1b2), SkBits2Float(0x41bf41a9), SkBits2Float(0xc25c2023));
  882. path.lineTo(SkBits2Float(0x41bf41a8), SkBits2Float(0xc25c2022));
  883. path.cubicTo(SkBits2Float(0x4182e721), SkBits2Float(0xc2693c30), SkBits2Float(0x41039b08), SkBits2Float(0xc2700000), SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  884. path.close();
  885. SkPath path1(path);
  886. path.reset();
  887. path.setFillType((SkPath::FillType) 0);
  888. path.moveTo(SkBits2Float(0x4210a693), SkBits2Float(0xc2956a6a));
  889. path.cubicTo(SkBits2Float(0x42536b4d), SkBits2Float(0xc2854182), SkBits2Float(0x4284b863), SkBits2Float(0xc254c33a), SkBits2Float(0x42950c68), SkBits2Float(0xc2122882));
  890. path.lineTo(SkBits2Float(0x42577de3), SkBits2Float(0xc1d35027));
  891. path.cubicTo(SkBits2Float(0x423fe27d), SkBits2Float(0xc219cde7), SkBits2Float(0x4218d548), SkBits2Float(0xc240a8bd), SkBits2Float(0x41d1222f), SkBits2Float(0xc25805ce));
  892. path.lineTo(SkBits2Float(0x4210a693), SkBits2Float(0xc2956a6a));
  893. path.close();
  894. SkPath path2(path);
  895. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  896. }
  897. // op end success 1
  898. static void battleOp36(skiatest::Reporter* reporter, const char* filename) {
  899. SkPath path;
  900. path.setFillType((SkPath::FillType) 0);
  901. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  902. path.cubicTo(SkBits2Float(0x414e6589), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ccf9e5), SkBits2Float(0xc29ffc89), SkBits2Float(0x4214a0bb), SkBits2Float(0xc2946fc8));
  903. path.lineTo(SkBits2Float(0x41d6e236), SkBits2Float(0xc2569b72));
  904. path.cubicTo(SkBits2Float(0x41942cf0), SkBits2Float(0xc2674e45), SkBits2Float(0x411533d1), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  905. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  906. path.close();
  907. SkPath path1(path);
  908. path.reset();
  909. path.setFillType((SkPath::FillType) 0);
  910. path.moveTo(SkBits2Float(0x4214a0bb), SkBits2Float(0xc2946fc9));
  911. path.cubicTo(SkBits2Float(0x421938a6), SkBits2Float(0xc293496b), SkBits2Float(0x421dc2c1), SkBits2Float(0xc2921574), SkBits2Float(0x42223e19), SkBits2Float(0xc290d421));
  912. path.lineTo(SkBits2Float(0x41ea914d), SkBits2Float(0xc251640c));
  913. path.cubicTo(SkBits2Float(0x41e4167f), SkBits2Float(0xc253349e), SkBits2Float(0x41dd8659), SkBits2Float(0xc254f1de), SkBits2Float(0x41d6e239), SkBits2Float(0xc2569b73));
  914. path.lineTo(SkBits2Float(0x4214a0bb), SkBits2Float(0xc2946fc9));
  915. path.close();
  916. SkPath path2(path);
  917. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  918. }
  919. // op end success 1
  920. static void battleOp37(skiatest::Reporter* reporter, const char* filename) {
  921. SkPath path;
  922. path.setFillType((SkPath::FillType) 1);
  923. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  924. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  925. path.cubicTo(SkBits2Float(0x414e6589), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ccf9e5), SkBits2Float(0xc29ffc89), SkBits2Float(0x4214a0bb), SkBits2Float(0xc2946fc9));
  926. path.cubicTo(SkBits2Float(0x421938a6), SkBits2Float(0xc293496b), SkBits2Float(0x421dc2c1), SkBits2Float(0xc2921574), SkBits2Float(0x42223e19), SkBits2Float(0xc290d421));
  927. path.lineTo(SkBits2Float(0x41ea914d), SkBits2Float(0xc251640c));
  928. path.cubicTo(SkBits2Float(0x41e4167f), SkBits2Float(0xc253349e), SkBits2Float(0x41dd8659), SkBits2Float(0xc254f1de), SkBits2Float(0x41d6e239), SkBits2Float(0xc2569b73));
  929. path.lineTo(SkBits2Float(0x41d6e236), SkBits2Float(0xc2569b72));
  930. path.cubicTo(SkBits2Float(0x41942cf0), SkBits2Float(0xc2674e45), SkBits2Float(0x411533d1), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  931. path.close();
  932. SkPath path1(path);
  933. path.reset();
  934. path.setFillType((SkPath::FillType) 0);
  935. path.moveTo(SkBits2Float(0x42223e19), SkBits2Float(0xc290d422));
  936. path.cubicTo(SkBits2Float(0x426bbc38), SkBits2Float(0xc2787e1d), SkBits2Float(0x42916a94), SkBits2Float(0xc234ee59), SkBits2Float(0x429e2fac), SkBits2Float(0xc1c951fc));
  937. path.lineTo(SkBits2Float(0x4264b3f7), SkBits2Float(0xc191885f));
  938. path.cubicTo(SkBits2Float(0x42523d91), SkBits2Float(0xc202cb25), SkBits2Float(0x422a6939), SkBits2Float(0xc233a21b), SkBits2Float(0x41ea914d), SkBits2Float(0xc251640d));
  939. path.lineTo(SkBits2Float(0x42223e19), SkBits2Float(0xc290d422));
  940. path.close();
  941. SkPath path2(path);
  942. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  943. }
  944. // op end success 1
  945. static void battleOp38(skiatest::Reporter* reporter, const char* filename) {
  946. SkPath path;
  947. path.setFillType((SkPath::FillType) 0);
  948. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  949. path.cubicTo(SkBits2Float(0x416c96cf), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ea70fe), SkBits2Float(0xc29e1973), SkBits2Float(0x422836c6), SkBits2Float(0xc28f1d8a));
  950. path.lineTo(SkBits2Float(0x41f3336d), SkBits2Float(0xc24ee9f1));
  951. path.cubicTo(SkBits2Float(0x41a979c6), SkBits2Float(0xc26493d6), SkBits2Float(0x412b073c), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  952. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  953. path.close();
  954. SkPath path1(path);
  955. path.reset();
  956. path.setFillType((SkPath::FillType) 0);
  957. path.moveTo(SkBits2Float(0x422836c5), SkBits2Float(0xc28f1d8b));
  958. path.cubicTo(SkBits2Float(0x422d4896), SkBits2Float(0xc28da02f), SkBits2Float(0x423245ea), SkBits2Float(0xc28c11a8), SkBits2Float(0x42372d65), SkBits2Float(0xc28a7261));
  959. path.lineTo(SkBits2Float(0x42046ad7), SkBits2Float(0xc24829ff));
  960. path.cubicTo(SkBits2Float(0x4200df44), SkBits2Float(0xc24a8267), SkBits2Float(0x41fa87ca), SkBits2Float(0xc24cc296), SkBits2Float(0x41f3336d), SkBits2Float(0xc24ee9f1));
  961. path.lineTo(SkBits2Float(0x422836c5), SkBits2Float(0xc28f1d8b));
  962. path.close();
  963. SkPath path2(path);
  964. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  965. }
  966. // op end success 1
  967. static void battleOp39(skiatest::Reporter* reporter, const char* filename) {
  968. SkPath path;
  969. path.setFillType((SkPath::FillType) 1);
  970. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  971. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  972. path.cubicTo(SkBits2Float(0x416c96cf), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ea70fe), SkBits2Float(0xc29e1973), SkBits2Float(0x422836c5), SkBits2Float(0xc28f1d8b));
  973. path.cubicTo(SkBits2Float(0x422d4896), SkBits2Float(0xc28da02f), SkBits2Float(0x423245ea), SkBits2Float(0xc28c11a8), SkBits2Float(0x42372d65), SkBits2Float(0xc28a7261));
  974. path.lineTo(SkBits2Float(0x42046ad7), SkBits2Float(0xc24829ff));
  975. path.cubicTo(SkBits2Float(0x4200df44), SkBits2Float(0xc24a8267), SkBits2Float(0x41fa87ca), SkBits2Float(0xc24cc296), SkBits2Float(0x41f3336d), SkBits2Float(0xc24ee9f1));
  976. path.cubicTo(SkBits2Float(0x41a979c6), SkBits2Float(0xc26493d6), SkBits2Float(0x412b073c), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  977. path.close();
  978. SkPath path1(path);
  979. path.reset();
  980. path.setFillType((SkPath::FillType) 0);
  981. path.moveTo(SkBits2Float(0x42372d65), SkBits2Float(0xc28a7262));
  982. path.cubicTo(SkBits2Float(0x4283f2b3), SkBits2Float(0xc25f7e9c), SkBits2Float(0x429ea5c2), SkBits2Float(0xc2098801), SkBits2Float(0x42a4b292), SkBits2Float(0xc12607b1));
  983. path.lineTo(SkBits2Float(0x426e1def), SkBits2Float(0xc0f00b21));
  984. path.cubicTo(SkBits2Float(0x42655eb1), SkBits2Float(0xc1c6d725), SkBits2Float(0x423ec4ad), SkBits2Float(0xc2218ff6), SkBits2Float(0x42046ad7), SkBits2Float(0xc2482a00));
  985. path.lineTo(SkBits2Float(0x42372d65), SkBits2Float(0xc28a7262));
  986. path.close();
  987. SkPath path2(path);
  988. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  989. }
  990. // op end success 1
  991. static void battleOp40(skiatest::Reporter* reporter, const char* filename) {
  992. SkPath path;
  993. path.setFillType((SkPath::FillType) 0);
  994. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  995. path.cubicTo(SkBits2Float(0x4184d4a8), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42034ddf), SkBits2Float(0xc29c0a4c), SkBits2Float(0x423a47b2), SkBits2Float(0xc289686d));
  996. path.lineTo(SkBits2Float(0x4206a908), SkBits2Float(0xc246a97c));
  997. path.cubicTo(SkBits2Float(0x41bdd65f), SkBits2Float(0xc26199af), SkBits2Float(0x41400b5c), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  998. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  999. path.close();
  1000. SkPath path1(path);
  1001. path.reset();
  1002. path.setFillType((SkPath::FillType) 0);
  1003. path.moveTo(SkBits2Float(0x423a47b2), SkBits2Float(0xc289686d));
  1004. path.cubicTo(SkBits2Float(0x423fbcc3), SkBits2Float(0xc2878eef), SkBits2Float(0x4245154e), SkBits2Float(0xc285a0be), SkBits2Float(0x424a4f85), SkBits2Float(0xc2839e81));
  1005. path.lineTo(SkBits2Float(0x42123fa7), SkBits2Float(0xc23e4af2));
  1006. path.cubicTo(SkBits2Float(0x420e7846), SkBits2Float(0xc241326c), SkBits2Float(0x420a9af5), SkBits2Float(0xc243fcec), SkBits2Float(0x4206a907), SkBits2Float(0xc246a97c));
  1007. path.lineTo(SkBits2Float(0x423a47b2), SkBits2Float(0xc289686d));
  1008. path.close();
  1009. SkPath path2(path);
  1010. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1011. }
  1012. // op end fail 1
  1013. static void battleOp41(skiatest::Reporter* reporter, const char* filename) {
  1014. SkPath path;
  1015. path.setFillType((SkPath::FillType) 0);
  1016. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1017. path.cubicTo(SkBits2Float(0x4196c4f9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42148669), SkBits2Float(0xc2992c23), SkBits2Float(0x424f6452), SkBits2Float(0xc281a081));
  1018. path.lineTo(SkBits2Float(0x4215ebfd), SkBits2Float(0xc23b6999));
  1019. path.cubicTo(SkBits2Float(0x41d6bc2a), SkBits2Float(0xc25d7441), SkBits2Float(0x4159fada), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  1020. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1021. path.close();
  1022. SkPath path1(path);
  1023. path.reset();
  1024. path.setFillType((SkPath::FillType) 0);
  1025. path.moveTo(SkBits2Float(0x424f6452), SkBits2Float(0xc281a081));
  1026. path.cubicTo(SkBits2Float(0x42553921), SkBits2Float(0xc27e96d1), SkBits2Float(0x425ae53b), SkBits2Float(0xc279ba9d), SkBits2Float(0x42606622), SkBits2Float(0xc274ae80));
  1027. path.lineTo(SkBits2Float(0x42223753), SkBits2Float(0xc230e0d8));
  1028. path.cubicTo(SkBits2Float(0x421e3cd8), SkBits2Float(0xc23486e8), SkBits2Float(0x421a2322), SkBits2Float(0xc2380a55), SkBits2Float(0x4215ebfe), SkBits2Float(0xc23b6999));
  1029. path.lineTo(SkBits2Float(0x424f6452), SkBits2Float(0xc281a081));
  1030. path.close();
  1031. SkPath path2(path);
  1032. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1033. }
  1034. // op end success 1
  1035. static void battleOp42(skiatest::Reporter* reporter, const char* filename) {
  1036. SkPath path;
  1037. path.setFillType((SkPath::FillType) 1);
  1038. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1039. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1040. path.cubicTo(SkBits2Float(0x4196c4f9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42148669), SkBits2Float(0xc2992c23), SkBits2Float(0x424f6452), SkBits2Float(0xc281a081));
  1041. path.cubicTo(SkBits2Float(0x42553921), SkBits2Float(0xc27e96d1), SkBits2Float(0x425ae53b), SkBits2Float(0xc279ba9d), SkBits2Float(0x42606622), SkBits2Float(0xc274ae80));
  1042. path.lineTo(SkBits2Float(0x42223753), SkBits2Float(0xc230e0d8));
  1043. path.cubicTo(SkBits2Float(0x421e3cd8), SkBits2Float(0xc23486e8), SkBits2Float(0x421a2322), SkBits2Float(0xc2380a55), SkBits2Float(0x4215ebfd), SkBits2Float(0xc23b6999));
  1044. path.cubicTo(SkBits2Float(0x41d6bc2a), SkBits2Float(0xc25d7441), SkBits2Float(0x4159fada), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1045. path.close();
  1046. SkPath path1(path);
  1047. path.reset();
  1048. path.setFillType((SkPath::FillType) 0);
  1049. path.moveTo(SkBits2Float(0x42606622), SkBits2Float(0xc274ae80));
  1050. path.cubicTo(SkBits2Float(0x429deeac), SkBits2Float(0xc220cc44), SkBits2Float(0x42b0742c), SkBits2Float(0xc1039d5c), SkBits2Float(0x42a03731), SkBits2Float(0x41adc1b3));
  1051. path.lineTo(SkBits2Float(0x4267a314), SkBits2Float(0x417b36e3));
  1052. path.cubicTo(SkBits2Float(0x427f1d2c), SkBits2Float(0xc0be4950), SkBits2Float(0x426455fc), SkBits2Float(0xc1e87a9a), SkBits2Float(0x42223754), SkBits2Float(0xc230e0d7));
  1053. path.lineTo(SkBits2Float(0x42606622), SkBits2Float(0xc274ae80));
  1054. path.close();
  1055. SkPath path2(path);
  1056. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1057. }
  1058. // op end success 1
  1059. static void battleOp43(skiatest::Reporter* reporter, const char* filename) {
  1060. SkPath path;
  1061. path.setFillType((SkPath::FillType) 0);
  1062. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1063. path.cubicTo(SkBits2Float(0x41aa5d9e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42271b56), SkBits2Float(0xc295a109), SkBits2Float(0x4264d340), SkBits2Float(0xc2708c1d));
  1064. path.lineTo(SkBits2Float(0x42256a74), SkBits2Float(0xc22de3bf));
  1065. path.cubicTo(SkBits2Float(0x41f199ac), SkBits2Float(0xc25854c9), SkBits2Float(0x41764fdb), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  1066. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1067. path.close();
  1068. SkPath path1(path);
  1069. path.reset();
  1070. path.setFillType((SkPath::FillType) 0);
  1071. path.moveTo(SkBits2Float(0x4264d342), SkBits2Float(0xc2708c1d));
  1072. path.cubicTo(SkBits2Float(0x426aec59), SkBits2Float(0xc26abf16), SkBits2Float(0x4270cc6c), SkBits2Float(0xc264b73d), SkBits2Float(0x42767031), SkBits2Float(0xc25e77e8));
  1073. path.lineTo(SkBits2Float(0x423225ec), SkBits2Float(0xc220d20e));
  1074. path.cubicTo(SkBits2Float(0x422e123c), SkBits2Float(0xc2255633), SkBits2Float(0x4229d2f5), SkBits2Float(0xc229b23c), SkBits2Float(0x42256a74), SkBits2Float(0xc22de3c0));
  1075. path.lineTo(SkBits2Float(0x4264d342), SkBits2Float(0xc2708c1d));
  1076. path.close();
  1077. SkPath path2(path);
  1078. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1079. }
  1080. // op end success 1
  1081. static void battleOp44(skiatest::Reporter* reporter, const char* filename) {
  1082. SkPath path;
  1083. path.setFillType((SkPath::FillType) 1);
  1084. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  1085. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1086. path.cubicTo(SkBits2Float(0x41aa5d9e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42271b56), SkBits2Float(0xc295a109), SkBits2Float(0x4264d340), SkBits2Float(0xc2708c1d));
  1087. path.lineTo(SkBits2Float(0x4264d342), SkBits2Float(0xc2708c1d));
  1088. path.cubicTo(SkBits2Float(0x426aec59), SkBits2Float(0xc26abf16), SkBits2Float(0x4270cc6c), SkBits2Float(0xc264b73d), SkBits2Float(0x42767031), SkBits2Float(0xc25e77e8));
  1089. path.lineTo(SkBits2Float(0x423225ec), SkBits2Float(0xc220d20e));
  1090. path.cubicTo(SkBits2Float(0x422e123c), SkBits2Float(0xc2255633), SkBits2Float(0x4229d2f5), SkBits2Float(0xc229b23c), SkBits2Float(0x42256a74), SkBits2Float(0xc22de3c0));
  1091. path.lineTo(SkBits2Float(0x42256a74), SkBits2Float(0xc22de3bf));
  1092. path.cubicTo(SkBits2Float(0x41f199ac), SkBits2Float(0xc25854c9), SkBits2Float(0x41764fdb), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  1093. path.close();
  1094. SkPath path1(path);
  1095. path.reset();
  1096. path.setFillType((SkPath::FillType) 0);
  1097. path.moveTo(SkBits2Float(0x42767032), SkBits2Float(0xc25e77e8));
  1098. path.cubicTo(SkBits2Float(0x42aa697a), SkBits2Float(0xc1ebd370), SkBits2Float(0x42b37ad4), SkBits2Float(0x410b48c2), SkBits2Float(0x4291d766), SkBits2Float(0x421e927b));
  1099. path.lineTo(SkBits2Float(0x4252dae4), SkBits2Float(0x41e542d2));
  1100. path.cubicTo(SkBits2Float(0x4281be95), SkBits2Float(0x40c95ff9), SkBits2Float(0x427660fe), SkBits2Float(0xc1aa7a03), SkBits2Float(0x423225ed), SkBits2Float(0xc220d20e));
  1101. path.lineTo(SkBits2Float(0x42767032), SkBits2Float(0xc25e77e8));
  1102. path.close();
  1103. SkPath path2(path);
  1104. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1105. }
  1106. // op end success 1
  1107. static void battleOp45(skiatest::Reporter* reporter, const char* filename) {
  1108. SkPath path;
  1109. path.setFillType((SkPath::FillType) 0);
  1110. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1111. path.cubicTo(SkBits2Float(0x41bfbd07), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423b0ef1), SkBits2Float(0xc2914772), SkBits2Float(0x427a1b1d), SkBits2Float(0xc25a5641));
  1112. path.lineTo(SkBits2Float(0x4234ccaa), SkBits2Float(0xc21dd57d));
  1113. path.cubicTo(SkBits2Float(0x42073912), SkBits2Float(0xc2520ac5), SkBits2Float(0x418a9b2a), SkBits2Float(0xc26fffff), SkBits2Float(0x3697ff52), SkBits2Float(0xc26fffff));
  1114. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1115. path.close();
  1116. SkPath path1(path);
  1117. path.reset();
  1118. path.setFillType((SkPath::FillType) 0);
  1119. path.moveTo(SkBits2Float(0x427a1b1e), SkBits2Float(0xc25a5642));
  1120. path.cubicTo(SkBits2Float(0x4280286a), SkBits2Float(0xc253393c), SkBits2Float(0x42831c11), SkBits2Float(0xc24bd939), SkBits2Float(0x4285e673), SkBits2Float(0xc2443b5f));
  1121. path.lineTo(SkBits2Float(0x42419733), SkBits2Float(0xc20ddaba));
  1122. path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc21dd57e));
  1123. path.lineTo(SkBits2Float(0x427a1b1e), SkBits2Float(0xc25a5642));
  1124. path.close();
  1125. SkPath path2(path);
  1126. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1127. }
  1128. // op end success 1
  1129. static void battleOp46(skiatest::Reporter* reporter, const char* filename) {
  1130. SkPath path;
  1131. path.setFillType((SkPath::FillType) 1);
  1132. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc26fffff));
  1133. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1134. path.cubicTo(SkBits2Float(0x41bfbd07), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423b0ef1), SkBits2Float(0xc2914772), SkBits2Float(0x427a1b1e), SkBits2Float(0xc25a5642));
  1135. path.cubicTo(SkBits2Float(0x4280286a), SkBits2Float(0xc253393c), SkBits2Float(0x42831c11), SkBits2Float(0xc24bd939), SkBits2Float(0x4285e673), SkBits2Float(0xc2443b5f));
  1136. path.lineTo(SkBits2Float(0x42419733), SkBits2Float(0xc20ddaba));
  1137. path.cubicTo(SkBits2Float(0x423d8e5d), SkBits2Float(0xc2135c44), SkBits2Float(0x423949dc), SkBits2Float(0xc218b118), SkBits2Float(0x4234ccac), SkBits2Float(0xc21dd57e));
  1138. path.lineTo(SkBits2Float(0x4234ccaa), SkBits2Float(0xc21dd57d));
  1139. path.cubicTo(SkBits2Float(0x42073912), SkBits2Float(0xc2520ac5), SkBits2Float(0x418a9b2a), SkBits2Float(0xc26fffff), SkBits2Float(0x3697ff52), SkBits2Float(0xc26fffff));
  1140. path.close();
  1141. SkPath path1(path);
  1142. path.reset();
  1143. path.setFillType((SkPath::FillType) 0);
  1144. path.moveTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
  1145. path.cubicTo(SkBits2Float(0x42b50145), SkBits2Float(0xc1875361), SkBits2Float(0x42afc74e), SkBits2Float(0x41db6d5e), SkBits2Float(0x4272e616), SkBits2Float(0x426253de));
  1146. path.lineTo(SkBits2Float(0x422f96e8), SkBits2Float(0x42239c3e));
  1147. path.cubicTo(SkBits2Float(0x427e233c), SkBits2Float(0x419e9f42), SkBits2Float(0x4282d8d3), SkBits2Float(0xc143a6d1), SkBits2Float(0x42419734), SkBits2Float(0xc20ddabb));
  1148. path.lineTo(SkBits2Float(0x4285e672), SkBits2Float(0xc2443b5f));
  1149. path.close();
  1150. SkPath path2(path);
  1151. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1152. }
  1153. // op end success 1
  1154. static void battleOp47(skiatest::Reporter* reporter, const char* filename) {
  1155. SkPath path;
  1156. path.setFillType((SkPath::FillType) 0);
  1157. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1158. path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb70), SkBits2Float(0xc241f0ca));
  1159. path.lineTo(SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1));
  1160. path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  1161. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1162. path.close();
  1163. SkPath path1(path);
  1164. path.reset();
  1165. path.setFillType((SkPath::FillType) 0);
  1166. path.moveTo(SkBits2Float(0x4286bb71), SkBits2Float(0xc241f0ca));
  1167. path.cubicTo(SkBits2Float(0x4289cb2b), SkBits2Float(0xc2396eee), SkBits2Float(0x428ca6e5), SkBits2Float(0xc230a410), SkBits2Float(0x428f4c27), SkBits2Float(0xc22797c0));
  1168. path.lineTo(SkBits2Float(0x424f2d54), SkBits2Float(0xc1f24d85));
  1169. path.cubicTo(SkBits2Float(0x424b5a2a), SkBits2Float(0xc1ff6268), SkBits2Float(0x42473840), SkBits2Float(0xc2060c56), SkBits2Float(0x4242cb25), SkBits2Float(0xc20c32b2));
  1170. path.lineTo(SkBits2Float(0x4286bb71), SkBits2Float(0xc241f0ca));
  1171. path.close();
  1172. SkPath path2(path);
  1173. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1174. }
  1175. // op end success 1
  1176. static void battleOp48(skiatest::Reporter* reporter, const char* filename) {
  1177. SkPath path;
  1178. path.setFillType((SkPath::FillType) 1);
  1179. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1180. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1181. path.cubicTo(SkBits2Float(0x41d59904), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424f13ae), SkBits2Float(0xc28c4fb7), SkBits2Float(0x4286bb71), SkBits2Float(0xc241f0ca));
  1182. path.cubicTo(SkBits2Float(0x4289cb2b), SkBits2Float(0xc2396eee), SkBits2Float(0x428ca6e5), SkBits2Float(0xc230a410), SkBits2Float(0x428f4c27), SkBits2Float(0xc22797c0));
  1183. path.lineTo(SkBits2Float(0x424f2d54), SkBits2Float(0xc1f24d85));
  1184. path.cubicTo(SkBits2Float(0x424b5a2a), SkBits2Float(0xc1ff6268), SkBits2Float(0x42473840), SkBits2Float(0xc2060c56), SkBits2Float(0x4242cb24), SkBits2Float(0xc20c32b1));
  1185. path.cubicTo(SkBits2Float(0x4215b1b4), SkBits2Float(0xc24adc20), SkBits2Float(0x419a6875), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1186. path.close();
  1187. SkPath path1(path);
  1188. path.reset();
  1189. path.setFillType((SkPath::FillType) 0);
  1190. path.moveTo(SkBits2Float(0x428f4c27), SkBits2Float(0xc22797c0));
  1191. path.cubicTo(SkBits2Float(0x42bc6513), SkBits2Float(0xc055a915), SkBits2Float(0x42a45eb2), SkBits2Float(0x42389acf), SkBits2Float(0x4231df29), SkBits2Float(0x428c2a69));
  1192. path.lineTo(SkBits2Float(0x420094fc), SkBits2Float(0x424aa62f));
  1193. path.cubicTo(SkBits2Float(0x426da4ad), SkBits2Float(0x42057300), SkBits2Float(0x42883065), SkBits2Float(0xc01a7416), SkBits2Float(0x424f2d56), SkBits2Float(0xc1f24d87));
  1194. path.lineTo(SkBits2Float(0x428f4c27), SkBits2Float(0xc22797c0));
  1195. path.close();
  1196. SkPath path2(path);
  1197. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1198. }
  1199. // op end success 1
  1200. static void battleOp49(skiatest::Reporter* reporter, const char* filename) {
  1201. SkPath path;
  1202. path.setFillType((SkPath::FillType) 0);
  1203. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1204. path.cubicTo(SkBits2Float(0x41eed329), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4265a038), SkBits2Float(0xc285ef96), SkBits2Float(0x42905111), SkBits2Float(0xc2240eac));
  1205. path.lineTo(SkBits2Float(0x4250a68d), SkBits2Float(0xc1ed30fa));
  1206. path.cubicTo(SkBits2Float(0x4225fe9e), SkBits2Float(0xc241a46c), SkBits2Float(0x41aca4fc), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  1207. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1208. path.close();
  1209. SkPath path1(path);
  1210. path.reset();
  1211. path.setFillType((SkPath::FillType) 0);
  1212. path.moveTo(SkBits2Float(0x42905111), SkBits2Float(0xc2240ead));
  1213. path.cubicTo(SkBits2Float(0x429332f8), SkBits2Float(0xc219ea36), SkBits2Float(0x4295cfef), SkBits2Float(0xc20f79c4), SkBits2Float(0x4298252c), SkBits2Float(0xc204c875));
  1214. path.lineTo(SkBits2Float(0x425bf80f), SkBits2Float(0xc1bff9b9));
  1215. path.cubicTo(SkBits2Float(0x42589896), SkBits2Float(0xc1cf6f48), SkBits2Float(0x4254d168), SkBits2Float(0xc1de8710), SkBits2Float(0x4250a68e), SkBits2Float(0xc1ed30fc));
  1216. path.lineTo(SkBits2Float(0x42905111), SkBits2Float(0xc2240ead));
  1217. path.close();
  1218. SkPath path2(path);
  1219. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1220. }
  1221. // op end success 1
  1222. static void battleOp50(skiatest::Reporter* reporter, const char* filename) {
  1223. SkPath path;
  1224. path.setFillType((SkPath::FillType) 1);
  1225. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1226. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1227. path.cubicTo(SkBits2Float(0x41eed328), SkBits2Float(0xc2a60000), SkBits2Float(0x4265a038), SkBits2Float(0xc285ef96), SkBits2Float(0x42905111), SkBits2Float(0xc2240ead));
  1228. path.lineTo(SkBits2Float(0x42905111), SkBits2Float(0xc2240eac));
  1229. path.cubicTo(SkBits2Float(0x429332f8), SkBits2Float(0xc219ea35), SkBits2Float(0x4295cfef), SkBits2Float(0xc20f79c4), SkBits2Float(0x4298252c), SkBits2Float(0xc204c875));
  1230. path.lineTo(SkBits2Float(0x425bf80f), SkBits2Float(0xc1bff9b9));
  1231. path.cubicTo(SkBits2Float(0x42589896), SkBits2Float(0xc1cf6f48), SkBits2Float(0x4254d168), SkBits2Float(0xc1de8710), SkBits2Float(0x4250a68d), SkBits2Float(0xc1ed30fa));
  1232. path.cubicTo(SkBits2Float(0x4225fe9e), SkBits2Float(0xc241a46c), SkBits2Float(0x41aca4fc), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1233. path.close();
  1234. SkPath path1(path);
  1235. path.reset();
  1236. path.setFillType((SkPath::FillType) 0);
  1237. path.moveTo(SkBits2Float(0x4298252d), SkBits2Float(0xc204c875));
  1238. path.cubicTo(SkBits2Float(0x42ab560c), SkBits2Float(0xc1334da0), SkBits2Float(0x42aa8ee6), SkBits2Float(0x415dbf57), SkBits2Float(0x4296030d), SkBits2Float(0x420e292a));
  1239. path.cubicTo(SkBits2Float(0x42817734), SkBits2Float(0x4264e27f), SkBits2Float(0x42365290), SkBits2Float(0x4292cae0), SkBits2Float(0x41b3e39e), SkBits2Float(0x429fcac3));
  1240. path.lineTo(SkBits2Float(0x41820a52), SkBits2Float(0x4267064e));
  1241. path.cubicTo(SkBits2Float(0x4203cca7), SkBits2Float(0x42543ae9), SkBits2Float(0x423b2de4), SkBits2Float(0x42257578), SkBits2Float(0x4258e27d), SkBits2Float(0x41cd88a1));
  1242. path.cubicTo(SkBits2Float(0x42769717), SkBits2Float(0x41204ca2), SkBits2Float(0x4277b705), SkBits2Float(0xc1019de9), SkBits2Float(0x425bf810), SkBits2Float(0xc1bff9bb));
  1243. path.lineTo(SkBits2Float(0x4298252d), SkBits2Float(0xc204c875));
  1244. path.close();
  1245. SkPath path2(path);
  1246. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1247. }
  1248. // op end success 1
  1249. static void battleOp51(skiatest::Reporter* reporter, const char* filename) {
  1250. SkPath path;
  1251. path.setFillType((SkPath::FillType) 0);
  1252. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1253. path.cubicTo(SkBits2Float(0x42044d64), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427bf9ef), SkBits2Float(0xc27d72ab), SkBits2Float(0x42984d42), SkBits2Float(0xc2041029));
  1254. path.lineTo(SkBits2Float(0x425c3202), SkBits2Float(0xc1beef44));
  1255. path.cubicTo(SkBits2Float(0x423626cb), SkBits2Float(0xc2373722), SkBits2Float(0x41bf47cb), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  1256. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1257. path.close();
  1258. SkPath path1(path);
  1259. path.reset();
  1260. path.setFillType((SkPath::FillType) 0);
  1261. path.moveTo(SkBits2Float(0x42984d42), SkBits2Float(0xc2041029));
  1262. path.cubicTo(SkBits2Float(0x429adc06), SkBits2Float(0xc1f08771), SkBits2Float(0x429d127e), SkBits2Float(0xc1d85b80), SkBits2Float(0x429eedcc), SkBits2Float(0xc1bfbbc5));
  1263. path.lineTo(SkBits2Float(0x4265c6d6), SkBits2Float(0xc18a9a3f));
  1264. path.cubicTo(SkBits2Float(0x426317a7), SkBits2Float(0xc19c6729), SkBits2Float(0x425fe4aa), SkBits2Float(0xc1ade05f), SkBits2Float(0x425c3203), SkBits2Float(0xc1beef45));
  1265. path.lineTo(SkBits2Float(0x42984d42), SkBits2Float(0xc2041029));
  1266. path.close();
  1267. SkPath path2(path);
  1268. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1269. }
  1270. // op end success 1
  1271. static void battleOp52(skiatest::Reporter* reporter, const char* filename) {
  1272. SkPath path;
  1273. path.setFillType((SkPath::FillType) 1);
  1274. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1275. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1276. path.cubicTo(SkBits2Float(0x42044d64), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427bf9ef), SkBits2Float(0xc27d72ab), SkBits2Float(0x42984d42), SkBits2Float(0xc2041029));
  1277. path.cubicTo(SkBits2Float(0x429adc06), SkBits2Float(0xc1f08771), SkBits2Float(0x429d127e), SkBits2Float(0xc1d85b80), SkBits2Float(0x429eedcc), SkBits2Float(0xc1bfbbc5));
  1278. path.lineTo(SkBits2Float(0x4265c6d6), SkBits2Float(0xc18a9a3f));
  1279. path.cubicTo(SkBits2Float(0x426317a7), SkBits2Float(0xc19c6729), SkBits2Float(0x425fe4aa), SkBits2Float(0xc1ade05f), SkBits2Float(0x425c3202), SkBits2Float(0xc1beef44));
  1280. path.cubicTo(SkBits2Float(0x423626cb), SkBits2Float(0xc2373722), SkBits2Float(0x41bf47cb), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1281. path.close();
  1282. SkPath path1(path);
  1283. path.reset();
  1284. path.setFillType((SkPath::FillType) 0);
  1285. path.moveTo(SkBits2Float(0x429eedcc), SkBits2Float(0xc1bfbbc6));
  1286. path.cubicTo(SkBits2Float(0x42ae408c), SkBits2Float(0x3fb7daeb), SkBits2Float(0x42a45c89), SkBits2Float(0x41e7c57e), SkBits2Float(0x42845101), SkBits2Float(0x42487bac));
  1287. path.cubicTo(SkBits2Float(0x42488af1), SkBits2Float(0x428e8a4c), SkBits2Float(0x41c7bd0e), SkBits2Float(0x42a6f806), SkBits2Float(0xbfc7d871), SkBits2Float(0x42a5f87b));
  1288. path.lineTo(SkBits2Float(0xbf90777c), SkBits2Float(0x426ff521));
  1289. path.cubicTo(SkBits2Float(0x419063a9), SkBits2Float(0x42716698), SkBits2Float(0x4210f87e), SkBits2Float(0x424e1511), SkBits2Float(0x423f4d05), SkBits2Float(0x4210ed75));
  1290. path.cubicTo(SkBits2Float(0x426da18c), SkBits2Float(0x41a78bb1), SkBits2Float(0x427bee4d), SkBits2Float(0x3f84e856), SkBits2Float(0x4265c6d8), SkBits2Float(0xc18a9a40));
  1291. path.lineTo(SkBits2Float(0x429eedcc), SkBits2Float(0xc1bfbbc6));
  1292. path.close();
  1293. SkPath path2(path);
  1294. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1295. }
  1296. // op end success 1
  1297. static void battleOp53(skiatest::Reporter* reporter, const char* filename) {
  1298. SkPath path;
  1299. path.setFillType((SkPath::FillType) 0);
  1300. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1301. path.cubicTo(SkBits2Float(0x421216db), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4289817d), SkBits2Float(0xc26c814f), SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183ed));
  1302. path.lineTo(SkBits2Float(0x426594dc), SkBits2Float(0xc18be3fc));
  1303. path.cubicTo(SkBits2Float(0x4246cdba), SkBits2Float(0xc22af7b1), SkBits2Float(0x41d336a3), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  1304. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1305. path.close();
  1306. SkPath path1(path);
  1307. path.reset();
  1308. path.setFillType((SkPath::FillType) 0);
  1309. path.moveTo(SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183e9));
  1310. path.cubicTo(SkBits2Float(0x42a0d9cb), SkBits2Float(0xc1a68281), SkBits2Float(0x42a27999), SkBits2Float(0xc18b01ce), SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595d));
  1311. path.lineTo(SkBits2Float(0x426c9cb2), SkBits2Float(0xc120bbfa));
  1312. path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc18be3fd));
  1313. path.lineTo(SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183e9));
  1314. path.close();
  1315. SkPath path2(path);
  1316. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1317. }
  1318. // op end success 1
  1319. static void battleOp54(skiatest::Reporter* reporter, const char* filename) {
  1320. SkPath path;
  1321. path.setFillType((SkPath::FillType) 1);
  1322. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1323. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1324. path.cubicTo(SkBits2Float(0x421216db), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4289817d), SkBits2Float(0xc26c814f), SkBits2Float(0x429ecb3a), SkBits2Float(0xc1c183ed));
  1325. path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595d));
  1326. path.lineTo(SkBits2Float(0x426c9cb2), SkBits2Float(0xc120bbfa));
  1327. path.cubicTo(SkBits2Float(0x426ae754), SkBits2Float(0xc148f95c), SkBits2Float(0x42688e2a), SkBits2Float(0xc170bcb0), SkBits2Float(0x426594dd), SkBits2Float(0xc18be3fd));
  1328. path.lineTo(SkBits2Float(0x426594dc), SkBits2Float(0xc18be3fc));
  1329. path.cubicTo(SkBits2Float(0x4246cdba), SkBits2Float(0xc22af7b1), SkBits2Float(0x41d336a3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1330. path.close();
  1331. SkPath path1(path);
  1332. path.reset();
  1333. path.setFillType((SkPath::FillType) 0);
  1334. path.moveTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
  1335. path.cubicTo(SkBits2Float(0x42ad725e), SkBits2Float(0x416ed313), SkBits2Float(0x42982fa2), SkBits2Float(0x4230cc44), SkBits2Float(0x42575fca), SkBits2Float(0x427ca963));
  1336. path.cubicTo(SkBits2Float(0x41fcc0a1), SkBits2Float(0x42a44341), SkBits2Float(0x3f80ed4e), SkBits2Float(0x42affc4e), SkBits2Float(0xc1d56b7f), SkBits2Float(0x429d3115));
  1337. path.lineTo(SkBits2Float(0xc19a478e), SkBits2Float(0x426343e2));
  1338. path.cubicTo(SkBits2Float(0x3f3a6666), SkBits2Float(0x427e6fe0), SkBits2Float(0x41b6b66f), SkBits2Float(0x426d7d04), SkBits2Float(0x421bb135), SkBits2Float(0x4236a5a5));
  1339. path.cubicTo(SkBits2Float(0x425c0733), SkBits2Float(0x41ff9c8c), SkBits2Float(0x427ac435), SkBits2Float(0x412ca4f2), SkBits2Float(0x426c9cb3), SkBits2Float(0xc120bbf8));
  1340. path.lineTo(SkBits2Float(0x42a3a81d), SkBits2Float(0xc15e595e));
  1341. path.close();
  1342. SkPath path2(path);
  1343. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1344. }
  1345. // op end success 1
  1346. static void battleOp55(skiatest::Reporter* reporter, const char* filename) {
  1347. SkPath path;
  1348. path.setFillType((SkPath::FillType) 0);
  1349. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1350. path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc16b5614));
  1351. path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
  1352. path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  1353. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1354. path.close();
  1355. SkPath path1(path);
  1356. path.reset();
  1357. path.setFillType((SkPath::FillType) 0);
  1358. path.moveTo(SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  1359. path.cubicTo(SkBits2Float(0x42a4bd24), SkBits2Float(0xc12ea3c2), SkBits2Float(0x42a59325), SkBits2Float(0xc0e282d6), SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  1360. path.lineTo(SkBits2Float(0x426fd18d), SkBits2Float(0xc0154a48));
  1361. path.cubicTo(SkBits2Float(0x426f62a1), SkBits2Float(0xc0a3be33), SkBits2Float(0x426e2d39), SkBits2Float(0xc0fc7dbb), SkBits2Float(0x426c3397), SkBits2Float(0xc12a1f63));
  1362. path.lineTo(SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  1363. path.close();
  1364. SkPath path2(path);
  1365. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1366. }
  1367. // op end success 1
  1368. static void battleOp56(skiatest::Reporter* reporter, const char* filename) {
  1369. SkPath path;
  1370. path.setFillType((SkPath::FillType) 1);
  1371. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  1372. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1373. path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  1374. path.cubicTo(SkBits2Float(0x42a4bd24), SkBits2Float(0xc12ea3c2), SkBits2Float(0x42a59325), SkBits2Float(0xc0e282d6), SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  1375. path.lineTo(SkBits2Float(0x426fd18d), SkBits2Float(0xc0154a48));
  1376. path.cubicTo(SkBits2Float(0x426f62a1), SkBits2Float(0xc0a3be33), SkBits2Float(0x426e2d39), SkBits2Float(0xc0fc7dbb), SkBits2Float(0x426c3397), SkBits2Float(0xc12a1f63));
  1377. path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
  1378. path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  1379. path.close();
  1380. SkPath path1(path);
  1381. path.reset();
  1382. path.setFillType((SkPath::FillType) 0);
  1383. path.moveTo(SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  1384. path.cubicTo(SkBits2Float(0x42a85e4f), SkBits2Float(0x41e6959e), SkBits2Float(0x4285b4e3), SkBits2Float(0x426ae44f), SkBits2Float(0x4219b105), SkBits2Float(0x42932450));
  1385. path.cubicTo(SkBits2Float(0x411fe111), SkBits2Float(0x42b0d679), SkBits2Float(0xc1c3966b), SkBits2Float(0x42ab1d42), SkBits2Float(0xc2482755), SkBits2Float(0x428470e8));
  1386. path.lineTo(SkBits2Float(0xc210b07c), SkBits2Float(0x423f7b24));
  1387. path.cubicTo(SkBits2Float(0xc18d6382), SkBits2Float(0x427764e8), SkBits2Float(0x40e72680), SkBits2Float(0x427fab4e), SkBits2Float(0x41de345e), SkBits2Float(0x4254bc3b));
  1388. path.cubicTo(SkBits2Float(0x42414f8e), SkBits2Float(0x4229cd28), SkBits2Float(0x42736c9d), SkBits2Float(0x41a6b008), SkBits2Float(0x426fd18e), SkBits2Float(0xc0154a3f));
  1389. path.lineTo(SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  1390. path.close();
  1391. SkPath path2(path);
  1392. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1393. }
  1394. // op end success 1
  1395. static void battleOp57(skiatest::Reporter* reporter, const char* filename) {
  1396. SkPath path;
  1397. path.setFillType((SkPath::FillType) 0);
  1398. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1399. path.cubicTo(SkBits2Float(0x422b8e0b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x429d6dbc), SkBits2Float(0xc2494bad), SkBits2Float(0x42a54cb6), SkBits2Float(0xc0f3b760));
  1400. path.lineTo(SkBits2Float(0x426efcca), SkBits2Float(0xc0b02e2c));
  1401. path.cubicTo(SkBits2Float(0x42639b94), SkBits2Float(0xc21183d2), SkBits2Float(0x41f807f9), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  1402. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1403. path.close();
  1404. SkPath path1(path);
  1405. path.reset();
  1406. path.setFillType((SkPath::FillType) 0);
  1407. path.moveTo(SkBits2Float(0x42a54cb7), SkBits2Float(0xc0f3b757));
  1408. path.cubicTo(SkBits2Float(0x42a60d08), SkBits2Float(0xc0628d9e), SkBits2Float(0x42a632b1), SkBits2Float(0x3f0efcd8), SkBits2Float(0x42a5bd61), SkBits2Float(0x4094a90a));
  1409. path.lineTo(SkBits2Float(0x426f9faf), SkBits2Float(0x4056ee3d));
  1410. path.cubicTo(SkBits2Float(0x42704949), SkBits2Float(0x3ecebaba), SkBits2Float(0x427012d8), SkBits2Float(0xc023c5fe), SkBits2Float(0x426efccb), SkBits2Float(0xc0b02e2d));
  1411. path.lineTo(SkBits2Float(0x42a54cb7), SkBits2Float(0xc0f3b757));
  1412. path.close();
  1413. SkPath path2(path);
  1414. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1415. }
  1416. // op end success 1
  1417. static void battleOp58(skiatest::Reporter* reporter, const char* filename) {
  1418. SkPath path;
  1419. path.setFillType((SkPath::FillType) 1);
  1420. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  1421. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1422. path.cubicTo(SkBits2Float(0x422b8e0b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x429d6dbc), SkBits2Float(0xc2494bad), SkBits2Float(0x42a54cb7), SkBits2Float(0xc0f3b757));
  1423. path.cubicTo(SkBits2Float(0x42a60d08), SkBits2Float(0xc0628d9e), SkBits2Float(0x42a632b1), SkBits2Float(0x3f0efcd8), SkBits2Float(0x42a5bd61), SkBits2Float(0x4094a90a));
  1424. path.lineTo(SkBits2Float(0x426f9faf), SkBits2Float(0x4056ee3d));
  1425. path.cubicTo(SkBits2Float(0x42704949), SkBits2Float(0x3ecebaba), SkBits2Float(0x427012d8), SkBits2Float(0xc023c5fe), SkBits2Float(0x426efcca), SkBits2Float(0xc0b02e2c));
  1426. path.cubicTo(SkBits2Float(0x42639b94), SkBits2Float(0xc21183d2), SkBits2Float(0x41f807f9), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  1427. path.close();
  1428. SkPath path1(path);
  1429. path.reset();
  1430. path.setFillType((SkPath::FillType) 0);
  1431. path.moveTo(SkBits2Float(0x42a5bd62), SkBits2Float(0x4094a90c));
  1432. path.cubicTo(SkBits2Float(0x42a1e9d4), SkBits2Float(0x421b17cd), SkBits2Float(0x426944f3), SkBits2Float(0x428879ea), SkBits2Float(0x41ceac14), SkBits2Float(0x429dc116));
  1433. path.cubicTo(SkBits2Float(0xc0d4c6f5), SkBits2Float(0x42b30843), SkBits2Float(0xc2295516), SkBits2Float(0x429e4e8b), SkBits2Float(0xc2802142), SkBits2Float(0x4253148e));
  1434. path.lineTo(SkBits2Float(0xc2393f81), SkBits2Float(0x42189693));
  1435. path.cubicTo(SkBits2Float(0xc1f4d162), SkBits2Float(0x4264e09b), SkBits2Float(0xc099d099), SkBits2Float(0x42816bc3), SkBits2Float(0x419566d0), SkBits2Float(0x42641418));
  1436. path.cubicTo(SkBits2Float(0x4228a0e3), SkBits2Float(0x424550a9), SkBits2Float(0x426a177b), SkBits2Float(0x41e03b19), SkBits2Float(0x426f9fb0), SkBits2Float(0x4056ee3a));
  1437. path.lineTo(SkBits2Float(0x42a5bd62), SkBits2Float(0x4094a90c));
  1438. path.close();
  1439. SkPath path2(path);
  1440. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1441. }
  1442. // op end success 1
  1443. static void battleOp59(skiatest::Reporter* reporter, const char* filename) { // hung
  1444. SkPath path;
  1445. path.setFillType((SkPath::FillType) 0);
  1446. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1447. path.cubicTo(SkBits2Float(0x423693bc), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42a57249), SkBits2Float(0xc2389374), SkBits2Float(0x42a5ff3a), SkBits2Float(0xbf002494));
  1448. path.lineTo(SkBits2Float(0x426ffee2), SkBits2Float(0xbeb944c3));
  1449. path.cubicTo(SkBits2Float(0x426f331d), SkBits2Float(0xc2056daf), SkBits2Float(0x4203fbc4), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  1450. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1451. path.close();
  1452. SkPath path1(path);
  1453. path.reset();
  1454. path.setFillType((SkPath::FillType) 0);
  1455. path.moveTo(SkBits2Float(0x42a5ff3a), SkBits2Float(0xbf0024e6));
  1456. path.cubicTo(SkBits2Float(0x42a60c9b), SkBits2Float(0x40752b0d), SkBits2Float(0x42a56c5d), SkBits2Float(0x410284fd), SkBits2Float(0x42a41ffb), SkBits2Float(0x414709fb));
  1457. path.lineTo(SkBits2Float(0x426d49ff), SkBits2Float(0x410fe233));
  1458. path.cubicTo(SkBits2Float(0x426f2a8e), SkBits2Float(0x40bcb3f0), SkBits2Float(0x42701239), SkBits2Float(0x40313ae3), SkBits2Float(0x426ffee3), SkBits2Float(0xbeb944c6));
  1459. path.lineTo(SkBits2Float(0x42a5ff3a), SkBits2Float(0xbf0024e6));
  1460. path.close();
  1461. SkPath path2(path);
  1462. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1463. }
  1464. static void battleOp60(skiatest::Reporter* reporter, const char* filename) {
  1465. SkPath path;
  1466. path.setFillType((SkPath::FillType) 0);
  1467. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1468. path.cubicTo(SkBits2Float(0x3e9334c2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f13342a), SkBits2Float(0xc2a5ff3c), SkBits2Float(0x3f5ccd0d), SkBits2Float(0xc2a5fdb4));
  1469. path.lineTo(SkBits2Float(0x3f1f9d85), SkBits2Float(0xc26ffcaf));
  1470. path.cubicTo(SkBits2Float(0x3ed4d324), SkBits2Float(0xc26ffee7), SkBits2Float(0x3e54d404), SkBits2Float(0xc2700000), SkBits2Float(0x36b23f68), SkBits2Float(0xc2700000));
  1471. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1472. path.close();
  1473. SkPath path1(path);
  1474. path.reset();
  1475. path.setFillType((SkPath::FillType) 0);
  1476. path.moveTo(SkBits2Float(0x3f5ccd1a), SkBits2Float(0xc2a5fdb5));
  1477. path.cubicTo(SkBits2Float(0x3f642956), SkBits2Float(0xc2a5fd8c), SkBits2Float(0x3f6b855d), SkBits2Float(0xc2a5fd63), SkBits2Float(0x3f72e163), SkBits2Float(0xc2a5fd38));
  1478. path.lineTo(SkBits2Float(0x3f2f9381), SkBits2Float(0xc26ffbfc));
  1479. path.cubicTo(SkBits2Float(0x3f2a4188), SkBits2Float(0xc26ffc3b), SkBits2Float(0x3f24ef95), SkBits2Float(0xc26ffc76), SkBits2Float(0x3f1f9da0), SkBits2Float(0xc26ffcb0));
  1480. path.lineTo(SkBits2Float(0x3f5ccd1a), SkBits2Float(0xc2a5fdb5));
  1481. path.close();
  1482. SkPath path2(path);
  1483. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1484. }
  1485. // op end success 1
  1486. static void battleOp61(skiatest::Reporter* reporter, const char* filename) {
  1487. SkPath path;
  1488. path.setFillType((SkPath::FillType) 1);
  1489. path.moveTo(SkBits2Float(0x36b23f68), SkBits2Float(0xc2700000));
  1490. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1491. path.cubicTo(SkBits2Float(0x3e9334c2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f13342a), SkBits2Float(0xc2a5ff3c), SkBits2Float(0x3f5ccd1a), SkBits2Float(0xc2a5fdb5));
  1492. path.cubicTo(SkBits2Float(0x3f642956), SkBits2Float(0xc2a5fd8c), SkBits2Float(0x3f6b855d), SkBits2Float(0xc2a5fd63), SkBits2Float(0x3f72e163), SkBits2Float(0xc2a5fd38));
  1493. path.lineTo(SkBits2Float(0x3f2f9381), SkBits2Float(0xc26ffbfc));
  1494. path.cubicTo(SkBits2Float(0x3f2a4188), SkBits2Float(0xc26ffc3b), SkBits2Float(0x3f24ef95), SkBits2Float(0xc26ffc76), SkBits2Float(0x3f1f9d85), SkBits2Float(0xc26ffcaf));
  1495. path.cubicTo(SkBits2Float(0x3ed4d324), SkBits2Float(0xc26ffee7), SkBits2Float(0x3e54d404), SkBits2Float(0xc2700000), SkBits2Float(0x36b23f68), SkBits2Float(0xc2700000));
  1496. path.close();
  1497. SkPath path1(path);
  1498. path.reset();
  1499. path.setFillType((SkPath::FillType) 0);
  1500. path.moveTo(SkBits2Float(0x3f72e162), SkBits2Float(0xc2a5fd39));
  1501. path.cubicTo(SkBits2Float(0x3fb51288), SkBits2Float(0xc2a5fa80), SkBits2Float(0x3ff0b297), SkBits2Float(0xc2a5f5c4), SkBits2Float(0x401627a5), SkBits2Float(0xc2a5ef06));
  1502. path.lineTo(SkBits2Float(0x3fd9177b), SkBits2Float(0xc26fe773));
  1503. path.cubicTo(SkBits2Float(0x3fadff90), SkBits2Float(0xc26ff134), SkBits2Float(0x3f82e54e), SkBits2Float(0xc26ff80c), SkBits2Float(0x3f2f9393), SkBits2Float(0xc26ffbfc));
  1504. path.lineTo(SkBits2Float(0x3f72e162), SkBits2Float(0xc2a5fd39));
  1505. path.close();
  1506. SkPath path2(path);
  1507. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1508. }
  1509. // op end success 1
  1510. static void battleOp62(skiatest::Reporter* reporter, const char* filename) {
  1511. SkPath path;
  1512. path.setFillType((SkPath::FillType) 0);
  1513. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1514. path.cubicTo(SkBits2Float(0x3f614848), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fe14683), SkBits2Float(0xc2a5f8d5), SkBits2Float(0x4028ee0f), SkBits2Float(0xc2a5ea81));
  1515. path.lineTo(SkBits2Float(0x3ff43c76), SkBits2Float(0xc26fe0ec));
  1516. path.cubicTo(SkBits2Float(0x3fa2d98a), SkBits2Float(0xc26ff5a4), SkBits2Float(0x3f22dad5), SkBits2Float(0xc2700000), SkBits2Float(0xb5420574), SkBits2Float(0xc2700000));
  1517. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1518. path.close();
  1519. SkPath path1(path);
  1520. path.reset();
  1521. path.setFillType((SkPath::FillType) 0);
  1522. path.moveTo(SkBits2Float(0x4028ee15), SkBits2Float(0xc2a5ea81));
  1523. path.cubicTo(SkBits2Float(0x402e8f25), SkBits2Float(0xc2a5e912), SkBits2Float(0x40343026), SkBits2Float(0xc2a5e791), SkBits2Float(0x4039d111), SkBits2Float(0xc2a5e5fd));
  1524. path.lineTo(SkBits2Float(0x4006533c), SkBits2Float(0xc26fda66));
  1525. path.cubicTo(SkBits2Float(0x4002419e), SkBits2Float(0xc26fdcaf), SkBits2Float(0x3ffc5fdb), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c61), SkBits2Float(0xc26fe0ed));
  1526. path.lineTo(SkBits2Float(0x4028ee15), SkBits2Float(0xc2a5ea81));
  1527. path.close();
  1528. SkPath path2(path);
  1529. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1530. }
  1531. // op end success 1
  1532. static void battleOp63(skiatest::Reporter* reporter, const char* filename) {
  1533. SkPath path;
  1534. path.setFillType((SkPath::FillType) 1);
  1535. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1536. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1537. path.cubicTo(SkBits2Float(0x3f614848), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fe14683), SkBits2Float(0xc2a5f8d5), SkBits2Float(0x4028ee15), SkBits2Float(0xc2a5ea81));
  1538. path.cubicTo(SkBits2Float(0x402e8f25), SkBits2Float(0xc2a5e912), SkBits2Float(0x40343026), SkBits2Float(0xc2a5e791), SkBits2Float(0x4039d111), SkBits2Float(0xc2a5e5fd));
  1539. path.lineTo(SkBits2Float(0x4006533c), SkBits2Float(0xc26fda66));
  1540. path.cubicTo(SkBits2Float(0x400241a2), SkBits2Float(0xc26fdcaf), SkBits2Float(0x3ffc5fea), SkBits2Float(0xc26fdedc), SkBits2Float(0x3ff43c76), SkBits2Float(0xc26fe0ec));
  1541. path.cubicTo(SkBits2Float(0x3fa2d98a), SkBits2Float(0xc26ff5a4), SkBits2Float(0x3f22dad5), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1542. path.close();
  1543. path.moveTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297));
  1544. path.lineTo(SkBits2Float(0x3ff43c61), SkBits2Float(0xc26fe0ed));
  1545. path.lineTo(SkBits2Float(0x3ff43c77), SkBits2Float(0xc26fe0ed));
  1546. path.lineTo(SkBits2Float(0x40186abb), SkBits2Float(0xc295b297));
  1547. path.close();
  1548. SkPath path1(path);
  1549. path.reset();
  1550. path.setFillType((SkPath::FillType) 0);
  1551. path.moveTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
  1552. path.cubicTo(SkBits2Float(0x408a83ff), SkBits2Float(0xc2a5cc72), SkBits2Float(0x40b8130f), SkBits2Float(0xc2a5a01a), SkBits2Float(0x40e58a06), SkBits2Float(0xc2a56100));
  1553. path.lineTo(SkBits2Float(0x40a5ee90), SkBits2Float(0xc26f1a20));
  1554. path.cubicTo(SkBits2Float(0x408510de), SkBits2Float(0xc26f755e), SkBits2Float(0x40484386), SkBits2Float(0xc26fb57a), SkBits2Float(0x40065347), SkBits2Float(0xc26fda68));
  1555. path.lineTo(SkBits2Float(0x4039d102), SkBits2Float(0xc2a5e5fe));
  1556. path.close();
  1557. SkPath path2(path);
  1558. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1559. }
  1560. // op end success 1
  1561. static void battleOp64(skiatest::Reporter* reporter, const char* filename) {
  1562. SkPath path;
  1563. path.setFillType((SkPath::FillType) 0);
  1564. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1565. path.cubicTo(SkBits2Float(0x3faf587e), SkBits2Float(0xc2a5ffff), SkBits2Float(0x402f5505), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372de), SkBits2Float(0xc2a5cbeb));
  1566. path.lineTo(SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6));
  1567. path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2700000));
  1568. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1569. path.close();
  1570. SkPath path1(path);
  1571. path.reset();
  1572. path.setFillType((SkPath::FillType) 0);
  1573. path.moveTo(SkBits2Float(0x408372d6), SkBits2Float(0xc2a5cbec));
  1574. path.cubicTo(SkBits2Float(0x4087d39d), SkBits2Float(0xc2a5c874), SkBits2Float(0x408c3440), SkBits2Float(0xc2a5c4cf), SkBits2Float(0x409094bd), SkBits2Float(0xc2a5c0fe));
  1575. path.lineTo(SkBits2Float(0x40510866), SkBits2Float(0xc26fa4e7));
  1576. path.cubicTo(SkBits2Float(0x404ab468), SkBits2Float(0xc26faa6c), SkBits2Float(0x40446037), SkBits2Float(0xc26fafb2), SkBits2Float(0x403e0bd2), SkBits2Float(0xc26fb4b7));
  1577. path.lineTo(SkBits2Float(0x408372d6), SkBits2Float(0xc2a5cbec));
  1578. path.close();
  1579. SkPath path2(path);
  1580. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1581. }
  1582. // op end success 1
  1583. static void battleOp65(skiatest::Reporter* reporter, const char* filename) {
  1584. SkPath path;
  1585. path.setFillType((SkPath::FillType) 1);
  1586. path.moveTo(SkBits2Float(0x363f7eb2), SkBits2Float(0xc2700000));
  1587. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1588. path.cubicTo(SkBits2Float(0x3faf5872), SkBits2Float(0xc2a60000), SkBits2Float(0x402f54f9), SkBits2Float(0xc2a5eea1), SkBits2Float(0x408372d5), SkBits2Float(0xc2a5cbeb));
  1589. path.lineTo(SkBits2Float(0x408372d6), SkBits2Float(0xc2a5cbec));
  1590. path.cubicTo(SkBits2Float(0x4087d39d), SkBits2Float(0xc2a5c874), SkBits2Float(0x408c3440), SkBits2Float(0xc2a5c4cf), SkBits2Float(0x409094bd), SkBits2Float(0xc2a5c0fe));
  1591. path.lineTo(SkBits2Float(0x40510866), SkBits2Float(0xc26fa4e7));
  1592. path.cubicTo(SkBits2Float(0x404ab468), SkBits2Float(0xc26faa6c), SkBits2Float(0x40446037), SkBits2Float(0xc26fafb2), SkBits2Float(0x403e0bd0), SkBits2Float(0xc26fb4b6));
  1593. path.cubicTo(SkBits2Float(0x3ffd7de6), SkBits2Float(0xc26fe6e6), SkBits2Float(0x3f7d82fb), SkBits2Float(0xc2700000), SkBits2Float(0x363f7eb2), SkBits2Float(0xc2700000));
  1594. path.close();
  1595. SkPath path1(path);
  1596. path.reset();
  1597. path.setFillType((SkPath::FillType) 0);
  1598. path.moveTo(SkBits2Float(0x409094be), SkBits2Float(0xc2a5c0fe));
  1599. path.cubicTo(SkBits2Float(0x40d784bb), SkBits2Float(0xc2a5831d), SkBits2Float(0x410f22d3), SkBits2Float(0xc2a517ba), SkBits2Float(0x413255ec), SkBits2Float(0xc2a47f15));
  1600. path.lineTo(SkBits2Float(0x4100ead4), SkBits2Float(0xc26dd37e));
  1601. path.cubicTo(SkBits2Float(0x40cef193), SkBits2Float(0xc26eb02f), SkBits2Float(0x409bcbdf), SkBits2Float(0xc26f4b72), SkBits2Float(0x40510859), SkBits2Float(0xc26fa4e8));
  1602. path.lineTo(SkBits2Float(0x409094be), SkBits2Float(0xc2a5c0fe));
  1603. path.close();
  1604. SkPath path2(path);
  1605. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1606. }
  1607. // op end success 1
  1608. static void battleOp66(skiatest::Reporter* reporter, const char* filename) {
  1609. SkPath path;
  1610. path.setFillType((SkPath::FillType) 0);
  1611. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1612. path.cubicTo(SkBits2Float(0x4037e518), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40b7d534), SkBits2Float(0xc2a5b39a), SkBits2Float(0x4109a47d), SkBits2Float(0xc2a51b1f));
  1613. path.lineTo(SkBits2Float(0x40c70051), SkBits2Float(0xc26eb519));
  1614. path.cubicTo(SkBits2Float(0x4084e427), SkBits2Float(0xc26f918c), SkBits2Float(0x4004efa4), SkBits2Float(0xc26fffff), SkBits2Float(0x3543fa8c), SkBits2Float(0xc26fffff));
  1615. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1616. path.close();
  1617. SkPath path1(path);
  1618. path.reset();
  1619. path.setFillType((SkPath::FillType) 0);
  1620. path.moveTo(SkBits2Float(0x4109a47c), SkBits2Float(0xc2a51b20));
  1621. path.cubicTo(SkBits2Float(0x410e36d1), SkBits2Float(0xc2a50be2), SkBits2Float(0x4112c883), SkBits2Float(0xc2a4fbe1), SkBits2Float(0x41175985), SkBits2Float(0xc2a4eb1d));
  1622. path.lineTo(SkBits2Float(0x40dad196), SkBits2Float(0xc26e6faf));
  1623. path.cubicTo(SkBits2Float(0x40d4377d), SkBits2Float(0xc26e87ed), SkBits2Float(0x40cd9c5c), SkBits2Float(0xc26e9f10), SkBits2Float(0x40c7004e), SkBits2Float(0xc26eb51a));
  1624. path.lineTo(SkBits2Float(0x4109a47c), SkBits2Float(0xc2a51b20));
  1625. path.close();
  1626. SkPath path2(path);
  1627. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1628. }
  1629. // op end success 1
  1630. static void battleOp67(skiatest::Reporter* reporter, const char* filename) { // crashed
  1631. SkPath path;
  1632. path.setFillType((SkPath::FillType) 1);
  1633. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  1634. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1635. path.cubicTo(SkBits2Float(0x4037e518), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40b7d534), SkBits2Float(0xc2a5b39a), SkBits2Float(0x4109a47c), SkBits2Float(0xc2a51b20));
  1636. path.cubicTo(SkBits2Float(0x410e36d1), SkBits2Float(0xc2a50be2), SkBits2Float(0x4112c883), SkBits2Float(0xc2a4fbe1), SkBits2Float(0x41175985), SkBits2Float(0xc2a4eb1d));
  1637. path.lineTo(SkBits2Float(0x40dad196), SkBits2Float(0xc26e6faf));
  1638. path.cubicTo(SkBits2Float(0x40d4377e), SkBits2Float(0xc26e87ed), SkBits2Float(0x40cd9c5f), SkBits2Float(0xc26e9f10), SkBits2Float(0x40c70052), SkBits2Float(0xc26eb51a));
  1639. path.lineTo(SkBits2Float(0x40c70051), SkBits2Float(0xc26eb519));
  1640. path.cubicTo(SkBits2Float(0x4084e427), SkBits2Float(0xc26f918c), SkBits2Float(0x4004efa4), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  1641. path.close();
  1642. SkPath path1(path);
  1643. path.reset();
  1644. path.setFillType((SkPath::FillType) 0);
  1645. path.moveTo(SkBits2Float(0x4117597f), SkBits2Float(0xc2a4eb1d));
  1646. path.cubicTo(SkBits2Float(0x41616445), SkBits2Float(0xc2a3db51), SkBits2Float(0x41954b2d), SkBits2Float(0xc2a2048b), SkBits2Float(0x41b914a4), SkBits2Float(0xc29f6bcb));
  1647. path.lineTo(SkBits2Float(0x4185cb10), SkBits2Float(0xc2667d00));
  1648. path.cubicTo(SkBits2Float(0x4157d8a2), SkBits2Float(0xc26a3e17), SkBits2Float(0x4122ef07), SkBits2Float(0xc26ce6b9), SkBits2Float(0x40dad195), SkBits2Float(0xc26e6faf));
  1649. path.lineTo(SkBits2Float(0x4117597f), SkBits2Float(0xc2a4eb1d));
  1650. path.close();
  1651. SkPath path2(path);
  1652. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1653. }
  1654. static void battleOp68(skiatest::Reporter* reporter, const char* filename) {
  1655. SkPath path;
  1656. path.setFillType((SkPath::FillType) 0);
  1657. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1658. path.cubicTo(SkBits2Float(0x3e1b2207), SkBits2Float(0xc2a60000), SkBits2Float(0x3e9b2105), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b0c0), SkBits2Float(0xc2a5ff5d));
  1659. path.lineTo(SkBits2Float(0x3ea83563), SkBits2Float(0xc26fff14));
  1660. path.cubicTo(SkBits2Float(0x3e60486a), SkBits2Float(0xc26fffb2), SkBits2Float(0x3de049e3), SkBits2Float(0xc2700000), SkBits2Float(0x36b67768), SkBits2Float(0xc2700000));
  1661. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1662. path.close();
  1663. SkPath path1(path);
  1664. path.reset();
  1665. path.setFillType((SkPath::FillType) 0);
  1666. path.moveTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
  1667. path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2a5ff3b));
  1668. path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3));
  1669. path.cubicTo(SkBits2Float(0x3eb36c27), SkBits2Float(0xc26ffef6), SkBits2Float(0x3eadd0dd), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea83592), SkBits2Float(0xc26fff16));
  1670. path.lineTo(SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
  1671. path.close();
  1672. SkPath path2(path);
  1673. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1674. }
  1675. // op end success 1
  1676. static void battleOp69(skiatest::Reporter* reporter, const char* filename) {
  1677. SkPath path;
  1678. path.setFillType((SkPath::FillType) 1);
  1679. path.moveTo(SkBits2Float(0x36b67768), SkBits2Float(0xc2700000));
  1680. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1681. path.cubicTo(SkBits2Float(0x3e1b21b2), SkBits2Float(0xc2a60000), SkBits2Float(0x3e9b20b0), SkBits2Float(0xc2a5ffca), SkBits2Float(0x3ee8b040), SkBits2Float(0xc2a5ff5d));
  1682. path.cubicTo(SkBits2Float(0x3ef0720a), SkBits2Float(0xc2a5ff52), SkBits2Float(0x3ef83386), SkBits2Float(0xc2a5ff47), SkBits2Float(0x3efff501), SkBits2Float(0xc2a5ff3b));
  1683. path.lineTo(SkBits2Float(0x3eb90778), SkBits2Float(0xc26ffee3));
  1684. path.lineTo(SkBits2Float(0x3ea83592), SkBits2Float(0xc26fff16));
  1685. path.lineTo(SkBits2Float(0x3ea83563), SkBits2Float(0xc26fff14));
  1686. path.cubicTo(SkBits2Float(0x3e60486a), SkBits2Float(0xc26fffb2), SkBits2Float(0x3de049e3), SkBits2Float(0xc2700000), SkBits2Float(0x36b67768), SkBits2Float(0xc2700000));
  1687. path.close();
  1688. SkPath path1(path);
  1689. path.reset();
  1690. path.setFillType((SkPath::FillType) 0);
  1691. path.moveTo(SkBits2Float(0x3efff501), SkBits2Float(0xc2a5ff3b));
  1692. path.cubicTo(SkBits2Float(0x3f3ed289), SkBits2Float(0xc2a5fe79), SkBits2Float(0x3f7daa5c), SkBits2Float(0xc2a5fd28), SkBits2Float(0x3f9e4099), SkBits2Float(0xc2a5fb49));
  1693. path.lineTo(SkBits2Float(0x3f64cc5f), SkBits2Float(0xc26ff92f));
  1694. path.cubicTo(SkBits2Float(0x3f375f8f), SkBits2Float(0xc26ffbe5), SkBits2Float(0x3f09f1cf), SkBits2Float(0xc26ffdcc), SkBits2Float(0x3eb9075f), SkBits2Float(0xc26ffee4));
  1695. path.lineTo(SkBits2Float(0x3efff501), SkBits2Float(0xc2a5ff3b));
  1696. path.close();
  1697. SkPath path2(path);
  1698. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1699. }
  1700. // op end success 1
  1701. static void battleOp70(skiatest::Reporter* reporter, const char* filename) {
  1702. SkPath path;
  1703. path.setFillType((SkPath::FillType) 0);
  1704. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1705. path.cubicTo(SkBits2Float(0x3f0938d2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f893841), SkBits2Float(0xc2a5fd56), SkBits2Float(0x3fcdd137), SkBits2Float(0xc2a5f805));
  1706. path.lineTo(SkBits2Float(0x3f94c89b), SkBits2Float(0xc26ff478));
  1707. path.cubicTo(SkBits2Float(0x3f4663c1), SkBits2Float(0xc26ffc29), SkBits2Float(0x3ec6647d), SkBits2Float(0xc2700000), SkBits2Float(0x360ebeb2), SkBits2Float(0xc2700000));
  1708. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1709. path.close();
  1710. SkPath path1(path);
  1711. path.reset();
  1712. path.setFillType((SkPath::FillType) 0);
  1713. path.moveTo(SkBits2Float(0x3fcdd13c), SkBits2Float(0xc2a5f806));
  1714. path.cubicTo(SkBits2Float(0x3fd4ad55), SkBits2Float(0xc2a5f77d), SkBits2Float(0x3fdb895f), SkBits2Float(0xc2a5f6ef), SkBits2Float(0x3fe26560), SkBits2Float(0xc2a5f659));
  1715. path.lineTo(SkBits2Float(0x3fa3a8ea), SkBits2Float(0xc26ff20c));
  1716. path.cubicTo(SkBits2Float(0x3f9eb37e), SkBits2Float(0xc26ff2e6), SkBits2Float(0x3f99be11), SkBits2Float(0xc26ff3b4), SkBits2Float(0x3f94c89e), SkBits2Float(0xc26ff479));
  1717. path.lineTo(SkBits2Float(0x3fcdd13c), SkBits2Float(0xc2a5f806));
  1718. path.close();
  1719. SkPath path2(path);
  1720. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1721. }
  1722. // op end success 1
  1723. static void battleOp71(skiatest::Reporter* reporter, const char* filename) {
  1724. SkPath path;
  1725. path.setFillType((SkPath::FillType) 1);
  1726. path.moveTo(SkBits2Float(0x360ebeb2), SkBits2Float(0xc2700000));
  1727. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1728. path.cubicTo(SkBits2Float(0x3f0938d2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f893841), SkBits2Float(0xc2a5fd56), SkBits2Float(0x3fcdd13c), SkBits2Float(0xc2a5f806));
  1729. path.cubicTo(SkBits2Float(0x3fd4ad55), SkBits2Float(0xc2a5f77d), SkBits2Float(0x3fdb895f), SkBits2Float(0xc2a5f6ef), SkBits2Float(0x3fe26560), SkBits2Float(0xc2a5f659));
  1730. path.lineTo(SkBits2Float(0x3fa3a8ea), SkBits2Float(0xc26ff20c));
  1731. path.cubicTo(SkBits2Float(0x3f9eb37e), SkBits2Float(0xc26ff2e6), SkBits2Float(0x3f99be11), SkBits2Float(0xc26ff3b4), SkBits2Float(0x3f94c89b), SkBits2Float(0xc26ff478));
  1732. path.cubicTo(SkBits2Float(0x3f4663c1), SkBits2Float(0xc26ffc29), SkBits2Float(0x3ec6647d), SkBits2Float(0xc2700000), SkBits2Float(0x360ebeb2), SkBits2Float(0xc2700000));
  1733. path.close();
  1734. SkPath path1(path);
  1735. path.reset();
  1736. path.setFillType((SkPath::FillType) 0);
  1737. path.moveTo(SkBits2Float(0x3fe26566), SkBits2Float(0xc2a5f65a));
  1738. path.cubicTo(SkBits2Float(0x4028c729), SkBits2Float(0xc2a5ecdf), SkBits2Float(0x406055f2), SkBits2Float(0xc2a5dc6a), SkBits2Float(0x408beceb), SkBits2Float(0xc2a5c4fb));
  1739. path.lineTo(SkBits2Float(0x404a4d47), SkBits2Float(0xc26faaae));
  1740. path.cubicTo(SkBits2Float(0x40222b9c), SkBits2Float(0xc26fcc90), SkBits2Float(0x3ff40427), SkBits2Float(0xc26fe45b), SkBits2Float(0x3fa3a8ee), SkBits2Float(0xc26ff20e));
  1741. path.lineTo(SkBits2Float(0x3fe26566), SkBits2Float(0xc2a5f65a));
  1742. path.close();
  1743. SkPath path2(path);
  1744. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1745. }
  1746. // op end success 1
  1747. static void battleOp72(skiatest::Reporter* reporter, const char* filename) {
  1748. SkPath path;
  1749. path.setFillType((SkPath::FillType) 0);
  1750. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1751. path.cubicTo(SkBits2Float(0x3f73aa4a), SkBits2Float(0xc2a60000), SkBits2Float(0x3ff3a7f0), SkBits2Float(0xc2a5f79e), SkBits2Float(0x4036b54b), SkBits2Float(0xc2a5e6db));
  1752. path.lineTo(SkBits2Float(0x40041412), SkBits2Float(0xc26fdba5));
  1753. path.cubicTo(SkBits2Float(0x3fb0230c), SkBits2Float(0xc26ff3e0), SkBits2Float(0x3f3024c1), SkBits2Float(0xc26fffff), SkBits2Float(0x359dfd4a), SkBits2Float(0xc26fffff));
  1754. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1755. path.close();
  1756. SkPath path1(path);
  1757. path.reset();
  1758. path.setFillType((SkPath::FillType) 0);
  1759. path.moveTo(SkBits2Float(0x4036b55d), SkBits2Float(0xc2a5e6db));
  1760. path.cubicTo(SkBits2Float(0x403ccbdf), SkBits2Float(0xc2a5e52d), SkBits2Float(0x4042e24c), SkBits2Float(0xc2a5e36a), SkBits2Float(0x4048f89e), SkBits2Float(0xc2a5e192));
  1761. path.lineTo(SkBits2Float(0x401147bc), SkBits2Float(0xc26fd403));
  1762. path.cubicTo(SkBits2Float(0x400ce144), SkBits2Float(0xc26fd6ae), SkBits2Float(0x40087ab2), SkBits2Float(0xc26fd939), SkBits2Float(0x4004140f), SkBits2Float(0xc26fdba5));
  1763. path.lineTo(SkBits2Float(0x4036b55d), SkBits2Float(0xc2a5e6db));
  1764. path.close();
  1765. SkPath path2(path);
  1766. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1767. }
  1768. // op end fail 1
  1769. static void battleOp73(skiatest::Reporter* reporter, const char* filename) {
  1770. SkPath path;
  1771. path.setFillType((SkPath::FillType) 0);
  1772. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1773. path.cubicTo(SkBits2Float(0x40447e19), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40c46ab2), SkBits2Float(0xc2a5a8c7), SkBits2Float(0x4113078c), SkBits2Float(0xc2a4fabe));
  1774. path.lineTo(SkBits2Float(0x40d4929e), SkBits2Float(0xc26e8647));
  1775. path.cubicTo(SkBits2Float(0x408dfcf1), SkBits2Float(0xc26f81e6), SkBits2Float(0x400e0af8), SkBits2Float(0xc2700000), SkBits2Float(0x3655fea5), SkBits2Float(0xc2700000));
  1776. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1777. path.close();
  1778. SkPath path1(path);
  1779. path.reset();
  1780. path.setFillType((SkPath::FillType) 0);
  1781. path.moveTo(SkBits2Float(0x4113078b), SkBits2Float(0xc2a4fabe));
  1782. path.cubicTo(SkBits2Float(0x4117e908), SkBits2Float(0xc2a4e957), SkBits2Float(0x411cc9c0), SkBits2Float(0xc2a4d714), SkBits2Float(0x4121a9a1), SkBits2Float(0xc2a4c3f3));
  1783. path.lineTo(SkBits2Float(0x40e9baad), SkBits2Float(0xc26e370e));
  1784. path.cubicTo(SkBits2Float(0x40e2ae85), SkBits2Float(0xc26e52b6), SkBits2Float(0x40dba120), SkBits2Float(0xc26e6d20), SkBits2Float(0x40d4929a), SkBits2Float(0xc26e8647));
  1785. path.lineTo(SkBits2Float(0x4113078b), SkBits2Float(0xc2a4fabe));
  1786. path.close();
  1787. SkPath path2(path);
  1788. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1789. }
  1790. // op end fail 1
  1791. static void battleOp74(skiatest::Reporter* reporter, const char* filename) {
  1792. SkPath path;
  1793. path.setFillType((SkPath::FillType) 0);
  1794. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1795. path.cubicTo(SkBits2Float(0x406db78d), SkBits2Float(0xc2a60000), SkBits2Float(0x40ed953d), SkBits2Float(0xc2a58058), SkBits2Float(0x4131afb7), SkBits2Float(0xc2a481e4));
  1796. path.lineTo(SkBits2Float(0x410072b2), SkBits2Float(0xc26dd78e));
  1797. path.cubicTo(SkBits2Float(0x40abbf2e), SkBits2Float(0xc26f4770), SkBits2Float(0x402bd807), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  1798. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1799. path.close();
  1800. SkPath path1(path);
  1801. path.reset();
  1802. path.setFillType((SkPath::FillType) 0);
  1803. path.moveTo(SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  1804. path.cubicTo(SkBits2Float(0x413792dd), SkBits2Float(0xc2a46874), SkBits2Float(0x413d74a2), SkBits2Float(0xc2a44dc1), SkBits2Float(0x414354e9), SkBits2Float(0xc2a431ca));
  1805. path.lineTo(SkBits2Float(0x410d3424), SkBits2Float(0xc26d63c0));
  1806. path.cubicTo(SkBits2Float(0x4108f4b6), SkBits2Float(0xc26d8c2e), SkBits2Float(0x4104b435), SkBits2Float(0xc26db2c8), SkBits2Float(0x410072b4), SkBits2Float(0xc26dd78e));
  1807. path.lineTo(SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  1808. path.close();
  1809. SkPath path2(path);
  1810. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1811. }
  1812. // op end success 1
  1813. static void battleOp75(skiatest::Reporter* reporter, const char* filename) {
  1814. SkPath path;
  1815. path.setFillType((SkPath::FillType) 1);
  1816. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  1817. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1818. path.cubicTo(SkBits2Float(0x406db78d), SkBits2Float(0xc2a60000), SkBits2Float(0x40ed953d), SkBits2Float(0xc2a58058), SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  1819. path.cubicTo(SkBits2Float(0x413792dd), SkBits2Float(0xc2a46874), SkBits2Float(0x413d74a2), SkBits2Float(0xc2a44dc1), SkBits2Float(0x414354e9), SkBits2Float(0xc2a431ca));
  1820. path.lineTo(SkBits2Float(0x410d3424), SkBits2Float(0xc26d63c0));
  1821. path.cubicTo(SkBits2Float(0x4108f4b6), SkBits2Float(0xc26d8c2e), SkBits2Float(0x4104b435), SkBits2Float(0xc26db2c8), SkBits2Float(0x410072b2), SkBits2Float(0xc26dd78e));
  1822. path.cubicTo(SkBits2Float(0x40abbf2e), SkBits2Float(0xc26f4770), SkBits2Float(0x402bd807), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  1823. path.close();
  1824. SkPath path1(path);
  1825. path.reset();
  1826. path.setFillType((SkPath::FillType) 0);
  1827. path.moveTo(SkBits2Float(0x414354ed), SkBits2Float(0xc2a431cb));
  1828. path.cubicTo(SkBits2Float(0x419152e5), SkBits2Float(0xc2a26c3a), SkBits2Float(0x41c0119b), SkBits2Float(0xc29f5c06), SkBits2Float(0x41ed1335), SkBits2Float(0xc29b0f0a));
  1829. path.lineTo(SkBits2Float(0x41ab612b), SkBits2Float(0xc2602e6b));
  1830. path.cubicTo(SkBits2Float(0x418ad84d), SkBits2Float(0xc2666635), SkBits2Float(0x41521b54), SkBits2Float(0xc26ad3fe), SkBits2Float(0x410d3426), SkBits2Float(0xc26d63c0));
  1831. path.lineTo(SkBits2Float(0x414354ed), SkBits2Float(0xc2a431cb));
  1832. path.close();
  1833. SkPath path2(path);
  1834. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1835. }
  1836. // op end success 1
  1837. static void battleOp76(skiatest::Reporter* reporter, const char* filename) {
  1838. SkPath path;
  1839. path.setFillType((SkPath::FillType) 0);
  1840. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1841. path.cubicTo(SkBits2Float(0x40932e58), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41130dbc), SkBits2Float(0xc2a53c41), SkBits2Float(0x415ba178), SkBits2Float(0xc2a3b6ca));
  1842. path.lineTo(SkBits2Float(0x411ec4eb), SkBits2Float(0xc26cb1eb));
  1843. path.cubicTo(SkBits2Float(0x40d49b93), SkBits2Float(0xc26ee4ff), SkBits2Float(0x4054cab9), SkBits2Float(0xc26fffff), SkBits2Float(0x35f7fd46), SkBits2Float(0xc26fffff));
  1844. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1845. path.close();
  1846. SkPath path1(path);
  1847. path.reset();
  1848. path.setFillType((SkPath::FillType) 0);
  1849. path.moveTo(SkBits2Float(0x415ba178), SkBits2Float(0xc2a3b6cb));
  1850. path.cubicTo(SkBits2Float(0x4162e261), SkBits2Float(0xc2a38fde), SkBits2Float(0x416a20aa), SkBits2Float(0xc2a36704), SkBits2Float(0x41715c23), SkBits2Float(0xc2a33c3e));
  1851. path.lineTo(SkBits2Float(0x412e7a25), SkBits2Float(0xc26c00bd));
  1852. path.cubicTo(SkBits2Float(0x41293fb6), SkBits2Float(0xc26c3e94), SkBits2Float(0x41240342), SkBits2Float(0xc26c79a4), SkBits2Float(0x411ec4e8), SkBits2Float(0xc26cb1eb));
  1853. path.lineTo(SkBits2Float(0x415ba178), SkBits2Float(0xc2a3b6cb));
  1854. path.close();
  1855. SkPath path2(path);
  1856. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1857. }
  1858. // op end fail 1
  1859. static void battleOp77(skiatest::Reporter* reporter, const char* filename) {
  1860. SkPath path;
  1861. path.setFillType((SkPath::FillType) 0);
  1862. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1863. path.cubicTo(SkBits2Float(0x40d0158a), SkBits2Float(0xc2a60000), SkBits2Float(0x414fb944), SkBits2Float(0xc2a478c0), SkBits2Float(0x419a74b5), SkBits2Float(0xc2a1724b));
  1864. path.lineTo(SkBits2Float(0x415f4f4c), SkBits2Float(0xc2696aa5));
  1865. path.cubicTo(SkBits2Float(0x41162967), SkBits2Float(0xc26dca57), SkBits2Float(0x40966c1f), SkBits2Float(0xc2700000), SkBits2Float(0x3655fea3), SkBits2Float(0xc2700000));
  1866. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1867. path.close();
  1868. SkPath path1(path);
  1869. path.reset();
  1870. path.setFillType((SkPath::FillType) 0);
  1871. path.moveTo(SkBits2Float(0x419a74b6), SkBits2Float(0xc2a1724b));
  1872. path.cubicTo(SkBits2Float(0x419f8274), SkBits2Float(0xc2a124ef), SkBits2Float(0x41a48c82), SkBits2Float(0xc2a0d3c9), SkBits2Float(0x41a9929f), SkBits2Float(0xc2a07edb));
  1873. path.lineTo(SkBits2Float(0x41752a58), SkBits2Float(0xc2680ab0));
  1874. path.cubicTo(SkBits2Float(0x416de6e6), SkBits2Float(0xc268857b), SkBits2Float(0x41669dc0), SkBits2Float(0xc268facf), SkBits2Float(0x415f4f4b), SkBits2Float(0xc2696aa6));
  1875. path.lineTo(SkBits2Float(0x419a74b6), SkBits2Float(0xc2a1724b));
  1876. path.close();
  1877. SkPath path2(path);
  1878. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1879. }
  1880. // op end success 1
  1881. static void battleOp78(skiatest::Reporter* reporter, const char* filename) {
  1882. SkPath path;
  1883. path.setFillType((SkPath::FillType) 1);
  1884. path.moveTo(SkBits2Float(0x3655fea3), SkBits2Float(0xc2700000));
  1885. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1886. path.cubicTo(SkBits2Float(0x40d0158a), SkBits2Float(0xc2a60000), SkBits2Float(0x414fb944), SkBits2Float(0xc2a478c0), SkBits2Float(0x419a74b6), SkBits2Float(0xc2a1724b));
  1887. path.cubicTo(SkBits2Float(0x419f8274), SkBits2Float(0xc2a124ef), SkBits2Float(0x41a48c82), SkBits2Float(0xc2a0d3c9), SkBits2Float(0x41a9929f), SkBits2Float(0xc2a07edb));
  1888. path.lineTo(SkBits2Float(0x41752a58), SkBits2Float(0xc2680ab0));
  1889. path.cubicTo(SkBits2Float(0x416de6e6), SkBits2Float(0xc268857b), SkBits2Float(0x41669dc0), SkBits2Float(0xc268facf), SkBits2Float(0x415f4f4c), SkBits2Float(0xc2696aa5));
  1890. path.cubicTo(SkBits2Float(0x41162967), SkBits2Float(0xc26dca57), SkBits2Float(0x40966c1f), SkBits2Float(0xc2700000), SkBits2Float(0x3655fea3), SkBits2Float(0xc2700000));
  1891. path.close();
  1892. SkPath path1(path);
  1893. path.reset();
  1894. path.setFillType((SkPath::FillType) 0);
  1895. path.moveTo(SkBits2Float(0x41a9929f), SkBits2Float(0xc2a07edc));
  1896. path.cubicTo(SkBits2Float(0x41fb3aee), SkBits2Float(0xc29b1a71), SkBits2Float(0x422402f4), SkBits2Float(0xc291ddaf), SkBits2Float(0x4245eaa6), SkBits2Float(0xc2854763));
  1897. path.lineTo(SkBits2Float(0x420f1280), SkBits2Float(0xc240b13c));
  1898. path.cubicTo(SkBits2Float(0x41ed200b), SkBits2Float(0xc252e3f9), SkBits2Float(0x41b59cbb), SkBits2Float(0xc2603ee8), SkBits2Float(0x41752a58), SkBits2Float(0xc2680aaf));
  1899. path.lineTo(SkBits2Float(0x41a9929f), SkBits2Float(0xc2a07edc));
  1900. path.close();
  1901. SkPath path2(path);
  1902. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1903. }
  1904. // op end success 1
  1905. static void battleOp79(skiatest::Reporter* reporter, const char* filename) { //crashed
  1906. SkPath path;
  1907. path.setFillType((SkPath::FillType) 0);
  1908. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1909. path.cubicTo(SkBits2Float(0x4110a0cc), SkBits2Float(0xc2a60000), SkBits2Float(0x4190247a), SkBits2Float(0xc2a30bfe), SkBits2Float(0x41d4a5dc), SkBits2Float(0xc29d41d4));
  1910. path.lineTo(SkBits2Float(0x4199b8a9), SkBits2Float(0xc2635c16));
  1911. path.cubicTo(SkBits2Float(0x4150660f), SkBits2Float(0xc26bbaf8), SkBits2Float(0x40d119d0), SkBits2Float(0xc2700000), SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  1912. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1913. path.close();
  1914. SkPath path1(path);
  1915. path.reset();
  1916. path.setFillType((SkPath::FillType) 0);
  1917. path.moveTo(SkBits2Float(0x41d4a5d9), SkBits2Float(0xc29d41d4));
  1918. path.cubicTo(SkBits2Float(0x41db7bbd), SkBits2Float(0xc29cadef), SkBits2Float(0x41e247df), SkBits2Float(0xc29c12ec), SkBits2Float(0x41e9098d), SkBits2Float(0xc29b70d9));
  1919. path.lineTo(SkBits2Float(0x41a875f1), SkBits2Float(0xc260bbd5));
  1920. path.cubicTo(SkBits2Float(0x41a39393), SkBits2Float(0xc261a627), SkBits2Float(0x419ea9a6), SkBits2Float(0xc2628645), SkBits2Float(0x4199b8ab), SkBits2Float(0xc2635c17));
  1921. path.lineTo(SkBits2Float(0x41d4a5d9), SkBits2Float(0xc29d41d4));
  1922. path.close();
  1923. SkPath path2(path);
  1924. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1925. }
  1926. static void battleOp80(skiatest::Reporter* reporter, const char* filename) {
  1927. SkPath path;
  1928. path.setFillType((SkPath::FillType) 0);
  1929. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1930. path.cubicTo(SkBits2Float(0x3e15a675), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e95a67a), SkBits2Float(0xc2a5ffcd), SkBits2Float(0x3ee07980), SkBits2Float(0xc2a5ff68));
  1931. path.lineTo(SkBits2Float(0x3ea245bb), SkBits2Float(0xc26fff25));
  1932. path.cubicTo(SkBits2Float(0x3e585de0), SkBits2Float(0xc26fffb9), SkBits2Float(0x3dd85f11), SkBits2Float(0xc2700000), SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  1933. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1934. path.close();
  1935. SkPath path1(path);
  1936. path.reset();
  1937. path.setFillType((SkPath::FillType) 0);
  1938. path.moveTo(SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  1939. path.cubicTo(SkBits2Float(0x3ee7f565), SkBits2Float(0xc2a5ff5d), SkBits2Float(0x3eef70d9), SkBits2Float(0xc2a5ff52), SkBits2Float(0x3ef6ec4d), SkBits2Float(0xc2a5ff47));
  1940. path.lineTo(SkBits2Float(0x3eb27fdb), SkBits2Float(0xc26ffef6));
  1941. path.cubicTo(SkBits2Float(0x3ead1768), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea7aebe), SkBits2Float(0xc26fff17), SkBits2Float(0x3ea24612), SkBits2Float(0xc26fff26));
  1942. path.lineTo(SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  1943. path.close();
  1944. SkPath path2(path);
  1945. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1946. }
  1947. // op end success 1
  1948. static void battleOp81(skiatest::Reporter* reporter, const char* filename) {
  1949. SkPath path;
  1950. path.setFillType((SkPath::FillType) 1);
  1951. path.moveTo(SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  1952. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1953. path.cubicTo(SkBits2Float(0x3e15a675), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e95a67a), SkBits2Float(0xc2a5ffcd), SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  1954. path.lineTo(SkBits2Float(0x3ef6ec4d), SkBits2Float(0xc2a5ff47));
  1955. path.lineTo(SkBits2Float(0x3eb27fdb), SkBits2Float(0xc26ffef6));
  1956. path.cubicTo(SkBits2Float(0x3ead1768), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea7aebe), SkBits2Float(0xc26fff17), SkBits2Float(0x3ea245bb), SkBits2Float(0xc26fff25));
  1957. path.cubicTo(SkBits2Float(0x3e585de0), SkBits2Float(0xc26fffb9), SkBits2Float(0x3dd85f11), SkBits2Float(0xc2700000), SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  1958. path.close();
  1959. SkPath path1(path);
  1960. path.reset();
  1961. path.setFillType((SkPath::FillType) 0);
  1962. path.moveTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48));
  1963. path.cubicTo(SkBits2Float(0x3f3816c9), SkBits2Float(0xc2a5fe94), SkBits2Float(0x3f74b6e1), SkBits2Float(0xc2a5fd5b), SkBits2Float(0x3f98ab0b), SkBits2Float(0xc2a5fb9d));
  1964. path.lineTo(SkBits2Float(0x3f5cb973), SkBits2Float(0xc26ff9a8));
  1965. path.cubicTo(SkBits2Float(0x3f30e6e7), SkBits2Float(0xc26ffc2e), SkBits2Float(0x3f05138e), SkBits2Float(0xc26ffdf2), SkBits2Float(0x3eb27fc6), SkBits2Float(0xc26ffef7));
  1966. path.lineTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48));
  1967. path.close();
  1968. SkPath path2(path);
  1969. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1970. }
  1971. // op end success 1
  1972. static void battleOp82(skiatest::Reporter* reporter, const char* filename) {
  1973. SkPath path;
  1974. path.setFillType((SkPath::FillType) 0);
  1975. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1976. path.cubicTo(SkBits2Float(0x3eff98a5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f7f97b3), SkBits2Float(0xc2a5fdb1), SkBits2Float(0x3fbfaf38), SkBits2Float(0xc2a5f914));
  1977. path.lineTo(SkBits2Float(0x3f8a9112), SkBits2Float(0xc26ff600));
  1978. path.cubicTo(SkBits2Float(0x3f38c3e7), SkBits2Float(0xc26ffcab), SkBits2Float(0x3eb8c475), SkBits2Float(0xc2700000), SkBits2Float(0x35877d28), SkBits2Float(0xc2700000));
  1979. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  1980. path.close();
  1981. SkPath path1(path);
  1982. path.reset();
  1983. path.setFillType((SkPath::FillType) 0);
  1984. path.moveTo(SkBits2Float(0x3fbfaf15), SkBits2Float(0xc2a5f915));
  1985. path.cubicTo(SkBits2Float(0x3fc612b4), SkBits2Float(0xc2a5f8a0), SkBits2Float(0x3fcc7634), SkBits2Float(0xc2a5f824), SkBits2Float(0x3fd2d9ad), SkBits2Float(0xc2a5f7a2));
  1986. path.lineTo(SkBits2Float(0x3f986bef), SkBits2Float(0xc26ff3e6));
  1987. path.cubicTo(SkBits2Float(0x3f93cdb9), SkBits2Float(0xc26ff4a2), SkBits2Float(0x3f8f2f70), SkBits2Float(0xc26ff556), SkBits2Float(0x3f8a9121), SkBits2Float(0xc26ff601));
  1988. path.lineTo(SkBits2Float(0x3fbfaf15), SkBits2Float(0xc2a5f915));
  1989. path.close();
  1990. SkPath path2(path);
  1991. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  1992. }
  1993. // op end success 1
  1994. static void battleOp83(skiatest::Reporter* reporter, const char* filename) {
  1995. SkPath path;
  1996. path.setFillType((SkPath::FillType) 1);
  1997. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  1998. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  1999. path.cubicTo(SkBits2Float(0x3eff9875), SkBits2Float(0xc2a60000), SkBits2Float(0x3f7f9783), SkBits2Float(0xc2a5fdb1), SkBits2Float(0x3fbfaf14), SkBits2Float(0xc2a5f914));
  2000. path.lineTo(SkBits2Float(0x3fbfaf15), SkBits2Float(0xc2a5f915));
  2001. path.cubicTo(SkBits2Float(0x3fc612b4), SkBits2Float(0xc2a5f8a0), SkBits2Float(0x3fcc7634), SkBits2Float(0xc2a5f824), SkBits2Float(0x3fd2d9ad), SkBits2Float(0xc2a5f7a2));
  2002. path.lineTo(SkBits2Float(0x3f986bef), SkBits2Float(0xc26ff3e6));
  2003. path.cubicTo(SkBits2Float(0x3f93cdb9), SkBits2Float(0xc26ff4a2), SkBits2Float(0x3f8f2f70), SkBits2Float(0xc26ff556), SkBits2Float(0x3f8a9112), SkBits2Float(0xc26ff600));
  2004. path.cubicTo(SkBits2Float(0x3f38c3e7), SkBits2Float(0xc26ffcab), SkBits2Float(0x3eb8c475), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2005. path.close();
  2006. SkPath path1(path);
  2007. path.reset();
  2008. path.setFillType((SkPath::FillType) 0);
  2009. path.moveTo(SkBits2Float(0x3fd2d994), SkBits2Float(0xc2a5f7a1));
  2010. path.cubicTo(SkBits2Float(0x401d305c), SkBits2Float(0xc2a5ef69), SkBits2Float(0x4050ef71), SkBits2Float(0xc2a5e123), SkBits2Float(0x408252dc), SkBits2Float(0xc2a5ccd0));
  2011. path.lineTo(SkBits2Float(0x403c6b7d), SkBits2Float(0xc26fb5fe));
  2012. path.cubicTo(SkBits2Float(0x401709a2), SkBits2Float(0xc26fd362), SkBits2Float(0x3fe342dd), SkBits2Float(0xc26fe805), SkBits2Float(0x3f986be0), SkBits2Float(0xc26ff3e7));
  2013. path.lineTo(SkBits2Float(0x3fd2d994), SkBits2Float(0xc2a5f7a1));
  2014. path.close();
  2015. SkPath path2(path);
  2016. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2017. }
  2018. // op end success 1
  2019. static void battleOp84(skiatest::Reporter* reporter, const char* filename) {
  2020. SkPath path;
  2021. path.setFillType((SkPath::FillType) 0);
  2022. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2023. path.cubicTo(SkBits2Float(0x3f541e8b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fd41d19), SkBits2Float(0xc2a5f9a6), SkBits2Float(0x401f1022), SkBits2Float(0xc2a5ecf2));
  2024. path.lineTo(SkBits2Float(0x3fe5f882), SkBits2Float(0xc26fe473));
  2025. path.cubicTo(SkBits2Float(0x3f9955cf), SkBits2Float(0xc26ff6d2), SkBits2Float(0x3f1956dc), SkBits2Float(0xc2700000), SkBits2Float(0xb5bb02d8), SkBits2Float(0xc2700000));
  2026. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2027. path.close();
  2028. SkPath path1(path);
  2029. path.reset();
  2030. path.setFillType((SkPath::FillType) 0);
  2031. path.moveTo(SkBits2Float(0x401f1027), SkBits2Float(0xc2a5ecf2));
  2032. path.cubicTo(SkBits2Float(0x40245d21), SkBits2Float(0xc2a5ebac), SkBits2Float(0x4029aa04), SkBits2Float(0xc2a5ea57), SkBits2Float(0x402ef6d6), SkBits2Float(0xc2a5e8f1));
  2033. path.lineTo(SkBits2Float(0x3ffcf5ba), SkBits2Float(0xc26fdeaa));
  2034. path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f88e), SkBits2Float(0xc26fe474));
  2035. path.lineTo(SkBits2Float(0x401f1027), SkBits2Float(0xc2a5ecf2));
  2036. path.close();
  2037. SkPath path2(path);
  2038. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2039. }
  2040. // op end success 1
  2041. static void battleOp85(skiatest::Reporter* reporter, const char* filename) {
  2042. SkPath path;
  2043. path.setFillType((SkPath::FillType) 1);
  2044. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2045. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2046. path.cubicTo(SkBits2Float(0x3f541e8b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fd41d19), SkBits2Float(0xc2a5f9a6), SkBits2Float(0x401f1027), SkBits2Float(0xc2a5ecf2));
  2047. path.cubicTo(SkBits2Float(0x40245d21), SkBits2Float(0xc2a5ebac), SkBits2Float(0x4029aa04), SkBits2Float(0xc2a5ea57), SkBits2Float(0x402ef6d6), SkBits2Float(0xc2a5e8f1));
  2048. path.lineTo(SkBits2Float(0x3ffcf5ba), SkBits2Float(0xc26fdeaa));
  2049. path.cubicTo(SkBits2Float(0x3ff54c2d), SkBits2Float(0xc26fe0b0), SkBits2Float(0x3feda268), SkBits2Float(0xc26fe29e), SkBits2Float(0x3fe5f882), SkBits2Float(0xc26fe473));
  2050. path.cubicTo(SkBits2Float(0x3f9955cf), SkBits2Float(0xc26ff6d2), SkBits2Float(0x3f1956dc), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2051. path.close();
  2052. SkPath path1(path);
  2053. path.reset();
  2054. path.setFillType((SkPath::FillType) 0);
  2055. path.moveTo(SkBits2Float(0x402ef6c3), SkBits2Float(0xc2a5e8f1));
  2056. path.cubicTo(SkBits2Float(0x40826d68), SkBits2Float(0xc2a5d24c), SkBits2Float(0x40ad550a), SkBits2Float(0xc2a5aafb), SkBits2Float(0x40d82890), SkBits2Float(0xc2a57308));
  2057. path.lineTo(SkBits2Float(0x409c425c), SkBits2Float(0xc26f3430));
  2058. path.cubicTo(SkBits2Float(0x407a99d8), SkBits2Float(0xc26f8515), SkBits2Float(0x403c91e6), SkBits2Float(0xc26fbded), SkBits2Float(0x3ffcf5ca), SkBits2Float(0xc26fdeaa));
  2059. path.lineTo(SkBits2Float(0x402ef6c3), SkBits2Float(0xc2a5e8f1));
  2060. path.close();
  2061. SkPath path2(path);
  2062. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2063. }
  2064. // op end success 1
  2065. static void battleOp86(skiatest::Reporter* reporter, const char* filename) {
  2066. SkPath path;
  2067. path.setFillType((SkPath::FillType) 0);
  2068. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2069. path.cubicTo(SkBits2Float(0x40155bee), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40955364), SkBits2Float(0xc2a5cd99), SkBits2Float(0x40dfbd5f), SkBits2Float(0xc2a568f2));
  2070. path.lineTo(SkBits2Float(0x40a1bd53), SkBits2Float(0xc26f259d));
  2071. path.cubicTo(SkBits2Float(0x4057e483), SkBits2Float(0xc26fb724), SkBits2Float(0x3fd7f0d9), SkBits2Float(0xc2700000), SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2072. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2073. path.close();
  2074. SkPath path1(path);
  2075. path.reset();
  2076. path.setFillType((SkPath::FillType) 0);
  2077. path.moveTo(SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2078. path.cubicTo(SkBits2Float(0x40e72e1b), SkBits2Float(0xc2a55ee2), SkBits2Float(0x40ee9e1c), SkBits2Float(0xc2a55452), SkBits2Float(0x40f60d62), SkBits2Float(0xc2a54941));
  2079. path.lineTo(SkBits2Float(0x40b1de84), SkBits2Float(0xc26ef7c9));
  2080. path.cubicTo(SkBits2Float(0x40ac7ea0), SkBits2Float(0xc26f07cb), SkBits2Float(0x40a71e37), SkBits2Float(0xc26f1712), SkBits2Float(0x40a1bd4f), SkBits2Float(0xc26f259f));
  2081. path.lineTo(SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2082. path.close();
  2083. SkPath path2(path);
  2084. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2085. }
  2086. // op end success 1
  2087. static void battleOp87(skiatest::Reporter* reporter, const char* filename) {
  2088. SkPath path;
  2089. path.setFillType((SkPath::FillType) 1);
  2090. path.moveTo(SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2091. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2092. path.cubicTo(SkBits2Float(0x40155bee), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40955364), SkBits2Float(0xc2a5cd99), SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2093. path.cubicTo(SkBits2Float(0x40e72e1b), SkBits2Float(0xc2a55ee2), SkBits2Float(0x40ee9e1c), SkBits2Float(0xc2a55452), SkBits2Float(0x40f60d62), SkBits2Float(0xc2a54941));
  2094. path.lineTo(SkBits2Float(0x40b1de84), SkBits2Float(0xc26ef7c9));
  2095. path.cubicTo(SkBits2Float(0x40ac7ea2), SkBits2Float(0xc26f07cb), SkBits2Float(0x40a71e3a), SkBits2Float(0xc26f1712), SkBits2Float(0x40a1bd54), SkBits2Float(0xc26f259f));
  2096. path.lineTo(SkBits2Float(0x40a1bd53), SkBits2Float(0xc26f259d));
  2097. path.cubicTo(SkBits2Float(0x4057e483), SkBits2Float(0xc26fb724), SkBits2Float(0x3fd7f0d9), SkBits2Float(0xc2700000), SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2098. path.close();
  2099. SkPath path1(path);
  2100. path.reset();
  2101. path.setFillType((SkPath::FillType) 0);
  2102. path.moveTo(SkBits2Float(0x40f60d69), SkBits2Float(0xc2a54941));
  2103. path.cubicTo(SkBits2Float(0x41374a21), SkBits2Float(0xc2a495d5), SkBits2Float(0x41731962), SkBits2Float(0xc2a35eca), SkBits2Float(0x419704b1), SkBits2Float(0xc2a1a64c));
  2104. path.lineTo(SkBits2Float(0x415a56f5), SkBits2Float(0xc269b5d4));
  2105. path.cubicTo(SkBits2Float(0x412fbbfb), SkBits2Float(0xc26c32af), SkBits2Float(0x41047f9a), SkBits2Float(0xc26df463), SkBits2Float(0x40b1de7e), SkBits2Float(0xc26ef7cb));
  2106. path.lineTo(SkBits2Float(0x40f60d69), SkBits2Float(0xc2a54941));
  2107. path.close();
  2108. SkPath path2(path);
  2109. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2110. }
  2111. // op end success 1
  2112. static void battleOp88(skiatest::Reporter* reporter, const char* filename) { // crashed
  2113. SkPath path;
  2114. path.setFillType((SkPath::FillType) 0);
  2115. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2116. path.cubicTo(SkBits2Float(0x4059d383), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40d9b918), SkBits2Float(0xc2a594d0), SkBits2Float(0x4122e820), SkBits2Float(0xc2a4bf0c));
  2117. path.lineTo(SkBits2Float(0x40eb871c), SkBits2Float(0xc26e2ff8));
  2118. path.cubicTo(SkBits2Float(0x409d63e0), SkBits2Float(0xc26f6508), SkBits2Float(0x401d76fa), SkBits2Float(0xc2700000), SkBits2Float(0x35f7fd4a), SkBits2Float(0xc2700000));
  2119. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2120. path.close();
  2121. SkPath path1(path);
  2122. path.reset();
  2123. path.setFillType((SkPath::FillType) 0);
  2124. path.moveTo(SkBits2Float(0x4122e81e), SkBits2Float(0xc2a4bf0c));
  2125. path.cubicTo(SkBits2Float(0x41284f3c), SkBits2Float(0xc2a4a9ac), SkBits2Float(0x412db549), SkBits2Float(0xc2a4933e), SkBits2Float(0x41331a33), SkBits2Float(0xc2a47bbf));
  2126. path.lineTo(SkBits2Float(0x410178be), SkBits2Float(0xc26dceac));
  2127. path.cubicTo(SkBits2Float(0x40fb24f7), SkBits2Float(0xc26df0a4), SkBits2Float(0x40f356d1), SkBits2Float(0xc26e1114), SkBits2Float(0x40eb871f), SkBits2Float(0xc26e2ff8));
  2128. path.lineTo(SkBits2Float(0x4122e81e), SkBits2Float(0xc2a4bf0c));
  2129. path.close();
  2130. SkPath path2(path);
  2131. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2132. }
  2133. static void battleOp89(skiatest::Reporter* reporter, const char* filename) {
  2134. SkPath path;
  2135. path.setFillType((SkPath::FillType) 0);
  2136. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2137. path.cubicTo(SkBits2Float(0x3dd41fb8), SkBits2Float(0xc2a5fffe), SkBits2Float(0x3e541e5b), SkBits2Float(0xc2a5ffe5), SkBits2Float(0x3e9f1657), SkBits2Float(0xc2a5ffb2));
  2138. path.lineTo(SkBits2Float(0x3e66012b), SkBits2Float(0xc26fff92));
  2139. path.cubicTo(SkBits2Float(0x3e1955e2), SkBits2Float(0xc26fffdc), SkBits2Float(0x3d99560b), SkBits2Float(0xc2700000), SkBits2Float(0x350f7780), SkBits2Float(0xc2700000));
  2140. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2141. path.close();
  2142. SkPath path1(path);
  2143. path.reset();
  2144. path.setFillType((SkPath::FillType) 0);
  2145. path.moveTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2146. path.cubicTo(SkBits2Float(0x3ea463a8), SkBits2Float(0xc2a5ffae), SkBits2Float(0x3ea9b10b), SkBits2Float(0xc2a5ffa8), SkBits2Float(0x3eaefe6d), SkBits2Float(0xc2a5ffa3));
  2147. path.lineTo(SkBits2Float(0x3e7d0144), SkBits2Float(0xc26fff7b));
  2148. path.cubicTo(SkBits2Float(0x3e75568f), SkBits2Float(0xc26fff84), SkBits2Float(0x3e6dac12), SkBits2Float(0xc26fff8c), SkBits2Float(0x3e660197), SkBits2Float(0xc26fff93));
  2149. path.lineTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2150. path.close();
  2151. SkPath path2(path);
  2152. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2153. }
  2154. // op end success 1
  2155. static void battleOp90(skiatest::Reporter* reporter, const char* filename) {
  2156. SkPath path;
  2157. path.setFillType((SkPath::FillType) 1);
  2158. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2159. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2160. path.cubicTo(SkBits2Float(0x3dd41f74), SkBits2Float(0xc2a5fffe), SkBits2Float(0x3e541e17), SkBits2Float(0xc2a5ffe5), SkBits2Float(0x3e9f1624), SkBits2Float(0xc2a5ffb2));
  2161. path.lineTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2162. path.cubicTo(SkBits2Float(0x3ea463a8), SkBits2Float(0xc2a5ffae), SkBits2Float(0x3ea9b10b), SkBits2Float(0xc2a5ffa8), SkBits2Float(0x3eaefe6d), SkBits2Float(0xc2a5ffa3));
  2163. path.lineTo(SkBits2Float(0x3e7d0144), SkBits2Float(0xc26fff7b));
  2164. path.cubicTo(SkBits2Float(0x3e75568f), SkBits2Float(0xc26fff84), SkBits2Float(0x3e6dac12), SkBits2Float(0xc26fff8c), SkBits2Float(0x3e66012b), SkBits2Float(0xc26fff92));
  2165. path.cubicTo(SkBits2Float(0x3e1955e2), SkBits2Float(0xc26fffdc), SkBits2Float(0x3d99560b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2166. path.close();
  2167. SkPath path1(path);
  2168. path.reset();
  2169. path.setFillType((SkPath::FillType) 0);
  2170. path.moveTo(SkBits2Float(0x3eaefebc), SkBits2Float(0xc2a5ffa4));
  2171. path.cubicTo(SkBits2Float(0x3f0276b7), SkBits2Float(0xc2a5ff4a), SkBits2Float(0x3f2d6dea), SkBits2Float(0xc2a5feac), SkBits2Float(0x3f5864cc), SkBits2Float(0xc2a5fdcd));
  2172. path.lineTo(SkBits2Float(0x3f1c6df6), SkBits2Float(0xc26ffcd0));
  2173. path.cubicTo(SkBits2Float(0x3efabdec), SkBits2Float(0xc26ffe15), SkBits2Float(0x3ebc9f78), SkBits2Float(0xc26ffef9), SkBits2Float(0x3e7d0190), SkBits2Float(0xc26fff7c));
  2174. path.lineTo(SkBits2Float(0x3eaefebc), SkBits2Float(0xc2a5ffa4));
  2175. path.close();
  2176. SkPath path2(path);
  2177. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2178. }
  2179. // op end success 1
  2180. static void battleOp91(skiatest::Reporter* reporter, const char* filename) { // crashed
  2181. SkPath path;
  2182. path.setFillType((SkPath::FillType) 0);
  2183. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2184. path.cubicTo(SkBits2Float(0x3ec1e1ad), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f41e136), SkBits2Float(0xc2a5feac), SkBits2Float(0x3f9167c6), SkBits2Float(0xc2a5fc05));
  2185. path.lineTo(SkBits2Float(0x3f523979), SkBits2Float(0xc26ffa3f));
  2186. path.cubicTo(SkBits2Float(0x3f0c2737), SkBits2Float(0xc26ffe17), SkBits2Float(0x3e8c2756), SkBits2Float(0xc2700000), SkBits2Float(0xb5b74260), SkBits2Float(0xc2700000));
  2187. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2188. path.close();
  2189. SkPath path1(path);
  2190. path.reset();
  2191. path.setFillType((SkPath::FillType) 0);
  2192. path.moveTo(SkBits2Float(0x3f9167c1), SkBits2Float(0xc2a5fc05));
  2193. path.cubicTo(SkBits2Float(0x3f96406f), SkBits2Float(0xc2a5fbc1), SkBits2Float(0x3f9b1917), SkBits2Float(0xc2a5fb79), SkBits2Float(0x3f9ff1bc), SkBits2Float(0xc2a5fb2f));
  2194. path.lineTo(SkBits2Float(0x3f673ed7), SkBits2Float(0xc26ff909));
  2195. path.cubicTo(SkBits2Float(0x3f603cf4), SkBits2Float(0xc26ff977), SkBits2Float(0x3f593b3c), SkBits2Float(0xc26ff9dd), SkBits2Float(0x3f52397f), SkBits2Float(0xc26ffa3f));
  2196. path.lineTo(SkBits2Float(0x3f9167c1), SkBits2Float(0xc2a5fc05));
  2197. path.close();
  2198. SkPath path2(path);
  2199. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2200. }
  2201. static void battleOp92(skiatest::Reporter* reporter, const char* filename) {
  2202. SkPath path;
  2203. path.setFillType((SkPath::FillType) 0);
  2204. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2205. path.cubicTo(SkBits2Float(0x3e2c5962), SkBits2Float(0xc2a60000), SkBits2Float(0x3eac58ef), SkBits2Float(0xc2a5ffbd), SkBits2Float(0x3f014269), SkBits2Float(0xc2a5ff37));
  2206. path.lineTo(SkBits2Float(0x3ebae1ca), SkBits2Float(0xc26ffedd));
  2207. path.cubicTo(SkBits2Float(0x3e792d51), SkBits2Float(0xc26fff9f), SkBits2Float(0x3df92dfa), SkBits2Float(0xc2700000), SkBits2Float(0x36163ed0), SkBits2Float(0xc2700000));
  2208. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2209. path.close();
  2210. SkPath path1(path);
  2211. path.reset();
  2212. path.setFillType((SkPath::FillType) 0);
  2213. path.moveTo(SkBits2Float(0x3f014292), SkBits2Float(0xc2a5ff37));
  2214. path.cubicTo(SkBits2Float(0x3f0591a2), SkBits2Float(0xc2a5ff28), SkBits2Float(0x3f09e09b), SkBits2Float(0xc2a5ff1a), SkBits2Float(0x3f0e2f92), SkBits2Float(0xc2a5ff0b));
  2215. path.lineTo(SkBits2Float(0x3ecd91e5), SkBits2Float(0xc26ffea0));
  2216. path.cubicTo(SkBits2Float(0x3ec75718), SkBits2Float(0xc26ffeb6), SkBits2Float(0x3ec11c70), SkBits2Float(0xc26ffeca), SkBits2Float(0x3ebae1c7), SkBits2Float(0xc26ffedd));
  2217. path.lineTo(SkBits2Float(0x3f014292), SkBits2Float(0xc2a5ff37));
  2218. path.close();
  2219. SkPath path2(path);
  2220. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2221. }
  2222. // op end success 1
  2223. static void battleOp93(skiatest::Reporter* reporter, const char* filename) {
  2224. SkPath path;
  2225. path.setFillType((SkPath::FillType) 1);
  2226. path.moveTo(SkBits2Float(0x36163ed0), SkBits2Float(0xc2700000));
  2227. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2228. path.quadTo(SkBits2Float(0x3e81430a), SkBits2Float(0xc2a60000), SkBits2Float(0x3f014292), SkBits2Float(0xc2a5ff37));
  2229. path.cubicTo(SkBits2Float(0x3f0591a2), SkBits2Float(0xc2a5ff28), SkBits2Float(0x3f09e09b), SkBits2Float(0xc2a5ff1a), SkBits2Float(0x3f0e2f92), SkBits2Float(0xc2a5ff0b));
  2230. path.lineTo(SkBits2Float(0x3ecd91e5), SkBits2Float(0xc26ffea0));
  2231. path.cubicTo(SkBits2Float(0x3ec75719), SkBits2Float(0xc26ffeb6), SkBits2Float(0x3ec11c72), SkBits2Float(0xc26ffeca), SkBits2Float(0x3ebae1ca), SkBits2Float(0xc26ffedd));
  2232. path.quadTo(SkBits2Float(0x3e3ae230), SkBits2Float(0xc2700000), SkBits2Float(0x36163ed0), SkBits2Float(0xc2700000));
  2233. path.close();
  2234. SkPath path1(path);
  2235. path.reset();
  2236. path.setFillType((SkPath::FillType) 0);
  2237. path.moveTo(SkBits2Float(0x3f0e2f94), SkBits2Float(0xc2a5ff0c));
  2238. path.cubicTo(SkBits2Float(0x3f5401b9), SkBits2Float(0xc2a5fe1c), SkBits2Float(0x3f8ce9a3), SkBits2Float(0xc2a5fc7d), SkBits2Float(0x3fafd1bd), SkBits2Float(0xc2a5fa2d));
  2239. path.lineTo(SkBits2Float(0x3f7e3238), SkBits2Float(0xc26ff796));
  2240. path.cubicTo(SkBits2Float(0x3f4bbaca), SkBits2Float(0xc26ffaee), SkBits2Float(0x3f194226), SkBits2Float(0xc26ffd46), SkBits2Float(0x3ecd9202), SkBits2Float(0xc26ffea0));
  2241. path.lineTo(SkBits2Float(0x3f0e2f94), SkBits2Float(0xc2a5ff0c));
  2242. path.close();
  2243. SkPath path2(path);
  2244. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2245. }
  2246. // op end success 1
  2247. static void battleOp94(skiatest::Reporter* reporter, const char* filename) {
  2248. SkPath path;
  2249. path.setFillType((SkPath::FillType) 0);
  2250. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2251. path.cubicTo(SkBits2Float(0x3f167e4a), SkBits2Float(0xc2a60000), SkBits2Float(0x3f967d97), SkBits2Float(0xc2a5fcce), SkBits2Float(0x3fe1b83b), SkBits2Float(0xc2a5f668));
  2252. path.lineTo(SkBits2Float(0x3fa32ba2), SkBits2Float(0xc26ff222));
  2253. path.cubicTo(SkBits2Float(0x3f599370), SkBits2Float(0xc26ffb61), SkBits2Float(0x3ed9943c), SkBits2Float(0xc2700000), SkBits2Float(0x3437e940), SkBits2Float(0xc2700000));
  2254. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2255. path.close();
  2256. SkPath path1(path);
  2257. path.reset();
  2258. path.setFillType((SkPath::FillType) 0);
  2259. path.moveTo(SkBits2Float(0x3fe1b817), SkBits2Float(0xc2a5f668));
  2260. path.cubicTo(SkBits2Float(0x3fe93dd6), SkBits2Float(0xc2a5f5c4), SkBits2Float(0x3ff0c3a7), SkBits2Float(0xc2a5f518), SkBits2Float(0x3ff8496b), SkBits2Float(0xc2a5f464));
  2261. path.lineTo(SkBits2Float(0x3fb37c11), SkBits2Float(0xc26fef38));
  2262. path.cubicTo(SkBits2Float(0x3fae0bf9), SkBits2Float(0xc26ff03c), SkBits2Float(0x3fa89bd2), SkBits2Float(0xc26ff134), SkBits2Float(0x3fa32ba2), SkBits2Float(0xc26ff222));
  2263. path.lineTo(SkBits2Float(0x3fe1b817), SkBits2Float(0xc2a5f668));
  2264. path.close();
  2265. SkPath path2(path);
  2266. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2267. }
  2268. // op end success 1
  2269. static void battleOp95(skiatest::Reporter* reporter, const char* filename) {
  2270. SkPath path;
  2271. path.setFillType((SkPath::FillType) 1);
  2272. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2273. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2274. path.cubicTo(SkBits2Float(0x3f167e32), SkBits2Float(0xc2a60000), SkBits2Float(0x3f967d7f), SkBits2Float(0xc2a5fcce), SkBits2Float(0x3fe1b817), SkBits2Float(0xc2a5f668));
  2275. SkPath path1(path);
  2276. path.reset();
  2277. path.setFillType((SkPath::FillType) 0);
  2278. path.moveTo(SkBits2Float(0x3ff8497f), SkBits2Float(0xc2a5f465));
  2279. path.cubicTo(SkBits2Float(0x40391895), SkBits2Float(0xc2a5e8fe), SkBits2Float(0x407604f1), SkBits2Float(0xc2a5d533), SkBits2Float(0x40997177), SkBits2Float(0xc2a5b905));
  2280. path.lineTo(SkBits2Float(0x405dd87f), SkBits2Float(0xc26f9962));
  2281. path.cubicTo(SkBits2Float(0x4031d867), SkBits2Float(0xc26fc221), SkBits2Float(0x4005cdec), SkBits2Float(0xc26fdebf), SkBits2Float(0x3fb37c22), SkBits2Float(0xc26fef39));
  2282. path.lineTo(SkBits2Float(0x3ff8497f), SkBits2Float(0xc2a5f465));
  2283. path.close();
  2284. SkPath path2(path);
  2285. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2286. }
  2287. // op end success 1
  2288. static void battleOp96(skiatest::Reporter* reporter, const char* filename) {
  2289. SkPath path;
  2290. path.setFillType((SkPath::FillType) 0);
  2291. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2292. path.cubicTo(SkBits2Float(0x3fa966bb), SkBits2Float(0xc2a5ffff), SkBits2Float(0x402963a4), SkBits2Float(0xc2a5efcb), SkBits2Float(0x407dfe39), SkBits2Float(0xc2a5cf64));
  2293. path.lineTo(SkBits2Float(0x40379c05), SkBits2Float(0xc26fb9ba));
  2294. path.cubicTo(SkBits2Float(0x3ff4e689), SkBits2Float(0xc26fe893), SkBits2Float(0x3f74eb1f), SkBits2Float(0xc2700000), SkBits2Float(0x363f7e94), SkBits2Float(0xc2700000));
  2295. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2296. path.close();
  2297. SkPath path1(path);
  2298. path.reset();
  2299. path.setFillType((SkPath::FillType) 0);
  2300. path.moveTo(SkBits2Float(0x407dfe3a), SkBits2Float(0xc2a5cf65));
  2301. path.cubicTo(SkBits2Float(0x40833a01), SkBits2Float(0xc2a5cc27), SkBits2Float(0x408774bf), SkBits2Float(0xc2a5c8c0), SkBits2Float(0x408baf5a), SkBits2Float(0xc2a5c52f));
  2302. path.lineTo(SkBits2Float(0x4049f448), SkBits2Float(0xc26faaf9));
  2303. path.cubicTo(SkBits2Float(0x4043d713), SkBits2Float(0xc26fb022), SkBits2Float(0x403db99f), SkBits2Float(0xc26fb50d), SkBits2Float(0x40379bfe), SkBits2Float(0xc26fb9bc));
  2304. path.lineTo(SkBits2Float(0x407dfe3a), SkBits2Float(0xc2a5cf65));
  2305. path.close();
  2306. SkPath path2(path);
  2307. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2308. }
  2309. // op end success 1
  2310. static void battleOp97(skiatest::Reporter* reporter, const char* filename) {
  2311. SkPath path;
  2312. path.setFillType((SkPath::FillType) 1);
  2313. path.moveTo(SkBits2Float(0x363f7e94), SkBits2Float(0xc2700000));
  2314. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2315. path.cubicTo(SkBits2Float(0x3fa966bb), SkBits2Float(0xc2a5ffff), SkBits2Float(0x402963a4), SkBits2Float(0xc2a5efcb), SkBits2Float(0x407dfe3a), SkBits2Float(0xc2a5cf65));
  2316. path.cubicTo(SkBits2Float(0x40833a01), SkBits2Float(0xc2a5cc27), SkBits2Float(0x408774bf), SkBits2Float(0xc2a5c8c0), SkBits2Float(0x408baf5a), SkBits2Float(0xc2a5c52f));
  2317. path.lineTo(SkBits2Float(0x4049f448), SkBits2Float(0xc26faaf9));
  2318. path.cubicTo(SkBits2Float(0x4043d716), SkBits2Float(0xc26fb022), SkBits2Float(0x403db9a5), SkBits2Float(0xc26fb50d), SkBits2Float(0x40379c07), SkBits2Float(0xc26fb9bc));
  2319. path.lineTo(SkBits2Float(0x40379c05), SkBits2Float(0xc26fb9ba));
  2320. path.cubicTo(SkBits2Float(0x3ff4e689), SkBits2Float(0xc26fe893), SkBits2Float(0x3f74eb1f), SkBits2Float(0xc2700000), SkBits2Float(0x363f7e94), SkBits2Float(0xc2700000));
  2321. path.close();
  2322. SkPath path1(path);
  2323. path.reset();
  2324. path.setFillType((SkPath::FillType) 0);
  2325. path.moveTo(SkBits2Float(0x408baf5c), SkBits2Float(0xc2a5c530));
  2326. path.cubicTo(SkBits2Float(0x40d03963), SkBits2Float(0xc2a58b6e), SkBits2Float(0x410a4c7d), SkBits2Float(0xc2a52732), SkBits2Float(0x412c535f), SkBits2Float(0xc2a498b2));
  2327. path.lineTo(SkBits2Float(0x40f9253d), SkBits2Float(0xc26df886));
  2328. path.cubicTo(SkBits2Float(0x40c7f32d), SkBits2Float(0xc26ec68d), SkBits2Float(0x409685fb), SkBits2Float(0xc26f577a), SkBits2Float(0x4049f441), SkBits2Float(0xc26faafa));
  2329. path.lineTo(SkBits2Float(0x408baf5c), SkBits2Float(0xc2a5c530));
  2330. path.close();
  2331. SkPath path2(path);
  2332. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2333. }
  2334. // op end success 1
  2335. static void battleOp98(skiatest::Reporter* reporter, const char* filename) {
  2336. SkPath path;
  2337. path.setFillType((SkPath::FillType) 0);
  2338. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2339. path.cubicTo(SkBits2Float(0x40155bee), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40955364), SkBits2Float(0xc2a5cd99), SkBits2Float(0x40dfbd5f), SkBits2Float(0xc2a568f2));
  2340. path.lineTo(SkBits2Float(0x40a1bd53), SkBits2Float(0xc26f259d));
  2341. path.cubicTo(SkBits2Float(0x4057e483), SkBits2Float(0xc26fb724), SkBits2Float(0x3fd7f0d9), SkBits2Float(0xc2700000), SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2342. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2343. path.close();
  2344. SkPath path1(path);
  2345. path.reset();
  2346. path.setFillType((SkPath::FillType) 0);
  2347. path.moveTo(SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2348. path.cubicTo(SkBits2Float(0x40e72e1b), SkBits2Float(0xc2a55ee2), SkBits2Float(0x40ee9e1c), SkBits2Float(0xc2a55452), SkBits2Float(0x40f60d62), SkBits2Float(0xc2a54941));
  2349. path.lineTo(SkBits2Float(0x40b1de84), SkBits2Float(0xc26ef7c9));
  2350. path.cubicTo(SkBits2Float(0x40ac7ea0), SkBits2Float(0xc26f07cb), SkBits2Float(0x40a71e37), SkBits2Float(0xc26f1712), SkBits2Float(0x40a1bd4f), SkBits2Float(0xc26f259f));
  2351. path.lineTo(SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2352. path.close();
  2353. SkPath path2(path);
  2354. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2355. }
  2356. // op end success 1
  2357. static void battleOp99(skiatest::Reporter* reporter, const char* filename) {
  2358. SkPath path;
  2359. path.setFillType((SkPath::FillType) 1);
  2360. path.moveTo(SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2361. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2362. path.cubicTo(SkBits2Float(0x40155bee), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40955364), SkBits2Float(0xc2a5cd99), SkBits2Float(0x40dfbd5e), SkBits2Float(0xc2a568f3));
  2363. path.cubicTo(SkBits2Float(0x40e72e1b), SkBits2Float(0xc2a55ee2), SkBits2Float(0x40ee9e1c), SkBits2Float(0xc2a55452), SkBits2Float(0x40f60d62), SkBits2Float(0xc2a54941));
  2364. path.lineTo(SkBits2Float(0x40b1de84), SkBits2Float(0xc26ef7c9));
  2365. path.cubicTo(SkBits2Float(0x40ac7ea2), SkBits2Float(0xc26f07cb), SkBits2Float(0x40a71e3a), SkBits2Float(0xc26f1712), SkBits2Float(0x40a1bd54), SkBits2Float(0xc26f259f));
  2366. path.lineTo(SkBits2Float(0x40a1bd53), SkBits2Float(0xc26f259d));
  2367. path.cubicTo(SkBits2Float(0x4057e483), SkBits2Float(0xc26fb724), SkBits2Float(0x3fd7f0d9), SkBits2Float(0xc2700000), SkBits2Float(0x3619fea3), SkBits2Float(0xc2700000));
  2368. path.close();
  2369. SkPath path1(path);
  2370. path.reset();
  2371. path.setFillType((SkPath::FillType) 0);
  2372. path.moveTo(SkBits2Float(0x40f60d69), SkBits2Float(0xc2a54941));
  2373. path.cubicTo(SkBits2Float(0x41374a21), SkBits2Float(0xc2a495d5), SkBits2Float(0x41731962), SkBits2Float(0xc2a35eca), SkBits2Float(0x419704b1), SkBits2Float(0xc2a1a64c));
  2374. path.lineTo(SkBits2Float(0x415a56f5), SkBits2Float(0xc269b5d4));
  2375. path.cubicTo(SkBits2Float(0x412fbbfb), SkBits2Float(0xc26c32af), SkBits2Float(0x41047f9a), SkBits2Float(0xc26df463), SkBits2Float(0x40b1de7e), SkBits2Float(0xc26ef7cb));
  2376. path.lineTo(SkBits2Float(0x40f60d69), SkBits2Float(0xc2a54941));
  2377. path.close();
  2378. SkPath path2(path);
  2379. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2380. }
  2381. // op end success 1
  2382. static void battleOp100(skiatest::Reporter* reporter, const char* filename) {
  2383. SkPath path;
  2384. path.setFillType((SkPath::FillType) 0);
  2385. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2386. path.cubicTo(SkBits2Float(0x403cde0b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40bcccc9), SkBits2Float(0xc2a5af6a), SkBits2Float(0x410d5936), SkBits2Float(0xc2a50e98));
  2387. path.lineTo(SkBits2Float(0x40cc5bf6), SkBits2Float(0xc26ea2fc));
  2388. path.cubicTo(SkBits2Float(0x40887b5e), SkBits2Float(0xc26f8b7f), SkBits2Float(0x400887d8), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2389. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2390. path.close();
  2391. SkPath path1(path);
  2392. path.reset();
  2393. path.setFillType((SkPath::FillType) 0);
  2394. path.moveTo(SkBits2Float(0x410d5935), SkBits2Float(0xc2a50e99));
  2395. path.cubicTo(SkBits2Float(0x41120ace), SkBits2Float(0xc2a4fe85), SkBits2Float(0x4116bbb5), SkBits2Float(0xc2a4eda4), SkBits2Float(0x411b6bdd), SkBits2Float(0xc2a4dbf6));
  2396. path.lineTo(SkBits2Float(0x40e0b4a3), SkBits2Float(0xc26e59c7));
  2397. path.cubicTo(SkBits2Float(0x40d9ed7a), SkBits2Float(0xc26e7357), SkBits2Float(0x40d32536), SkBits2Float(0xc26e8bbe), SkBits2Float(0x40cc5bf1), SkBits2Float(0xc26ea2fc));
  2398. path.lineTo(SkBits2Float(0x410d5935), SkBits2Float(0xc2a50e99));
  2399. path.close();
  2400. SkPath path2(path);
  2401. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2402. }
  2403. // op end fail 1
  2404. static void battleOp101(skiatest::Reporter* reporter, const char* filename) {
  2405. SkPath path;
  2406. path.setFillType((SkPath::FillType) 0);
  2407. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2408. path.cubicTo(SkBits2Float(0x406db78d), SkBits2Float(0xc2a60000), SkBits2Float(0x40ed953d), SkBits2Float(0xc2a58058), SkBits2Float(0x4131afb7), SkBits2Float(0xc2a481e4));
  2409. path.lineTo(SkBits2Float(0x410072b2), SkBits2Float(0xc26dd78e));
  2410. path.cubicTo(SkBits2Float(0x40abbf2e), SkBits2Float(0xc26f4770), SkBits2Float(0x402bd807), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2411. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2412. path.close();
  2413. SkPath path1(path);
  2414. path.reset();
  2415. path.setFillType((SkPath::FillType) 0);
  2416. path.moveTo(SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  2417. path.cubicTo(SkBits2Float(0x413792dd), SkBits2Float(0xc2a46874), SkBits2Float(0x413d74a2), SkBits2Float(0xc2a44dc1), SkBits2Float(0x414354e9), SkBits2Float(0xc2a431ca));
  2418. path.lineTo(SkBits2Float(0x410d3424), SkBits2Float(0xc26d63c0));
  2419. path.cubicTo(SkBits2Float(0x4108f4b6), SkBits2Float(0xc26d8c2e), SkBits2Float(0x4104b435), SkBits2Float(0xc26db2c8), SkBits2Float(0x410072b4), SkBits2Float(0xc26dd78e));
  2420. path.lineTo(SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  2421. path.close();
  2422. SkPath path2(path);
  2423. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2424. }
  2425. // op end success 1
  2426. static void battleOp102(skiatest::Reporter* reporter, const char* filename) {
  2427. SkPath path;
  2428. path.setFillType((SkPath::FillType) 1);
  2429. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2430. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2431. path.cubicTo(SkBits2Float(0x406db78d), SkBits2Float(0xc2a60000), SkBits2Float(0x40ed953d), SkBits2Float(0xc2a58058), SkBits2Float(0x4131afba), SkBits2Float(0xc2a481e4));
  2432. path.cubicTo(SkBits2Float(0x413792dd), SkBits2Float(0xc2a46874), SkBits2Float(0x413d74a2), SkBits2Float(0xc2a44dc1), SkBits2Float(0x414354e9), SkBits2Float(0xc2a431ca));
  2433. path.lineTo(SkBits2Float(0x410d3424), SkBits2Float(0xc26d63c0));
  2434. path.cubicTo(SkBits2Float(0x4108f4b6), SkBits2Float(0xc26d8c2e), SkBits2Float(0x4104b435), SkBits2Float(0xc26db2c8), SkBits2Float(0x410072b2), SkBits2Float(0xc26dd78e));
  2435. path.cubicTo(SkBits2Float(0x40abbf2e), SkBits2Float(0xc26f4770), SkBits2Float(0x402bd807), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2436. path.close();
  2437. SkPath path1(path);
  2438. path.reset();
  2439. path.setFillType((SkPath::FillType) 0);
  2440. path.moveTo(SkBits2Float(0x414354ed), SkBits2Float(0xc2a431cb));
  2441. path.cubicTo(SkBits2Float(0x419152e5), SkBits2Float(0xc2a26c3a), SkBits2Float(0x41c0119b), SkBits2Float(0xc29f5c06), SkBits2Float(0x41ed1335), SkBits2Float(0xc29b0f0a));
  2442. path.lineTo(SkBits2Float(0x41ab612b), SkBits2Float(0xc2602e6b));
  2443. path.cubicTo(SkBits2Float(0x418ad84d), SkBits2Float(0xc2666635), SkBits2Float(0x41521b54), SkBits2Float(0xc26ad3fe), SkBits2Float(0x410d3426), SkBits2Float(0xc26d63c0));
  2444. path.lineTo(SkBits2Float(0x414354ed), SkBits2Float(0xc2a431cb));
  2445. path.close();
  2446. SkPath path2(path);
  2447. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2448. }
  2449. // op end success 1
  2450. static void battleOp103(skiatest::Reporter* reporter, const char* filename) { //crash
  2451. SkPath path;
  2452. path.setFillType((SkPath::FillType) 0);
  2453. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2454. path.cubicTo(SkBits2Float(0x408e2d73), SkBits2Float(0xc2a5ffff), SkBits2Float(0x410e100a), SkBits2Float(0xc2a54957), SkBits2Float(0x41543cd2), SkBits2Float(0xc2a3ddc8));
  2455. path.lineTo(SkBits2Float(0x41196cba), SkBits2Float(0xc26cea49));
  2456. path.cubicTo(SkBits2Float(0x40cd643f), SkBits2Float(0xc26ef7e9), SkBits2Float(0x404d8eb8), SkBits2Float(0xc26fffff), SkBits2Float(0xb5ac02ba), SkBits2Float(0xc26fffff));
  2457. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2458. path.close();
  2459. SkPath path1(path);
  2460. path.reset();
  2461. path.setFillType((SkPath::FillType) 0);
  2462. path.moveTo(SkBits2Float(0x41543cce), SkBits2Float(0xc2a3ddc8));
  2463. path.cubicTo(SkBits2Float(0x415b4057), SkBits2Float(0xc2a3b973), SkBits2Float(0x41624181), SkBits2Float(0xc2a39350), SkBits2Float(0x41694022), SkBits2Float(0xc2a36b60));
  2464. path.lineTo(SkBits2Float(0x41289d63), SkBits2Float(0xc26c44e1));
  2465. path.cubicTo(SkBits2Float(0x41238ef8), SkBits2Float(0xc26c7e9e), SkBits2Float(0x411e7eb5), SkBits2Float(0xc26cb5c1), SkBits2Float(0x41196cbd), SkBits2Float(0xc26cea4a));
  2466. path.lineTo(SkBits2Float(0x41543cce), SkBits2Float(0xc2a3ddc8));
  2467. path.close();
  2468. SkPath path2(path);
  2469. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2470. }
  2471. static void battleOp104(skiatest::Reporter* reporter, const char* filename) {
  2472. SkPath path;
  2473. path.setFillType((SkPath::FillType) 0);
  2474. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2475. path.cubicTo(SkBits2Float(0x3dd41fb8), SkBits2Float(0xc2a5fffe), SkBits2Float(0x3e541e5b), SkBits2Float(0xc2a5ffe5), SkBits2Float(0x3e9f1657), SkBits2Float(0xc2a5ffb2));
  2476. path.lineTo(SkBits2Float(0x3e66012b), SkBits2Float(0xc26fff92));
  2477. path.cubicTo(SkBits2Float(0x3e1955e2), SkBits2Float(0xc26fffdc), SkBits2Float(0x3d99560b), SkBits2Float(0xc2700000), SkBits2Float(0x350f7780), SkBits2Float(0xc2700000));
  2478. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2479. path.close();
  2480. SkPath path1(path);
  2481. path.reset();
  2482. path.setFillType((SkPath::FillType) 0);
  2483. path.moveTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2484. path.cubicTo(SkBits2Float(0x3ea463a8), SkBits2Float(0xc2a5ffae), SkBits2Float(0x3ea9b10b), SkBits2Float(0xc2a5ffa8), SkBits2Float(0x3eaefe6d), SkBits2Float(0xc2a5ffa3));
  2485. path.lineTo(SkBits2Float(0x3e7d0144), SkBits2Float(0xc26fff7b));
  2486. path.cubicTo(SkBits2Float(0x3e75568f), SkBits2Float(0xc26fff84), SkBits2Float(0x3e6dac12), SkBits2Float(0xc26fff8c), SkBits2Float(0x3e660197), SkBits2Float(0xc26fff93));
  2487. path.lineTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2488. path.close();
  2489. SkPath path2(path);
  2490. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2491. }
  2492. // op end success 1
  2493. static void battleOp105(skiatest::Reporter* reporter, const char* filename) {
  2494. SkPath path;
  2495. path.setFillType((SkPath::FillType) 1);
  2496. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2497. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2498. path.cubicTo(SkBits2Float(0x3dd41f74), SkBits2Float(0xc2a5fffe), SkBits2Float(0x3e541e17), SkBits2Float(0xc2a5ffe5), SkBits2Float(0x3e9f1624), SkBits2Float(0xc2a5ffb2));
  2499. path.lineTo(SkBits2Float(0x3e9f1626), SkBits2Float(0xc2a5ffb4));
  2500. path.cubicTo(SkBits2Float(0x3ea463a8), SkBits2Float(0xc2a5ffae), SkBits2Float(0x3ea9b10b), SkBits2Float(0xc2a5ffa8), SkBits2Float(0x3eaefe6d), SkBits2Float(0xc2a5ffa3));
  2501. path.lineTo(SkBits2Float(0x3e7d0144), SkBits2Float(0xc26fff7b));
  2502. path.cubicTo(SkBits2Float(0x3e75568f), SkBits2Float(0xc26fff84), SkBits2Float(0x3e6dac12), SkBits2Float(0xc26fff8c), SkBits2Float(0x3e66012b), SkBits2Float(0xc26fff92));
  2503. path.cubicTo(SkBits2Float(0x3e1955e2), SkBits2Float(0xc26fffdc), SkBits2Float(0x3d99560b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2504. path.close();
  2505. SkPath path1(path);
  2506. path.reset();
  2507. path.setFillType((SkPath::FillType) 0);
  2508. path.moveTo(SkBits2Float(0x3eaefebc), SkBits2Float(0xc2a5ffa4));
  2509. path.cubicTo(SkBits2Float(0x3f0276b7), SkBits2Float(0xc2a5ff4a), SkBits2Float(0x3f2d6dea), SkBits2Float(0xc2a5feac), SkBits2Float(0x3f5864cc), SkBits2Float(0xc2a5fdcd));
  2510. path.lineTo(SkBits2Float(0x3f1c6df6), SkBits2Float(0xc26ffcd0));
  2511. path.cubicTo(SkBits2Float(0x3efabdec), SkBits2Float(0xc26ffe15), SkBits2Float(0x3ebc9f78), SkBits2Float(0xc26ffef9), SkBits2Float(0x3e7d0190), SkBits2Float(0xc26fff7c));
  2512. path.lineTo(SkBits2Float(0x3eaefebc), SkBits2Float(0xc2a5ffa4));
  2513. path.close();
  2514. SkPath path2(path);
  2515. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2516. }
  2517. // op end success 1
  2518. static void battleOp106(skiatest::Reporter* reporter, const char* filename) {
  2519. SkPath path;
  2520. path.setFillType((SkPath::FillType) 0);
  2521. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2522. path.cubicTo(SkBits2Float(0x3ee221f0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f622166), SkBits2Float(0xc2a5fe31), SkBits2Float(0x3fa9974d), SkBits2Float(0xc2a5fa95));
  2523. path.lineTo(SkBits2Float(0x3f753159), SkBits2Float(0xc26ff82c));
  2524. path.cubicTo(SkBits2Float(0x3f237814), SkBits2Float(0xc26ffd64), SkBits2Float(0x3ea3787a), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa50), SkBits2Float(0xc2700000));
  2525. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2526. path.close();
  2527. SkPath path1(path);
  2528. path.reset();
  2529. path.setFillType((SkPath::FillType) 0);
  2530. path.moveTo(SkBits2Float(0x3fa99777), SkBits2Float(0xc2a5fa96));
  2531. path.cubicTo(SkBits2Float(0x3faf3e7a), SkBits2Float(0xc2a5fa39), SkBits2Float(0x3fb4e596), SkBits2Float(0xc2a5f9d8), SkBits2Float(0x3fba8cad), SkBits2Float(0xc2a5f972));
  2532. path.lineTo(SkBits2Float(0x3f86dad5), SkBits2Float(0xc26ff687));
  2533. path.cubicTo(SkBits2Float(0x3f82c4d9), SkBits2Float(0xc26ff71a), SkBits2Float(0x3f7d5da4), SkBits2Float(0xc26ff7a6), SkBits2Float(0x3f753191), SkBits2Float(0xc26ff82c));
  2534. path.lineTo(SkBits2Float(0x3fa99777), SkBits2Float(0xc2a5fa96));
  2535. path.close();
  2536. SkPath path2(path);
  2537. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2538. }
  2539. // op end success 1
  2540. static void battleOp107(skiatest::Reporter* reporter, const char* filename) {
  2541. SkPath path;
  2542. path.setFillType((SkPath::FillType) 1);
  2543. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2544. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2545. path.cubicTo(SkBits2Float(0x3ee221f0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f622166), SkBits2Float(0xc2a5fe31), SkBits2Float(0x3fa99777), SkBits2Float(0xc2a5fa96));
  2546. path.cubicTo(SkBits2Float(0x3faf3e7a), SkBits2Float(0xc2a5fa39), SkBits2Float(0x3fb4e596), SkBits2Float(0xc2a5f9d8), SkBits2Float(0x3fba8cad), SkBits2Float(0xc2a5f972));
  2547. path.lineTo(SkBits2Float(0x3f86dad5), SkBits2Float(0xc26ff687));
  2548. path.cubicTo(SkBits2Float(0x3f82c4d9), SkBits2Float(0xc26ff71a), SkBits2Float(0x3f7d5da4), SkBits2Float(0xc26ff7a6), SkBits2Float(0x3f753159), SkBits2Float(0xc26ff82c));
  2549. path.cubicTo(SkBits2Float(0x3f237814), SkBits2Float(0xc26ffd64), SkBits2Float(0x3ea3787a), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2550. path.close();
  2551. SkPath path1(path);
  2552. path.reset();
  2553. path.setFillType((SkPath::FillType) 0);
  2554. path.moveTo(SkBits2Float(0x3fba8c96), SkBits2Float(0xc2a5f973));
  2555. path.cubicTo(SkBits2Float(0x400b1301), SkBits2Float(0xc2a5f303), SkBits2Float(0x4038dc7e), SkBits2Float(0xc2a5e7d6), SkBits2Float(0x40669fe4), SkBits2Float(0xc2a5d7ed));
  2556. path.lineTo(SkBits2Float(0x4026b765), SkBits2Float(0xc26fc611));
  2557. path.cubicTo(SkBits2Float(0x4005a27d), SkBits2Float(0xc26fdd13), SkBits2Float(0x3fc9123c), SkBits2Float(0xc26fed3b), SkBits2Float(0x3f86daf1), SkBits2Float(0xc26ff689));
  2558. path.lineTo(SkBits2Float(0x3fba8c96), SkBits2Float(0xc2a5f973));
  2559. path.close();
  2560. SkPath path2(path);
  2561. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2562. }
  2563. // op end success 1
  2564. static void battleOp108(skiatest::Reporter* reporter, const char* filename) {
  2565. SkPath path;
  2566. path.setFillType((SkPath::FillType) 0);
  2567. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2568. path.cubicTo(SkBits2Float(0x3f587304), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fd8713e), SkBits2Float(0xc2a5f962), SkBits2Float(0x40224ed5), SkBits2Float(0xc2a5ec27));
  2569. path.lineTo(SkBits2Float(0x3feaa996), SkBits2Float(0xc26fe350));
  2570. path.cubicTo(SkBits2Float(0x3f9c76e4), SkBits2Float(0xc26ff671), SkBits2Float(0x3f1c780b), SkBits2Float(0xc2700000), SkBits2Float(0xb5510538), SkBits2Float(0xc2700000));
  2571. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2572. path.close();
  2573. SkPath path1(path);
  2574. path.reset();
  2575. path.setFillType((SkPath::FillType) 0);
  2576. path.moveTo(SkBits2Float(0x40224ee4), SkBits2Float(0xc2a5ec28));
  2577. path.cubicTo(SkBits2Float(0x4027b77a), SkBits2Float(0xc2a5ead6), SkBits2Float(0x402d1ffd), SkBits2Float(0xc2a5e972), SkBits2Float(0x4032886f), SkBits2Float(0xc2a5e7fe));
  2578. path.lineTo(SkBits2Float(0x40010f64), SkBits2Float(0xc26fdd4a));
  2579. path.cubicTo(SkBits2Float(0x3ffa4d23), SkBits2Float(0xc26fdf64), SkBits2Float(0x3ff27b6d), SkBits2Float(0xc26fe166), SkBits2Float(0x3feaa9a1), SkBits2Float(0xc26fe350));
  2580. path.lineTo(SkBits2Float(0x40224ee4), SkBits2Float(0xc2a5ec28));
  2581. path.close();
  2582. SkPath path2(path);
  2583. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2584. }
  2585. // op end success 1
  2586. static void battleOp109(skiatest::Reporter* reporter, const char* filename) {
  2587. SkPath path;
  2588. path.setFillType((SkPath::FillType) 1);
  2589. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2590. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2591. path.cubicTo(SkBits2Float(0x3f587304), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3fd8713e), SkBits2Float(0xc2a5f962), SkBits2Float(0x40224ee4), SkBits2Float(0xc2a5ec28));
  2592. path.cubicTo(SkBits2Float(0x4027b77a), SkBits2Float(0xc2a5ead6), SkBits2Float(0x402d1ffd), SkBits2Float(0xc2a5e972), SkBits2Float(0x4032886f), SkBits2Float(0xc2a5e7fe));
  2593. path.lineTo(SkBits2Float(0x40010f64), SkBits2Float(0xc26fdd4a));
  2594. path.cubicTo(SkBits2Float(0x3ffa4d23), SkBits2Float(0xc26fdf64), SkBits2Float(0x3ff27b6d), SkBits2Float(0xc26fe166), SkBits2Float(0x3feaa996), SkBits2Float(0xc26fe350));
  2595. path.cubicTo(SkBits2Float(0x3f9c76e4), SkBits2Float(0xc26ff671), SkBits2Float(0x3f1c780b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2596. path.close();
  2597. SkPath path1(path);
  2598. path.reset();
  2599. path.setFillType((SkPath::FillType) 0);
  2600. path.moveTo(SkBits2Float(0x4032887d), SkBits2Float(0xc2a5e7fe));
  2601. path.cubicTo(SkBits2Float(0x4085166b), SkBits2Float(0xc2a5d069), SkBits2Float(0x40b0dd8e), SkBits2Float(0xc2a5a77a), SkBits2Float(0x40dc8f53), SkBits2Float(0xc2a56d38));
  2602. path.lineTo(SkBits2Float(0x409f70d9), SkBits2Float(0xc26f2bca));
  2603. path.cubicTo(SkBits2Float(0x407fb58c), SkBits2Float(0xc26f8005), SkBits2Float(0x40406a74), SkBits2Float(0xc26fbb35), SkBits2Float(0x40010f5f), SkBits2Float(0xc26fdd4b));
  2604. path.lineTo(SkBits2Float(0x4032887d), SkBits2Float(0xc2a5e7fe));
  2605. path.close();
  2606. SkPath path2(path);
  2607. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2608. }
  2609. // op end success 1
  2610. static void battleOp110(skiatest::Reporter* reporter, const char* filename) {
  2611. SkPath path;
  2612. path.setFillType((SkPath::FillType) 0);
  2613. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2614. path.cubicTo(SkBits2Float(0x400cf1ae), SkBits2Float(0xc2a5ffff), SkBits2Float(0x408cea87), SkBits2Float(0xc2a5d31f), SkBits2Float(0x40d32a40), SkBits2Float(0xc2a57979));
  2615. path.lineTo(SkBits2Float(0x4098a645), SkBits2Float(0xc26f3d83));
  2616. path.cubicTo(SkBits2Float(0x404bbc01), SkBits2Float(0xc26fbf1e), SkBits2Float(0x3fcbc669), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff59), SkBits2Float(0xc26fffff));
  2617. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2618. path.close();
  2619. SkPath path1(path);
  2620. path.reset();
  2621. path.setFillType((SkPath::FillType) 0);
  2622. path.moveTo(SkBits2Float(0x40d32a46), SkBits2Float(0xc2a5797a));
  2623. path.cubicTo(SkBits2Float(0x40da306e), SkBits2Float(0xc2a57083), SkBits2Float(0x40e135fe), SkBits2Float(0xc2a5671a), SkBits2Float(0x40e83aef), SkBits2Float(0xc2a55d3f));
  2624. path.lineTo(SkBits2Float(0x40a7e090), SkBits2Float(0xc26f14b1));
  2625. path.cubicTo(SkBits2Float(0x40a2cd8d), SkBits2Float(0xc26f22f4), SkBits2Float(0x409dba1d), SkBits2Float(0xc26f308e), SkBits2Float(0x4098a641), SkBits2Float(0xc26f3d84));
  2626. path.lineTo(SkBits2Float(0x40d32a46), SkBits2Float(0xc2a5797a));
  2627. path.close();
  2628. SkPath path2(path);
  2629. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2630. }
  2631. // op end success 1
  2632. static void battleOp111(skiatest::Reporter* reporter, const char* filename) {
  2633. SkPath path;
  2634. path.setFillType((SkPath::FillType) 1);
  2635. path.moveTo(SkBits2Float(0x3697ff59), SkBits2Float(0xc26fffff));
  2636. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2637. path.cubicTo(SkBits2Float(0x400cf1ae), SkBits2Float(0xc2a5ffff), SkBits2Float(0x408cea87), SkBits2Float(0xc2a5d31f), SkBits2Float(0x40d32a46), SkBits2Float(0xc2a5797a));
  2638. path.cubicTo(SkBits2Float(0x40da306e), SkBits2Float(0xc2a57083), SkBits2Float(0x40e135fe), SkBits2Float(0xc2a5671a), SkBits2Float(0x40e83aef), SkBits2Float(0xc2a55d3f));
  2639. path.lineTo(SkBits2Float(0x40a7e090), SkBits2Float(0xc26f14b1));
  2640. path.cubicTo(SkBits2Float(0x40a2cd8f), SkBits2Float(0xc26f22f4), SkBits2Float(0x409dba20), SkBits2Float(0xc26f308e), SkBits2Float(0x4098a645), SkBits2Float(0xc26f3d83));
  2641. path.cubicTo(SkBits2Float(0x404bbc01), SkBits2Float(0xc26fbf1e), SkBits2Float(0x3fcbc669), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff59), SkBits2Float(0xc26fffff));
  2642. path.close();
  2643. path.moveTo(SkBits2Float(0x40b5a39a), SkBits2Float(0xc28e5650));
  2644. path.lineTo(SkBits2Float(0x4098a641), SkBits2Float(0xc26f3d84));
  2645. path.lineTo(SkBits2Float(0x4098a646), SkBits2Float(0xc26f3d84));
  2646. path.lineTo(SkBits2Float(0x40b5a39a), SkBits2Float(0xc28e5650));
  2647. path.close();
  2648. SkPath path1(path);
  2649. path.reset();
  2650. path.setFillType((SkPath::FillType) 0);
  2651. path.moveTo(SkBits2Float(0x40e83ae9), SkBits2Float(0xc2a55d3f));
  2652. path.cubicTo(SkBits2Float(0x412d0232), SkBits2Float(0xc2a4bd73), SkBits2Float(0x4165854a), SkBits2Float(0xc2a3a860), SkBits2Float(0x418ea651), SkBits2Float(0xc2a21fbf));
  2653. path.lineTo(SkBits2Float(0x414e3d91), SkBits2Float(0xc26a656a));
  2654. path.cubicTo(SkBits2Float(0x4125eb27), SkBits2Float(0xc26c9d13), SkBits2Float(0x40fa2207), SkBits2Float(0xc26e2daa), SkBits2Float(0x40a7e094), SkBits2Float(0xc26f14b2));
  2655. path.lineTo(SkBits2Float(0x40e83ae9), SkBits2Float(0xc2a55d3f));
  2656. path.close();
  2657. SkPath path2(path);
  2658. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2659. }
  2660. // op end success 1
  2661. static void battleOp112(skiatest::Reporter* reporter, const char* filename) {
  2662. SkPath path;
  2663. path.setFillType((SkPath::FillType) 0);
  2664. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2665. path.cubicTo(SkBits2Float(0x4035711d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40b561d9), SkBits2Float(0xc2a5b5a1), SkBits2Float(0x4107d050), SkBits2Float(0xc2a5212f));
  2666. path.lineTo(SkBits2Float(0x40c45b76), SkBits2Float(0xc26ebddb));
  2667. path.cubicTo(SkBits2Float(0x40831ea4), SkBits2Float(0xc26f947a), SkBits2Float(0x400329ad), SkBits2Float(0xc26fffff), SkBits2Float(0x35bbfd46), SkBits2Float(0xc26fffff));
  2668. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2669. path.close();
  2670. SkPath path1(path);
  2671. path.reset();
  2672. path.setFillType((SkPath::FillType) 0);
  2673. path.moveTo(SkBits2Float(0x4107d054), SkBits2Float(0xc2a5212f));
  2674. path.cubicTo(SkBits2Float(0x410c5332), SkBits2Float(0xc2a51258), SkBits2Float(0x4110d578), SkBits2Float(0xc2a502c3), SkBits2Float(0x41155714), SkBits2Float(0xc2a4f271));
  2675. path.lineTo(SkBits2Float(0x40d7e9e2), SkBits2Float(0xc26e7a46));
  2676. path.cubicTo(SkBits2Float(0x40d16605), SkBits2Float(0xc26e91e0), SkBits2Float(0x40cae131), SkBits2Float(0xc26ea866), SkBits2Float(0x40c45b7a), SkBits2Float(0xc26ebddc));
  2677. path.lineTo(SkBits2Float(0x4107d054), SkBits2Float(0xc2a5212f));
  2678. path.close();
  2679. SkPath path2(path);
  2680. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2681. }
  2682. // op end success 1
  2683. static void battleOp113(skiatest::Reporter* reporter, const char* filename) {
  2684. SkPath path;
  2685. path.setFillType((SkPath::FillType) 1);
  2686. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  2687. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2688. path.cubicTo(SkBits2Float(0x4035711d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40b561d9), SkBits2Float(0xc2a5b5a1), SkBits2Float(0x4107d054), SkBits2Float(0xc2a5212f));
  2689. path.cubicTo(SkBits2Float(0x410c5332), SkBits2Float(0xc2a51258), SkBits2Float(0x4110d578), SkBits2Float(0xc2a502c3), SkBits2Float(0x41155714), SkBits2Float(0xc2a4f271));
  2690. path.lineTo(SkBits2Float(0x40d7e9e2), SkBits2Float(0xc26e7a46));
  2691. path.cubicTo(SkBits2Float(0x40d16605), SkBits2Float(0xc26e91e0), SkBits2Float(0x40cae131), SkBits2Float(0xc26ea866), SkBits2Float(0x40c45b76), SkBits2Float(0xc26ebddb));
  2692. path.cubicTo(SkBits2Float(0x40831ea4), SkBits2Float(0xc26f947a), SkBits2Float(0x400329ad), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  2693. path.close();
  2694. SkPath path1(path);
  2695. path.reset();
  2696. path.setFillType((SkPath::FillType) 0);
  2697. path.moveTo(SkBits2Float(0x4115571a), SkBits2Float(0xc2a4f271));
  2698. path.cubicTo(SkBits2Float(0x415e6818), SkBits2Float(0xc2a3e9d4), SkBits2Float(0x41935478), SkBits2Float(0xc2a21f7a), SkBits2Float(0x41b6ad74), SkBits2Float(0xc29f981d));
  2699. path.lineTo(SkBits2Float(0x41840e5b), SkBits2Float(0xc266bd14));
  2700. path.cubicTo(SkBits2Float(0x415501d6), SkBits2Float(0xc26a6507), SkBits2Float(0x4120c6a0), SkBits2Float(0xc26cfbb4), SkBits2Float(0x40d7e9e6), SkBits2Float(0xc26e7a47));
  2701. path.lineTo(SkBits2Float(0x4115571a), SkBits2Float(0xc2a4f271));
  2702. path.close();
  2703. SkPath path2(path);
  2704. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2705. }
  2706. // op end success 1
  2707. static void battleOp114(skiatest::Reporter* reporter, const char* filename) {
  2708. SkPath path;
  2709. path.setFillType((SkPath::FillType) 0);
  2710. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2711. path.cubicTo(SkBits2Float(0x405f6414), SkBits2Float(0xc2a60000), SkBits2Float(0x40df4798), SkBits2Float(0xc2a58f44), SkBits2Float(0x41270b42), SkBits2Float(0xc2a4ae78));
  2712. path.lineTo(SkBits2Float(0x40f1826b), SkBits2Float(0xc26e1801));
  2713. path.cubicTo(SkBits2Float(0x40a16831), SkBits2Float(0xc26f5d03), SkBits2Float(0x40217cc8), SkBits2Float(0xc2700000), SkBits2Float(0x3507fa94), SkBits2Float(0xc2700000));
  2714. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2715. path.close();
  2716. SkPath path1(path);
  2717. path.reset();
  2718. path.setFillType((SkPath::FillType) 0);
  2719. path.moveTo(SkBits2Float(0x41270b46), SkBits2Float(0xc2a4ae78));
  2720. path.cubicTo(SkBits2Float(0x412c952a), SkBits2Float(0xc2a497ff), SkBits2Float(0x41321de3), SkBits2Float(0xc2a48068), SkBits2Float(0x4137a563), SkBits2Float(0xc2a467b4));
  2721. path.lineTo(SkBits2Float(0x4104c195), SkBits2Float(0xc26db1b1));
  2722. path.cubicTo(SkBits2Float(0x4100c256), SkBits2Float(0xc26dd569), SkBits2Float(0x40f98465), SkBits2Float(0xc26df784), SkBits2Float(0x40f18273), SkBits2Float(0xc26e1801));
  2723. path.lineTo(SkBits2Float(0x41270b46), SkBits2Float(0xc2a4ae78));
  2724. path.close();
  2725. SkPath path2(path);
  2726. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2727. }
  2728. // op end success 1
  2729. static void battleOp115(skiatest::Reporter* reporter, const char* filename) {
  2730. SkPath path;
  2731. path.setFillType((SkPath::FillType) 1);
  2732. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2733. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2734. path.cubicTo(SkBits2Float(0x405f6414), SkBits2Float(0xc2a60000), SkBits2Float(0x40df4798), SkBits2Float(0xc2a58f44), SkBits2Float(0x41270b46), SkBits2Float(0xc2a4ae78));
  2735. path.cubicTo(SkBits2Float(0x412c952a), SkBits2Float(0xc2a497ff), SkBits2Float(0x41321de3), SkBits2Float(0xc2a48068), SkBits2Float(0x4137a563), SkBits2Float(0xc2a467b4));
  2736. path.lineTo(SkBits2Float(0x4104c195), SkBits2Float(0xc26db1b1));
  2737. path.cubicTo(SkBits2Float(0x4100c256), SkBits2Float(0xc26dd569), SkBits2Float(0x40f98465), SkBits2Float(0xc26df784), SkBits2Float(0x40f1826b), SkBits2Float(0xc26e1801));
  2738. path.cubicTo(SkBits2Float(0x40a16831), SkBits2Float(0xc26f5d03), SkBits2Float(0x40217cc8), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2739. path.close();
  2740. SkPath path1(path);
  2741. path.reset();
  2742. path.setFillType((SkPath::FillType) 0);
  2743. path.moveTo(SkBits2Float(0x4137a563), SkBits2Float(0xc2a467b4));
  2744. path.cubicTo(SkBits2Float(0x4188a9bf), SkBits2Float(0xc2a2d700), SkBits2Float(0x41b4bec4), SkBits2Float(0xc2a021d5), SkBits2Float(0x41df619b), SkBits2Float(0xc29c5308));
  2745. path.lineTo(SkBits2Float(0x41a17afe), SkBits2Float(0xc26202d7));
  2746. path.cubicTo(SkBits2Float(0x4182a8c1), SkBits2Float(0xc2678433), SkBits2Float(0x414595cf), SkBits2Float(0xc26b6e5e), SkBits2Float(0x4104c197), SkBits2Float(0xc26db1b2));
  2747. path.lineTo(SkBits2Float(0x4137a563), SkBits2Float(0xc2a467b4));
  2748. path.close();
  2749. SkPath path2(path);
  2750. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2751. }
  2752. // op end success 1
  2753. static void battleOp116(skiatest::Reporter* reporter, const char* filename) {
  2754. SkPath path;
  2755. path.setFillType((SkPath::FillType) 0);
  2756. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2757. path.cubicTo(SkBits2Float(0x40894a00), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41092f84), SkBits2Float(0xc2a555af), SkBits2Float(0x414d01d5), SkBits2Float(0xc2a40295));
  2758. path.lineTo(SkBits2Float(0x411432a9), SkBits2Float(0xc26d1f80));
  2759. path.cubicTo(SkBits2Float(0x40c65728), SkBits2Float(0xc26f09c3), SkBits2Float(0x40467d64), SkBits2Float(0xc2700000), SkBits2Float(0xb5600574), SkBits2Float(0xc2700000));
  2760. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2761. path.close();
  2762. SkPath path1(path);
  2763. path.reset();
  2764. path.setFillType((SkPath::FillType) 0);
  2765. path.moveTo(SkBits2Float(0x414d01d1), SkBits2Float(0xc2a40296));
  2766. path.cubicTo(SkBits2Float(0x4153c92e), SkBits2Float(0xc2a3e0b1), SkBits2Float(0x415a8e6d), SkBits2Float(0xc2a3bd1e), SkBits2Float(0x41615162), SkBits2Float(0xc2a397de));
  2767. path.lineTo(SkBits2Float(0x4122e164), SkBits2Float(0xc26c8535));
  2768. path.cubicTo(SkBits2Float(0x411dfe19), SkBits2Float(0xc26cbb11), SkBits2Float(0x41191928), SkBits2Float(0xc26cee7f), SkBits2Float(0x411432ab), SkBits2Float(0xc26d1f80));
  2769. path.lineTo(SkBits2Float(0x414d01d1), SkBits2Float(0xc2a40296));
  2770. path.close();
  2771. SkPath path2(path);
  2772. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2773. }
  2774. // op end success 1
  2775. static void battleOp117(skiatest::Reporter* reporter, const char* filename) {
  2776. SkPath path;
  2777. path.setFillType((SkPath::FillType) 1);
  2778. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2779. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2780. path.cubicTo(SkBits2Float(0x408949fd), SkBits2Float(0xc2a60000), SkBits2Float(0x41092f81), SkBits2Float(0xc2a555af), SkBits2Float(0x414d01d0), SkBits2Float(0xc2a40295));
  2781. path.lineTo(SkBits2Float(0x414d01d1), SkBits2Float(0xc2a40296));
  2782. path.cubicTo(SkBits2Float(0x4153c92e), SkBits2Float(0xc2a3e0b1), SkBits2Float(0x415a8e6d), SkBits2Float(0xc2a3bd1e), SkBits2Float(0x41615162), SkBits2Float(0xc2a397de));
  2783. path.lineTo(SkBits2Float(0x4122e164), SkBits2Float(0xc26c8535));
  2784. path.cubicTo(SkBits2Float(0x411dfe19), SkBits2Float(0xc26cbb11), SkBits2Float(0x41191928), SkBits2Float(0xc26cee7f), SkBits2Float(0x411432a9), SkBits2Float(0xc26d1f80));
  2785. path.cubicTo(SkBits2Float(0x40c65728), SkBits2Float(0xc26f09c3), SkBits2Float(0x40467d64), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2786. path.close();
  2787. SkPath path1(path);
  2788. path.reset();
  2789. path.setFillType((SkPath::FillType) 0);
  2790. path.moveTo(SkBits2Float(0x41615164), SkBits2Float(0xc2a397de));
  2791. path.cubicTo(SkBits2Float(0x41a78432), SkBits2Float(0xc2a13b6d), SkBits2Float(0x41dcf7f2), SkBits2Float(0xc29d27e8), SkBits2Float(0x4207e0f5), SkBits2Float(0xc29775db));
  2792. path.lineTo(SkBits2Float(0x41c47380), SkBits2Float(0xc25afa96));
  2793. path.cubicTo(SkBits2Float(0x419fbc7e), SkBits2Float(0xc263369d), SkBits2Float(0x41723143), SkBits2Float(0xc2691b52), SkBits2Float(0x4122e168), SkBits2Float(0xc26c8537));
  2794. path.lineTo(SkBits2Float(0x41615164), SkBits2Float(0xc2a397de));
  2795. path.close();
  2796. SkPath path2(path);
  2797. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2798. }
  2799. // op end success 1
  2800. static void battleOp118(skiatest::Reporter* reporter, const char* filename) {
  2801. SkPath path;
  2802. path.setFillType((SkPath::FillType) 0);
  2803. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2804. path.cubicTo(SkBits2Float(0x40a2e582), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4122b94f), SkBits2Float(0xc2a51039), SkBits2Float(0x4172cca0), SkBits2Float(0xc2a333b4));
  2805. path.lineTo(SkBits2Float(0x412f847d), SkBits2Float(0xc26bf464));
  2806. path.cubicTo(SkBits2Float(0x40eb4376), SkBits2Float(0xc26ea556), SkBits2Float(0x406b836d), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2807. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2808. path.close();
  2809. SkPath path1(path);
  2810. path.reset();
  2811. path.setFillType((SkPath::FillType) 0);
  2812. path.moveTo(SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  2813. path.cubicTo(SkBits2Float(0x417acd1a), SkBits2Float(0xc2a30415), SkBits2Float(0x41816508), SkBits2Float(0xc2a2d21d), SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcb));
  2814. path.lineTo(SkBits2Float(0x4140d724), SkBits2Float(0xc26b1ba8));
  2815. path.cubicTo(SkBits2Float(0x413b139d), SkBits2Float(0xc26b674c), SkBits2Float(0x41354d54), SkBits2Float(0xc26baf8b), SkBits2Float(0x412f847c), SkBits2Float(0xc26bf463));
  2816. path.lineTo(SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  2817. path.close();
  2818. SkPath path2(path);
  2819. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2820. }
  2821. // op end success 1
  2822. static void battleOp119(skiatest::Reporter* reporter, const char* filename) {
  2823. SkPath path;
  2824. path.setFillType((SkPath::FillType) 1);
  2825. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2826. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2827. path.cubicTo(SkBits2Float(0x40a2e57f), SkBits2Float(0xc2a60000), SkBits2Float(0x4122b94c), SkBits2Float(0xc2a51039), SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  2828. path.lineTo(SkBits2Float(0x4172cca0), SkBits2Float(0xc2a333b4));
  2829. path.cubicTo(SkBits2Float(0x417acd1d), SkBits2Float(0xc2a30415), SkBits2Float(0x41816509), SkBits2Float(0xc2a2d21d), SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcb));
  2830. path.lineTo(SkBits2Float(0x4140d724), SkBits2Float(0xc26b1ba8));
  2831. path.cubicTo(SkBits2Float(0x413b139d), SkBits2Float(0xc26b674c), SkBits2Float(0x41354d54), SkBits2Float(0xc26baf8b), SkBits2Float(0x412f847c), SkBits2Float(0xc26bf463));
  2832. path.lineTo(SkBits2Float(0x412f847d), SkBits2Float(0xc26bf464));
  2833. path.cubicTo(SkBits2Float(0x40eb4376), SkBits2Float(0xc26ea556), SkBits2Float(0x406b836d), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  2834. path.close();
  2835. SkPath path1(path);
  2836. path.reset();
  2837. path.setFillType((SkPath::FillType) 0);
  2838. path.moveTo(SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcc));
  2839. path.cubicTo(SkBits2Float(0x41c61a92), SkBits2Float(0xc29f4c69), SkBits2Float(0x42023dd6), SkBits2Float(0xc299958f), SkBits2Float(0x421f3a98), SkBits2Float(0xc291a994));
  2840. path.lineTo(SkBits2Float(0x41e635e1), SkBits2Float(0xc25298a5));
  2841. path.cubicTo(SkBits2Float(0x41bc4d11), SkBits2Float(0xc25e0caa), SkBits2Float(0x418f3524), SkBits2Float(0xc2664fa2), SkBits2Float(0x4140d729), SkBits2Float(0xc26b1ba9));
  2842. path.lineTo(SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcc));
  2843. path.close();
  2844. SkPath path2(path);
  2845. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2846. }
  2847. // op end success 1
  2848. static void battleOp120(skiatest::Reporter* reporter, const char* filename) {
  2849. SkPath path;
  2850. path.setFillType((SkPath::FillType) 0);
  2851. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2852. path.cubicTo(SkBits2Float(0x40c39389), SkBits2Float(0xc2a60000), SkBits2Float(0x414346f4), SkBits2Float(0xc2a4a65f), SkBits2Float(0x419158cf), SkBits2Float(0xc2a1f965));
  2853. path.lineTo(SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  2854. path.cubicTo(SkBits2Float(0x410d2a0c), SkBits2Float(0xc26e0c4b), SkBits2Float(0x408d616c), SkBits2Float(0xc2700000), SkBits2Float(0x35bbfd46), SkBits2Float(0xc2700000));
  2855. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2856. path.close();
  2857. SkPath path1(path);
  2858. path.reset();
  2859. path.setFillType((SkPath::FillType) 0);
  2860. path.moveTo(SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  2861. path.cubicTo(SkBits2Float(0x41961cea), SkBits2Float(0xc2a1b4f6), SkBits2Float(0x419addf6), SkBits2Float(0xc2a16d2c), SkBits2Float(0x419f9bbb), SkBits2Float(0xc2a12207));
  2862. path.lineTo(SkBits2Float(0x4166c251), SkBits2Float(0xc268f69a));
  2863. path.cubicTo(SkBits2Float(0x415fe778), SkBits2Float(0xc269633e), SkBits2Float(0x415907e2), SkBits2Float(0xc269cb09), SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  2864. path.lineTo(SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  2865. path.close();
  2866. SkPath path2(path);
  2867. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2868. }
  2869. // op end success 1
  2870. static void battleOp121(skiatest::Reporter* reporter, const char* filename) {
  2871. SkPath path;
  2872. path.setFillType((SkPath::FillType) 1);
  2873. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2874. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2875. path.cubicTo(SkBits2Float(0x40c39389), SkBits2Float(0xc2a60000), SkBits2Float(0x414346f4), SkBits2Float(0xc2a4a65f), SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  2876. path.cubicTo(SkBits2Float(0x41961cea), SkBits2Float(0xc2a1b4f6), SkBits2Float(0x419addf6), SkBits2Float(0xc2a16d2c), SkBits2Float(0x419f9bbb), SkBits2Float(0xc2a12207));
  2877. path.lineTo(SkBits2Float(0x4166c251), SkBits2Float(0xc268f69a));
  2878. path.cubicTo(SkBits2Float(0x415fe778), SkBits2Float(0xc269633e), SkBits2Float(0x415907e2), SkBits2Float(0xc269cb09), SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  2879. path.cubicTo(SkBits2Float(0x410d2a0c), SkBits2Float(0xc26e0c4b), SkBits2Float(0x408d616c), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2880. path.close();
  2881. SkPath path1(path);
  2882. path.reset();
  2883. path.setFillType((SkPath::FillType) 0);
  2884. path.moveTo(SkBits2Float(0x419f9bbc), SkBits2Float(0xc2a12208));
  2885. path.cubicTo(SkBits2Float(0x41eca53e), SkBits2Float(0xc29c5d1a), SkBits2Float(0x421ad1be), SkBits2Float(0xc2942e2b), SkBits2Float(0x423b8fe1), SkBits2Float(0xc288f8a3));
  2886. path.lineTo(SkBits2Float(0x42079647), SkBits2Float(0xc24607dc));
  2887. path.cubicTo(SkBits2Float(0x41dfd5cc), SkBits2Float(0xc2563c94), SkBits2Float(0x41ab11aa), SkBits2Float(0xc2621167), SkBits2Float(0x4166c24e), SkBits2Float(0xc268f69b));
  2888. path.lineTo(SkBits2Float(0x419f9bbc), SkBits2Float(0xc2a12208));
  2889. path.close();
  2890. SkPath path2(path);
  2891. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2892. }
  2893. // op end success 1
  2894. static void battleOp122(skiatest::Reporter* reporter, const char* filename) {
  2895. SkPath path;
  2896. path.setFillType((SkPath::FillType) 0);
  2897. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2898. path.cubicTo(SkBits2Float(0x410a1653), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4189aa2f), SkBits2Float(0xc2a34ed0), SkBits2Float(0x41cb63be), SkBits2Float(0xc29e054b));
  2899. path.lineTo(SkBits2Float(0x41930758), SkBits2Float(0xc26476b2));
  2900. path.cubicTo(SkBits2Float(0x41470896), SkBits2Float(0xc26c1b98), SkBits2Float(0x40c7a4f2), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  2901. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2902. path.close();
  2903. SkPath path1(path);
  2904. path.reset();
  2905. path.setFillType((SkPath::FillType) 0);
  2906. path.moveTo(SkBits2Float(0x41cb63c3), SkBits2Float(0xc29e054c));
  2907. path.cubicTo(SkBits2Float(0x41d1f2f3), SkBits2Float(0xc29d7e37), SkBits2Float(0x41d879a0), SkBits2Float(0xc29cf09c), SkBits2Float(0x41def72d), SkBits2Float(0xc29c5c87));
  2908. path.lineTo(SkBits2Float(0x41a12e10), SkBits2Float(0xc2621091));
  2909. path.cubicTo(SkBits2Float(0x419c7cee), SkBits2Float(0xc262e6aa), SkBits2Float(0x4197c536), SkBits2Float(0xc263b366), SkBits2Float(0x41930757), SkBits2Float(0xc26476b3));
  2910. path.lineTo(SkBits2Float(0x41cb63c3), SkBits2Float(0xc29e054c));
  2911. path.close();
  2912. SkPath path2(path);
  2913. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2914. }
  2915. // op end success 1
  2916. static void battleOp123(skiatest::Reporter* reporter, const char* filename) {
  2917. SkPath path;
  2918. path.setFillType((SkPath::FillType) 1);
  2919. path.moveTo(SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  2920. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2921. path.cubicTo(SkBits2Float(0x410a1653), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4189aa2f), SkBits2Float(0xc2a34ed0), SkBits2Float(0x41cb63be), SkBits2Float(0xc29e054b));
  2922. path.lineTo(SkBits2Float(0x41cb63c3), SkBits2Float(0xc29e054c));
  2923. path.cubicTo(SkBits2Float(0x41d1f2f3), SkBits2Float(0xc29d7e37), SkBits2Float(0x41d879a0), SkBits2Float(0xc29cf09c), SkBits2Float(0x41def72d), SkBits2Float(0xc29c5c87));
  2924. path.lineTo(SkBits2Float(0x41a12e10), SkBits2Float(0xc2621091));
  2925. path.cubicTo(SkBits2Float(0x419c7cee), SkBits2Float(0xc262e6aa), SkBits2Float(0x4197c536), SkBits2Float(0xc263b366), SkBits2Float(0x41930757), SkBits2Float(0xc26476b3));
  2926. path.lineTo(SkBits2Float(0x41930758), SkBits2Float(0xc26476b2));
  2927. path.cubicTo(SkBits2Float(0x41470896), SkBits2Float(0xc26c1b98), SkBits2Float(0x40c7a4f2), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  2928. path.close();
  2929. SkPath path1(path);
  2930. path.reset();
  2931. path.setFillType((SkPath::FillType) 0);
  2932. path.moveTo(SkBits2Float(0x41def730), SkBits2Float(0xc29c5c87));
  2933. path.cubicTo(SkBits2Float(0x422459f2), SkBits2Float(0xc292f017), SkBits2Float(0x42539427), SkBits2Float(0xc282f764), SkBits2Float(0x4278c050), SkBits2Float(0xc25be110));
  2934. path.lineTo(SkBits2Float(0x4233d1f5), SkBits2Float(0xc21ef2e3));
  2935. path.cubicTo(SkBits2Float(0x4218f2cf), SkBits2Float(0xc23d5956), SkBits2Float(0x41ed9dce), SkBits2Float(0xc25470b6), SkBits2Float(0x41a12e11), SkBits2Float(0xc2621092));
  2936. path.lineTo(SkBits2Float(0x41def730), SkBits2Float(0xc29c5c87));
  2937. path.close();
  2938. SkPath path2(path);
  2939. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2940. }
  2941. // op end success 1
  2942. static void battleOp124(skiatest::Reporter* reporter, const char* filename) {
  2943. SkPath path;
  2944. path.setFillType((SkPath::FillType) 0);
  2945. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2946. path.cubicTo(SkBits2Float(0x411fc00b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x419f1845), SkBits2Float(0xc2a265a5), SkBits2Float(0x41e9da2b), SkBits2Float(0xc29b5d43));
  2947. path.lineTo(SkBits2Float(0x41a90cc1), SkBits2Float(0xc2609f84));
  2948. path.cubicTo(SkBits2Float(0x41660440), SkBits2Float(0xc26aca7c), SkBits2Float(0x40e6f6cd), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa8c), SkBits2Float(0xc2700000));
  2949. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2950. path.close();
  2951. SkPath path1(path);
  2952. path.reset();
  2953. path.setFillType((SkPath::FillType) 0);
  2954. path.moveTo(SkBits2Float(0x41e9da2e), SkBits2Float(0xc29b5d44));
  2955. path.cubicTo(SkBits2Float(0x41f14eda), SkBits2Float(0xc29aa9b5), SkBits2Float(0x41f8b671), SkBits2Float(0xc299ed94), SkBits2Float(0x42000805), SkBits2Float(0xc29928f7));
  2956. path.lineTo(SkBits2Float(0x41b91b05), SkBits2Float(0xc25d6faa));
  2957. path.cubicTo(SkBits2Float(0x41b3cad4), SkBits2Float(0xc25e8bec), SkBits2Float(0x41ae7086), SkBits2Float(0xc25f9beb), SkBits2Float(0x41a90cc3), SkBits2Float(0xc2609f85));
  2958. path.lineTo(SkBits2Float(0x41e9da2e), SkBits2Float(0xc29b5d44));
  2959. path.close();
  2960. SkPath path2(path);
  2961. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2962. }
  2963. // op end success 1
  2964. static void battleOp125(skiatest::Reporter* reporter, const char* filename) {
  2965. SkPath path;
  2966. path.setFillType((SkPath::FillType) 1);
  2967. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2968. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  2969. path.cubicTo(SkBits2Float(0x411fc00b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x419f1845), SkBits2Float(0xc2a265a5), SkBits2Float(0x41e9da2e), SkBits2Float(0xc29b5d44));
  2970. path.cubicTo(SkBits2Float(0x41f14eda), SkBits2Float(0xc29aa9b5), SkBits2Float(0x41f8b671), SkBits2Float(0xc299ed94), SkBits2Float(0x42000805), SkBits2Float(0xc29928f7));
  2971. path.lineTo(SkBits2Float(0x41b91b05), SkBits2Float(0xc25d6faa));
  2972. path.cubicTo(SkBits2Float(0x41b3cad4), SkBits2Float(0xc25e8bec), SkBits2Float(0x41ae7086), SkBits2Float(0xc25f9beb), SkBits2Float(0x41a90cc1), SkBits2Float(0xc2609f84));
  2973. path.cubicTo(SkBits2Float(0x41660440), SkBits2Float(0xc26aca7c), SkBits2Float(0x40e6f6cd), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  2974. path.close();
  2975. SkPath path1(path);
  2976. path.reset();
  2977. path.setFillType((SkPath::FillType) 0);
  2978. path.moveTo(SkBits2Float(0x42000806), SkBits2Float(0xc29928f8));
  2979. path.cubicTo(SkBits2Float(0x423c0231), SkBits2Float(0xc28ca034), SkBits2Float(0x426f4e95), SkBits2Float(0xc26f2095), SkBits2Float(0x4289c821), SkBits2Float(0xc2392c12));
  2980. path.lineTo(SkBits2Float(0x424733db), SkBits2Float(0xc205dc02));
  2981. path.cubicTo(SkBits2Float(0x422cfe35), SkBits2Float(0xc22cdcf5), SkBits2Float(0x4207e8ea), SkBits2Float(0xc24b507f), SkBits2Float(0x41b91b06), SkBits2Float(0xc25d6faa));
  2982. path.lineTo(SkBits2Float(0x42000806), SkBits2Float(0xc29928f8));
  2983. path.close();
  2984. SkPath path2(path);
  2985. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  2986. }
  2987. // op end success 1
  2988. static void battleOp126(skiatest::Reporter* reporter, const char* filename) {
  2989. SkPath path;
  2990. path.setFillType((SkPath::FillType) 0);
  2991. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2992. path.cubicTo(SkBits2Float(0x41379cd4), SkBits2Float(0xc2a60000), SkBits2Float(0x41b69d77), SkBits2Float(0xc2a13d93), SkBits2Float(0x42055871), SkBits2Float(0xc29805ae));
  2993. path.lineTo(SkBits2Float(0x41c0c9e6), SkBits2Float(0xc25bca86));
  2994. path.cubicTo(SkBits2Float(0x418402cc), SkBits2Float(0xc2691e6b), SkBits2Float(0x4104bb66), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea5), SkBits2Float(0xc26fffff));
  2995. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  2996. path.close();
  2997. SkPath path1(path);
  2998. path.reset();
  2999. path.setFillType((SkPath::FillType) 0);
  3000. path.moveTo(SkBits2Float(0x42055872), SkBits2Float(0xc29805ae));
  3001. path.cubicTo(SkBits2Float(0x420988d2), SkBits2Float(0xc2971a85), SkBits2Float(0x420daf5c), SkBits2Float(0xc296244f), SkBits2Float(0x4211cb64), SkBits2Float(0xc2952332));
  3002. path.lineTo(SkBits2Float(0x41d2c988), SkBits2Float(0xc2579ed7));
  3003. path.cubicTo(SkBits2Float(0x41ccd887), SkBits2Float(0xc2591291), SkBits2Float(0x41c6d852), SkBits2Float(0xc25a7689), SkBits2Float(0x41c0c9e6), SkBits2Float(0xc25bca86));
  3004. path.lineTo(SkBits2Float(0x42055872), SkBits2Float(0xc29805ae));
  3005. path.close();
  3006. SkPath path2(path);
  3007. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3008. }
  3009. // op end success 1
  3010. static void battleOp127(skiatest::Reporter* reporter, const char* filename) {
  3011. SkPath path;
  3012. path.setFillType((SkPath::FillType) 1);
  3013. path.moveTo(SkBits2Float(0x3673fea5), SkBits2Float(0xc26fffff));
  3014. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3015. path.cubicTo(SkBits2Float(0x41379cd4), SkBits2Float(0xc2a60000), SkBits2Float(0x41b69d77), SkBits2Float(0xc2a13d93), SkBits2Float(0x42055872), SkBits2Float(0xc29805ae));
  3016. path.cubicTo(SkBits2Float(0x420988d2), SkBits2Float(0xc2971a85), SkBits2Float(0x420daf5c), SkBits2Float(0xc296244f), SkBits2Float(0x4211cb64), SkBits2Float(0xc2952332));
  3017. path.lineTo(SkBits2Float(0x41d2c988), SkBits2Float(0xc2579ed7));
  3018. path.cubicTo(SkBits2Float(0x41ccd887), SkBits2Float(0xc2591291), SkBits2Float(0x41c6d852), SkBits2Float(0xc25a7689), SkBits2Float(0x41c0c9e6), SkBits2Float(0xc25bca86));
  3019. path.cubicTo(SkBits2Float(0x418402cc), SkBits2Float(0xc2691e6b), SkBits2Float(0x4104bb66), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea5), SkBits2Float(0xc26fffff));
  3020. path.close();
  3021. SkPath path1(path);
  3022. path.reset();
  3023. path.setFillType((SkPath::FillType) 0);
  3024. path.moveTo(SkBits2Float(0x4211cb65), SkBits2Float(0xc2952332));
  3025. path.cubicTo(SkBits2Float(0x42550406), SkBits2Float(0xc284b578), SkBits2Float(0x42859569), SkBits2Float(0xc252d13a), SkBits2Float(0x4295bbf4), SkBits2Float(0xc20f53bf));
  3026. path.lineTo(SkBits2Float(0x42587bb2), SkBits2Float(0xc1cf3850));
  3027. path.cubicTo(SkBits2Float(0x4241220a), SkBits2Float(0xc21865e8), SkBits2Float(0x4219fcbd), SkBits2Float(0xc23fde48), SkBits2Float(0x41d2c988), SkBits2Float(0xc2579ed8));
  3028. path.lineTo(SkBits2Float(0x4211cb65), SkBits2Float(0xc2952332));
  3029. path.close();
  3030. SkPath path2(path);
  3031. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3032. }
  3033. // op end success 1
  3034. static void battleOp128(skiatest::Reporter* reporter, const char* filename) {
  3035. SkPath path;
  3036. path.setFillType((SkPath::FillType) 0);
  3037. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3038. path.cubicTo(SkBits2Float(0x4151cd59), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41d04f3f), SkBits2Float(0xc29fc954), SkBits2Float(0x4216e058), SkBits2Float(0xc293de54));
  3039. path.lineTo(SkBits2Float(0x41da226b), SkBits2Float(0xc255c926));
  3040. path.cubicTo(SkBits2Float(0x419695d1), SkBits2Float(0xc267043d), SkBits2Float(0x4117aa0a), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3041. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3042. path.close();
  3043. SkPath path1(path);
  3044. path.reset();
  3045. path.setFillType((SkPath::FillType) 0);
  3046. path.moveTo(SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  3047. path.cubicTo(SkBits2Float(0x421b86ea), SkBits2Float(0xc292aea0), SkBits2Float(0x42201eff), SkBits2Float(0xc29170ed), SkBits2Float(0x4224a79b), SkBits2Float(0xc290257e));
  3048. path.lineTo(SkBits2Float(0x41ee0e15), SkBits2Float(0xc2506790));
  3049. path.cubicTo(SkBits2Float(0x41e78019), SkBits2Float(0xc25246bf), SkBits2Float(0x41e0dbbc), SkBits2Float(0xc2541212), SkBits2Float(0x41da226b), SkBits2Float(0xc255c927));
  3050. path.lineTo(SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  3051. path.close();
  3052. SkPath path2(path);
  3053. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3054. }
  3055. // op end success 1
  3056. static void battleOp129(skiatest::Reporter* reporter, const char* filename) {
  3057. SkPath path;
  3058. path.setFillType((SkPath::FillType) 1);
  3059. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3060. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3061. path.cubicTo(SkBits2Float(0x4151cd58), SkBits2Float(0xc2a60000), SkBits2Float(0x41d04f3d), SkBits2Float(0xc29fc954), SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  3062. path.lineTo(SkBits2Float(0x4216e058), SkBits2Float(0xc293de54));
  3063. path.cubicTo(SkBits2Float(0x421b86eb), SkBits2Float(0xc292aea0), SkBits2Float(0x42201eff), SkBits2Float(0xc29170ed), SkBits2Float(0x4224a79b), SkBits2Float(0xc290257e));
  3064. path.lineTo(SkBits2Float(0x41ee0e15), SkBits2Float(0xc2506790));
  3065. path.cubicTo(SkBits2Float(0x41e78019), SkBits2Float(0xc25246bf), SkBits2Float(0x41e0dbbc), SkBits2Float(0xc2541212), SkBits2Float(0x41da226b), SkBits2Float(0xc255c927));
  3066. path.lineTo(SkBits2Float(0x41da226b), SkBits2Float(0xc255c926));
  3067. path.cubicTo(SkBits2Float(0x419695d1), SkBits2Float(0xc267043d), SkBits2Float(0x4117aa0a), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3068. path.close();
  3069. SkPath path1(path);
  3070. path.reset();
  3071. path.setFillType((SkPath::FillType) 0);
  3072. path.moveTo(SkBits2Float(0x4224a79b), SkBits2Float(0xc290257f));
  3073. path.cubicTo(SkBits2Float(0x426f06c3), SkBits2Float(0xc275d105), SkBits2Float(0x42930d85), SkBits2Float(0xc2303df6), SkBits2Float(0x429f3103), SkBits2Float(0xc1bc373f));
  3074. path.lineTo(SkBits2Float(0x42662806), SkBits2Float(0xc1880f44));
  3075. path.cubicTo(SkBits2Float(0x42549b44), SkBits2Float(0xc1fececc), SkBits2Float(0x422cca4c), SkBits2Float(0xc231b2de), SkBits2Float(0x41ee0e18), SkBits2Float(0xc2506792));
  3076. path.lineTo(SkBits2Float(0x4224a79b), SkBits2Float(0xc290257f));
  3077. path.close();
  3078. SkPath path2(path);
  3079. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3080. }
  3081. // op end success 1
  3082. static void battleOp130(skiatest::Reporter* reporter, const char* filename) {
  3083. SkPath path;
  3084. path.setFillType((SkPath::FillType) 0);
  3085. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3086. path.cubicTo(SkBits2Float(0x417054a2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ee1405), SkBits2Float(0xc29dd904), SkBits2Float(0x422a9595), SkBits2Float(0xc28e6989));
  3087. path.lineTo(SkBits2Float(0x41f6a0c0), SkBits2Float(0xc24de5b0));
  3088. path.cubicTo(SkBits2Float(0x41ac1ad0), SkBits2Float(0xc26436ad), SkBits2Float(0x412dbba0), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  3089. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3090. path.close();
  3091. SkPath path1(path);
  3092. path.reset();
  3093. path.setFillType((SkPath::FillType) 0);
  3094. path.moveTo(SkBits2Float(0x422a9596), SkBits2Float(0xc28e6989));
  3095. path.cubicTo(SkBits2Float(0x422fb535), SkBits2Float(0xc28ce0c4), SkBits2Float(0x4234bf65), SkBits2Float(0xc28b465e), SkBits2Float(0x4239b2bc), SkBits2Float(0xc2899acc));
  3096. path.lineTo(SkBits2Float(0x42063d5a), SkBits2Float(0xc246f24e));
  3097. path.cubicTo(SkBits2Float(0x4202a934), SkBits2Float(0xc2495c7c), SkBits2Float(0x41fe0912), SkBits2Float(0xc24badd5), SkBits2Float(0x41f6a0c0), SkBits2Float(0xc24de5b1));
  3098. path.lineTo(SkBits2Float(0x422a9596), SkBits2Float(0xc28e6989));
  3099. path.close();
  3100. SkPath path2(path);
  3101. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3102. }
  3103. // op end success 1
  3104. static void battleOp131(skiatest::Reporter* reporter, const char* filename) {
  3105. SkPath path;
  3106. path.setFillType((SkPath::FillType) 1);
  3107. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  3108. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3109. path.cubicTo(SkBits2Float(0x417054a2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41ee1405), SkBits2Float(0xc29dd904), SkBits2Float(0x422a9596), SkBits2Float(0xc28e6989));
  3110. path.cubicTo(SkBits2Float(0x422fb535), SkBits2Float(0xc28ce0c4), SkBits2Float(0x4234bf65), SkBits2Float(0xc28b465e), SkBits2Float(0x4239b2bc), SkBits2Float(0xc2899acc));
  3111. path.lineTo(SkBits2Float(0x42063d5a), SkBits2Float(0xc246f24e));
  3112. path.cubicTo(SkBits2Float(0x4202a934), SkBits2Float(0xc2495c7c), SkBits2Float(0x41fe0912), SkBits2Float(0xc24badd5), SkBits2Float(0x41f6a0c0), SkBits2Float(0xc24de5b0));
  3113. path.cubicTo(SkBits2Float(0x41ac1ad0), SkBits2Float(0xc26436ad), SkBits2Float(0x412dbba0), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  3114. path.close();
  3115. SkPath path1(path);
  3116. path.reset();
  3117. path.setFillType((SkPath::FillType) 0);
  3118. path.moveTo(SkBits2Float(0x4239b2bd), SkBits2Float(0xc2899acc));
  3119. path.cubicTo(SkBits2Float(0x42859c2b), SkBits2Float(0xc25c33ca), SkBits2Float(0x42a01474), SkBits2Float(0xc203e23a), SkBits2Float(0x42a51fce), SkBits2Float(0xc1083bae));
  3120. path.lineTo(SkBits2Float(0x426ebbdb), SkBits2Float(0xc0c4f6ab));
  3121. path.cubicTo(SkBits2Float(0x426770d9), SkBits2Float(0xc1beacda), SkBits2Float(0x42412bce), SkBits2Float(0xc21f2eb0), SkBits2Float(0x42063d5a), SkBits2Float(0xc246f24e));
  3122. path.lineTo(SkBits2Float(0x4239b2bd), SkBits2Float(0xc2899acc));
  3123. path.close();
  3124. SkPath path2(path);
  3125. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3126. }
  3127. // op end success 1
  3128. static void battleOp132(skiatest::Reporter* reporter, const char* filename) {
  3129. SkPath path;
  3130. path.setFillType((SkPath::FillType) 0);
  3131. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3132. path.cubicTo(SkBits2Float(0x4187e175), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42063ec3), SkBits2Float(0xc29b93fb), SkBits2Float(0x423df6fd), SkBits2Float(0xc2882410));
  3133. path.lineTo(SkBits2Float(0x420952ef), SkBits2Float(0xc244d488));
  3134. path.cubicTo(SkBits2Float(0x41c216e4), SkBits2Float(0xc260eea0), SkBits2Float(0x4144743c), SkBits2Float(0xc26fffff), SkBits2Float(0x357ffa94), SkBits2Float(0xc26fffff));
  3135. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3136. path.close();
  3137. SkPath path1(path);
  3138. path.reset();
  3139. path.setFillType((SkPath::FillType) 0);
  3140. path.moveTo(SkBits2Float(0x423df6fe), SkBits2Float(0xc2882411));
  3141. path.cubicTo(SkBits2Float(0x42437e7a), SkBits2Float(0xc286364a), SkBits2Float(0x4248e78f), SkBits2Float(0xc2843312), SkBits2Float(0x424e304d), SkBits2Float(0xc2821b20));
  3142. path.lineTo(SkBits2Float(0x42150d53), SkBits2Float(0xc23c1ae0));
  3143. path.cubicTo(SkBits2Float(0x42113b72), SkBits2Float(0xc23f21be), SkBits2Float(0x420d522e), SkBits2Float(0xc2420aa4), SkBits2Float(0x420952ef), SkBits2Float(0xc244d48a));
  3144. path.lineTo(SkBits2Float(0x423df6fe), SkBits2Float(0xc2882411));
  3145. path.close();
  3146. SkPath path2(path);
  3147. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3148. }
  3149. // op end success 1
  3150. static void battleOp133(skiatest::Reporter* reporter, const char* filename) {
  3151. SkPath path;
  3152. path.setFillType((SkPath::FillType) 1);
  3153. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  3154. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3155. path.cubicTo(SkBits2Float(0x4187e175), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42063ec3), SkBits2Float(0xc29b93fb), SkBits2Float(0x423df6fe), SkBits2Float(0xc2882411));
  3156. path.cubicTo(SkBits2Float(0x42437e7a), SkBits2Float(0xc286364a), SkBits2Float(0x4248e78f), SkBits2Float(0xc2843312), SkBits2Float(0x424e304d), SkBits2Float(0xc2821b20));
  3157. path.lineTo(SkBits2Float(0x42150d53), SkBits2Float(0xc23c1ae0));
  3158. path.cubicTo(SkBits2Float(0x42113b72), SkBits2Float(0xc23f21be), SkBits2Float(0x420d522e), SkBits2Float(0xc2420aa4), SkBits2Float(0x420952ef), SkBits2Float(0xc244d48a));
  3159. path.lineTo(SkBits2Float(0x420952ef), SkBits2Float(0xc244d488));
  3160. path.cubicTo(SkBits2Float(0x41c216e4), SkBits2Float(0xc260eea0), SkBits2Float(0x4144743c), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  3161. path.close();
  3162. SkPath path1(path);
  3163. path.reset();
  3164. path.setFillType((SkPath::FillType) 0);
  3165. path.moveTo(SkBits2Float(0x424e304d), SkBits2Float(0xc2821b20));
  3166. path.cubicTo(SkBits2Float(0x4292cbf1), SkBits2Float(0xc23ef41d), SkBits2Float(0x42aa31a6), SkBits2Float(0xc1a4e14c), SkBits2Float(0x42a56158), SkBits2Float(0x40e54b3a));
  3167. path.lineTo(SkBits2Float(0x426f1a9e), SkBits2Float(0x40a5c12f));
  3168. path.cubicTo(SkBits2Float(0x42761044), SkBits2Float(0xc16e617c), SkBits2Float(0x42543c73), SkBits2Float(0xc20a09ea), SkBits2Float(0x42150d54), SkBits2Float(0xc23c1ae1));
  3169. path.lineTo(SkBits2Float(0x424e304d), SkBits2Float(0xc2821b20));
  3170. path.close();
  3171. SkPath path2(path);
  3172. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3173. }
  3174. // op end success 1
  3175. static void battleOp134(skiatest::Reporter* reporter, const char* filename) {
  3176. SkPath path;
  3177. path.setFillType((SkPath::FillType) 0);
  3178. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3179. path.cubicTo(SkBits2Float(0x419c5b1f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4219d929), SkBits2Float(0xc29834b3), SkBits2Float(0x4255ae76), SkBits2Float(0xc27e184c));
  3180. path.lineTo(SkBits2Float(0x421a77f2), SkBits2Float(0xc237aede));
  3181. path.cubicTo(SkBits2Float(0x41de6e66), SkBits2Float(0xc25c0e82), SkBits2Float(0x41620e8a), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  3182. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3183. path.close();
  3184. SkPath path1(path);
  3185. path.reset();
  3186. path.setFillType((SkPath::FillType) 0);
  3187. path.moveTo(SkBits2Float(0x4255ae76), SkBits2Float(0xc27e184c));
  3188. path.cubicTo(SkBits2Float(0x425b9ab5), SkBits2Float(0xc2791d33), SkBits2Float(0x426159ea), SkBits2Float(0xc273ed7b), SkBits2Float(0x4266e960), SkBits2Float(0xc26e8b92));
  3189. path.lineTo(SkBits2Float(0x4226ec90), SkBits2Float(0xc22c713c));
  3190. path.cubicTo(SkBits2Float(0x4222e78d), SkBits2Float(0xc2305550), SkBits2Float(0x421ec008), SkBits2Float(0xc234151d), SkBits2Float(0x421a77f3), SkBits2Float(0xc237aedd));
  3191. path.lineTo(SkBits2Float(0x4255ae76), SkBits2Float(0xc27e184c));
  3192. path.close();
  3193. SkPath path2(path);
  3194. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3195. }
  3196. // op end success 1
  3197. static void battleOp135(skiatest::Reporter* reporter, const char* filename) {
  3198. SkPath path;
  3199. path.setFillType((SkPath::FillType) 1);
  3200. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  3201. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3202. path.cubicTo(SkBits2Float(0x419c5b1f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4219d929), SkBits2Float(0xc29834b3), SkBits2Float(0x4255ae76), SkBits2Float(0xc27e184c));
  3203. path.cubicTo(SkBits2Float(0x425b9ab5), SkBits2Float(0xc2791d33), SkBits2Float(0x426159ea), SkBits2Float(0xc273ed7b), SkBits2Float(0x4266e960), SkBits2Float(0xc26e8b92));
  3204. path.lineTo(SkBits2Float(0x4226ec90), SkBits2Float(0xc22c713c));
  3205. path.cubicTo(SkBits2Float(0x4222e78d), SkBits2Float(0xc2305550), SkBits2Float(0x421ec008), SkBits2Float(0xc234151d), SkBits2Float(0x421a77f2), SkBits2Float(0xc237aede));
  3206. path.cubicTo(SkBits2Float(0x41de6e66), SkBits2Float(0xc25c0e82), SkBits2Float(0x41620e8a), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  3207. path.close();
  3208. SkPath path1(path);
  3209. path.reset();
  3210. path.setFillType((SkPath::FillType) 0);
  3211. path.moveTo(SkBits2Float(0x4266e961), SkBits2Float(0xc26e8b93));
  3212. path.cubicTo(SkBits2Float(0x42a1bfce), SkBits2Float(0xc214ebcf), SkBits2Float(0x42b1ee5a), SkBits2Float(0xc05d1412), SkBits2Float(0x429cf75a), SkBits2Float(0x41d80f2c));
  3213. path.lineTo(SkBits2Float(0x4262f06b), SkBits2Float(0x419c2ffb));
  3214. path.cubicTo(SkBits2Float(0x42809ff9), SkBits2Float(0xc01fd0e5), SkBits2Float(0x4269dab8), SkBits2Float(0xc1d74ec6), SkBits2Float(0x4226ec91), SkBits2Float(0xc22c713d));
  3215. path.lineTo(SkBits2Float(0x4266e961), SkBits2Float(0xc26e8b93));
  3216. path.close();
  3217. SkPath path2(path);
  3218. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3219. }
  3220. // op end success 1
  3221. static void battleOp136(skiatest::Reporter* reporter, const char* filename) {
  3222. SkPath path;
  3223. path.setFillType((SkPath::FillType) 0);
  3224. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3225. path.cubicTo(SkBits2Float(0x41ae0130), SkBits2Float(0xc2a5ffff), SkBits2Float(0x422a8737), SkBits2Float(0xc294ec91), SkBits2Float(0x42689b67), SkBits2Float(0xc26ce46c));
  3226. path.lineTo(SkBits2Float(0x42282651), SkBits2Float(0xc22b3f58));
  3227. path.cubicTo(SkBits2Float(0x41f68bfb), SkBits2Float(0xc2574fdc), SkBits2Float(0x417b92b3), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  3228. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3229. path.close();
  3230. SkPath path1(path);
  3231. path.reset();
  3232. path.setFillType((SkPath::FillType) 0);
  3233. path.moveTo(SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  3234. path.cubicTo(SkBits2Float(0x426ebcd2), SkBits2Float(0xc266df67), SkBits2Float(0x4274a1d2), SkBits2Float(0xc2609e09), SkBits2Float(0x427a4701), SkBits2Float(0xc25a23f2));
  3235. path.lineTo(SkBits2Float(0x4234ec64), SkBits2Float(0xc21db11e));
  3236. path.cubicTo(SkBits2Float(0x4230d7ae), SkBits2Float(0xc2225fbc), SkBits2Float(0x422c94d6), SkBits2Float(0xc226e55a), SkBits2Float(0x42282652), SkBits2Float(0xc22b3f58));
  3237. path.lineTo(SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  3238. path.close();
  3239. SkPath path2(path);
  3240. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3241. }
  3242. // op end success 1
  3243. static void battleOp137(skiatest::Reporter* reporter, const char* filename) {
  3244. SkPath path;
  3245. path.setFillType((SkPath::FillType) 1);
  3246. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3247. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3248. path.cubicTo(SkBits2Float(0x41ae0130), SkBits2Float(0xc2a5ffff), SkBits2Float(0x422a8737), SkBits2Float(0xc294ec91), SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  3249. path.cubicTo(SkBits2Float(0x426ebcd2), SkBits2Float(0xc266df67), SkBits2Float(0x4274a1d2), SkBits2Float(0xc2609e09), SkBits2Float(0x427a4701), SkBits2Float(0xc25a23f2));
  3250. path.lineTo(SkBits2Float(0x4234ec64), SkBits2Float(0xc21db11e));
  3251. path.cubicTo(SkBits2Float(0x4230d7ae), SkBits2Float(0xc2225fbc), SkBits2Float(0x422c94d6), SkBits2Float(0xc226e55a), SkBits2Float(0x42282651), SkBits2Float(0xc22b3f58));
  3252. path.cubicTo(SkBits2Float(0x41f68bfb), SkBits2Float(0xc2574fdc), SkBits2Float(0x417b92b3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3253. path.close();
  3254. SkPath path1(path);
  3255. path.reset();
  3256. path.setFillType((SkPath::FillType) 0);
  3257. path.moveTo(SkBits2Float(0x427a4702), SkBits2Float(0xc25a23f2));
  3258. path.cubicTo(SkBits2Float(0x42ac7185), SkBits2Float(0xc1db2f83), SkBits2Float(0x42b35ed0), SkBits2Float(0x413e447a), SkBits2Float(0x428e4a3d), SkBits2Float(0x422afde8));
  3259. path.lineTo(SkBits2Float(0x424db871), SkBits2Float(0x41f73799));
  3260. path.cubicTo(SkBits2Float(0x4281aa54), SkBits2Float(0x41098afa), SkBits2Float(0x427950da), SkBits2Float(0xc19e728d), SkBits2Float(0x4234ec66), SkBits2Float(0xc21db120));
  3261. path.lineTo(SkBits2Float(0x427a4702), SkBits2Float(0xc25a23f2));
  3262. path.close();
  3263. SkPath path2(path);
  3264. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3265. }
  3266. // op end success 1
  3267. static void battleOp138(skiatest::Reporter* reporter, const char* filename) {
  3268. SkPath path;
  3269. path.setFillType((SkPath::FillType) 0);
  3270. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3271. path.cubicTo(SkBits2Float(0x41c2602d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423d7ece), SkBits2Float(0xc290b51a), SkBits2Float(0x427c92bc), SkBits2Float(0xc2577a5f));
  3272. path.lineTo(SkBits2Float(0x42369543), SkBits2Float(0xc21bc469));
  3273. path.cubicTo(SkBits2Float(0x4208fc10), SkBits2Float(0xc2513731), SkBits2Float(0x418c8338), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  3274. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3275. path.close();
  3276. SkPath path1(path);
  3277. path.reset();
  3278. path.setFillType((SkPath::FillType) 0);
  3279. path.moveTo(SkBits2Float(0x427c92be), SkBits2Float(0xc2577a5f));
  3280. path.cubicTo(SkBits2Float(0x42816448), SkBits2Float(0xc25032db), SkBits2Float(0x42845689), SkBits2Float(0xc248a77c), SkBits2Float(0x42871e08), SkBits2Float(0xc240ddaa));
  3281. path.lineTo(SkBits2Float(0x424359af), SkBits2Float(0xc20b6bce));
  3282. path.cubicTo(SkBits2Float(0x423f5505), SkBits2Float(0xc2110d1f), SkBits2Float(0x423b1287), SkBits2Float(0xc216814b), SkBits2Float(0x42369543), SkBits2Float(0xc21bc46a));
  3283. path.lineTo(SkBits2Float(0x427c92be), SkBits2Float(0xc2577a5f));
  3284. path.close();
  3285. SkPath path2(path);
  3286. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3287. }
  3288. // op end success 1
  3289. static void battleOp139(skiatest::Reporter* reporter, const char* filename) {
  3290. SkPath path;
  3291. path.setFillType((SkPath::FillType) 1);
  3292. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3293. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3294. path.cubicTo(SkBits2Float(0x41c2602d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423d7ece), SkBits2Float(0xc290b51a), SkBits2Float(0x427c92bc), SkBits2Float(0xc2577a5f));
  3295. path.lineTo(SkBits2Float(0x427c92be), SkBits2Float(0xc2577a5f));
  3296. path.cubicTo(SkBits2Float(0x42816448), SkBits2Float(0xc25032db), SkBits2Float(0x42845689), SkBits2Float(0xc248a77c), SkBits2Float(0x42871e08), SkBits2Float(0xc240ddaa));
  3297. path.lineTo(SkBits2Float(0x424359af), SkBits2Float(0xc20b6bce));
  3298. path.cubicTo(SkBits2Float(0x423f5505), SkBits2Float(0xc2110d1f), SkBits2Float(0x423b1287), SkBits2Float(0xc216814a), SkBits2Float(0x42369543), SkBits2Float(0xc21bc469));
  3299. path.lineTo(SkBits2Float(0x42369543), SkBits2Float(0xc21bc46a));
  3300. path.cubicTo(SkBits2Float(0x4208fc10), SkBits2Float(0xc2513732), SkBits2Float(0x418c8337), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3301. path.close();
  3302. SkPath path1(path);
  3303. path.reset();
  3304. path.setFillType((SkPath::FillType) 0);
  3305. path.moveTo(SkBits2Float(0x42871e08), SkBits2Float(0xc240ddaa));
  3306. path.cubicTo(SkBits2Float(0x42b615a2), SkBits2Float(0xc174ff4e), SkBits2Float(0x42aecf41), SkBits2Float(0x41edcc49), SkBits2Float(0x426bc7a7), SkBits2Float(0x4269bc09));
  3307. path.lineTo(SkBits2Float(0x422a717e), SkBits2Float(0x4228f6f7));
  3308. path.cubicTo(SkBits2Float(0x427cbca0), SkBits2Float(0x41abe6f4), SkBits2Float(0x4283a09b), SkBits2Float(0xc1311b44), SkBits2Float(0x424359af), SkBits2Float(0xc20b6bcd));
  3309. path.lineTo(SkBits2Float(0x42871e08), SkBits2Float(0xc240ddaa));
  3310. path.close();
  3311. SkPath path2(path);
  3312. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3313. }
  3314. // op end success 1
  3315. static void battleOp140(skiatest::Reporter* reporter, const char* filename) {
  3316. SkPath path;
  3317. path.setFillType((SkPath::FillType) 0);
  3318. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3319. path.cubicTo(SkBits2Float(0x41d9e52a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4252f644), SkBits2Float(0xc28b460f), SkBits2Float(0x42887c98), SkBits2Float(0xc23cf83b));
  3320. path.lineTo(SkBits2Float(0x42455485), SkBits2Float(0xc2089ac5));
  3321. path.cubicTo(SkBits2Float(0x421880ae), SkBits2Float(0xc2495c0a), SkBits2Float(0x419d83bb), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3322. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3323. path.close();
  3324. SkPath path1(path);
  3325. path.reset();
  3326. path.setFillType((SkPath::FillType) 0);
  3327. path.moveTo(SkBits2Float(0x42887c98), SkBits2Float(0xc23cf83b));
  3328. path.cubicTo(SkBits2Float(0x428b8706), SkBits2Float(0xc2342f4a), SkBits2Float(0x428e5ab7), SkBits2Float(0xc22b1c84), SkBits2Float(0x4290f525), SkBits2Float(0xc221c800));
  3329. path.lineTo(SkBits2Float(0x425193c7), SkBits2Float(0xc1e9e68d));
  3330. path.cubicTo(SkBits2Float(0x424dd044), SkBits2Float(0xc1f763d3), SkBits2Float(0x4249b9f6), SkBits2Float(0xc2024108), SkBits2Float(0x42455485), SkBits2Float(0xc2089ac6));
  3331. path.lineTo(SkBits2Float(0x42887c98), SkBits2Float(0xc23cf83b));
  3332. path.close();
  3333. SkPath path2(path);
  3334. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3335. }
  3336. // op end success 1
  3337. static void battleOp141(skiatest::Reporter* reporter, const char* filename) {
  3338. SkPath path;
  3339. path.setFillType((SkPath::FillType) 1);
  3340. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3341. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3342. path.cubicTo(SkBits2Float(0x41d9e52a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4252f644), SkBits2Float(0xc28b460f), SkBits2Float(0x42887c98), SkBits2Float(0xc23cf83b));
  3343. path.cubicTo(SkBits2Float(0x428b8706), SkBits2Float(0xc2342f4a), SkBits2Float(0x428e5ab7), SkBits2Float(0xc22b1c84), SkBits2Float(0x4290f525), SkBits2Float(0xc221c800));
  3344. path.lineTo(SkBits2Float(0x425193c7), SkBits2Float(0xc1e9e68d));
  3345. path.cubicTo(SkBits2Float(0x424dd044), SkBits2Float(0xc1f763d3), SkBits2Float(0x4249b9f6), SkBits2Float(0xc2024107), SkBits2Float(0x42455485), SkBits2Float(0xc2089ac5));
  3346. path.lineTo(SkBits2Float(0x42455485), SkBits2Float(0xc2089ac6));
  3347. path.cubicTo(SkBits2Float(0x421880ae), SkBits2Float(0xc2495c0b), SkBits2Float(0x419d83ba), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3348. path.close();
  3349. SkPath path1(path);
  3350. path.reset();
  3351. path.setFillType((SkPath::FillType) 0);
  3352. path.moveTo(SkBits2Float(0x4290f526), SkBits2Float(0xc221c800));
  3353. path.cubicTo(SkBits2Float(0x42bd6cdd), SkBits2Float(0xbf1a1474), SkBits2Float(0x42a13baa), SkBits2Float(0x4246de93), SkBits2Float(0x4223add7), SkBits2Float(0x42906c8a));
  3354. path.lineTo(SkBits2Float(0x41eca4f8), SkBits2Float(0x4250ce48));
  3355. path.cubicTo(SkBits2Float(0x42691bac), SkBits2Float(0x420fc2d7), SkBits2Float(0x4288ef16), SkBits2Float(0xbedec420), SkBits2Float(0x425193c9), SkBits2Float(0xc1e9e690));
  3356. path.lineTo(SkBits2Float(0x4290f526), SkBits2Float(0xc221c800));
  3357. path.close();
  3358. SkPath path2(path);
  3359. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3360. }
  3361. // op end success 1
  3362. static void battleOp142(skiatest::Reporter* reporter, const char* filename) {
  3363. SkPath path;
  3364. path.setFillType((SkPath::FillType) 0);
  3365. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3366. path.cubicTo(SkBits2Float(0x41f6a97d), SkBits2Float(0xc2a60000), SkBits2Float(0x426c7f9e), SkBits2Float(0xc283d12f), SkBits2Float(0x4292f07c), SkBits2Float(0xc21a76e5));
  3367. path.lineTo(SkBits2Float(0x42547147), SkBits2Float(0xc1df5274));
  3368. path.cubicTo(SkBits2Float(0x422af677), SkBits2Float(0xc23e9438), SkBits2Float(0x41b24f58), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  3369. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3370. path.close();
  3371. SkPath path1(path);
  3372. path.reset();
  3373. path.setFillType((SkPath::FillType) 0);
  3374. path.moveTo(SkBits2Float(0x4292f07c), SkBits2Float(0xc21a76e5));
  3375. path.cubicTo(SkBits2Float(0x4295bcf6), SkBits2Float(0xc20fd099), SkBits2Float(0x42983ed1), SkBits2Float(0xc204de6d), SkBits2Float(0x429a7333), SkBits2Float(0xc1f3598c));
  3376. path.lineTo(SkBits2Float(0x425f4d1c), SkBits2Float(0xc1afea60));
  3377. path.cubicTo(SkBits2Float(0x425c1d22), SkBits2Float(0xc1c0197b), SkBits2Float(0x42587d28), SkBits2Float(0xc1cfecd2), SkBits2Float(0x42547148), SkBits2Float(0xc1df5275));
  3378. path.lineTo(SkBits2Float(0x4292f07c), SkBits2Float(0xc21a76e5));
  3379. path.close();
  3380. SkPath path2(path);
  3381. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3382. }
  3383. // op end success 1
  3384. static void battleOp143(skiatest::Reporter* reporter, const char* filename) {
  3385. SkPath path;
  3386. path.setFillType((SkPath::FillType) 1);
  3387. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3388. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3389. path.cubicTo(SkBits2Float(0x41f6a97d), SkBits2Float(0xc2a60000), SkBits2Float(0x426c7f9e), SkBits2Float(0xc283d12f), SkBits2Float(0x4292f07c), SkBits2Float(0xc21a76e5));
  3390. path.cubicTo(SkBits2Float(0x4295bcf6), SkBits2Float(0xc20fd099), SkBits2Float(0x42983ed1), SkBits2Float(0xc204de6d), SkBits2Float(0x429a7333), SkBits2Float(0xc1f3598c));
  3391. path.lineTo(SkBits2Float(0x425f4d1c), SkBits2Float(0xc1afea60));
  3392. path.cubicTo(SkBits2Float(0x425c1d22), SkBits2Float(0xc1c0197b), SkBits2Float(0x42587d28), SkBits2Float(0xc1cfecd2), SkBits2Float(0x42547147), SkBits2Float(0xc1df5274));
  3393. path.cubicTo(SkBits2Float(0x422af677), SkBits2Float(0xc23e9438), SkBits2Float(0x41b24f58), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3394. path.close();
  3395. SkPath path1(path);
  3396. path.reset();
  3397. path.setFillType((SkPath::FillType) 0);
  3398. path.moveTo(SkBits2Float(0x429a7334), SkBits2Float(0xc1f3598d));
  3399. path.cubicTo(SkBits2Float(0x42ac9a56), SkBits2Float(0xc0ec08d5), SkBits2Float(0x42a93a4b), SkBits2Float(0x4194209c), SkBits2Float(0x42913f11), SkBits2Float(0x4220bdeb));
  3400. path.cubicTo(SkBits2Float(0x427287b0), SkBits2Float(0x42776b87), SkBits2Float(0x421e5dc6), SkBits2Float(0x429a1372), SkBits2Float(0x4173f4a4), SkBits2Float(0x42a32ccd));
  3401. path.lineTo(SkBits2Float(0x41305a7f), SkBits2Float(0x426bea6b));
  3402. path.cubicTo(SkBits2Float(0x41e4f69e), SkBits2Float(0x425ec2af), SkBits2Float(0x422f52ad), SkBits2Float(0x4232db9e), SkBits2Float(0x4251feaa), SkBits2Float(0x41e865df));
  3403. path.cubicTo(SkBits2Float(0x4274aaa7), SkBits2Float(0x41562902), SkBits2Float(0x42798bdd), SkBits2Float(0xc0aaa09a), SkBits2Float(0x425f4d1d), SkBits2Float(0xc1afea60));
  3404. path.lineTo(SkBits2Float(0x429a7334), SkBits2Float(0xc1f3598d));
  3405. path.close();
  3406. SkPath path2(path);
  3407. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3408. }
  3409. // op end success 1
  3410. static void battleOp144(skiatest::Reporter* reporter, const char* filename) {
  3411. SkPath path;
  3412. path.setFillType((SkPath::FillType) 0);
  3413. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3414. path.cubicTo(SkBits2Float(0x42079c39), SkBits2Float(0xc2a60000), SkBits2Float(0x4280cb64), SkBits2Float(0xc279860f), SkBits2Float(0x429a0d79), SkBits2Float(0xc1f758df));
  3415. path.lineTo(SkBits2Float(0x425eba08), SkBits2Float(0xc1b2ce1f));
  3416. path.cubicTo(SkBits2Float(0x423a357b), SkBits2Float(0xc23460ea), SkBits2Float(0x41c41023), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  3417. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3418. path.close();
  3419. SkPath path1(path);
  3420. path.reset();
  3421. path.setFillType((SkPath::FillType) 0);
  3422. path.moveTo(SkBits2Float(0x429a0d79), SkBits2Float(0xc1f758de));
  3423. path.cubicTo(SkBits2Float(0x429c811b), SkBits2Float(0xc1deea6e), SkBits2Float(0x429e9731), SkBits2Float(0xc1c5ec3a), SkBits2Float(0x42a04ce7), SkBits2Float(0xc1ac8024));
  3424. path.lineTo(SkBits2Float(0x4267c277), SkBits2Float(0xc17965fc));
  3425. path.cubicTo(SkBits2Float(0x426549a1), SkBits2Float(0xc18f13a3), SkBits2Float(0x42624575), SkBits2Float(0xc1a124d8), SkBits2Float(0x425eba09), SkBits2Float(0xc1b2ce1e));
  3426. path.lineTo(SkBits2Float(0x429a0d79), SkBits2Float(0xc1f758de));
  3427. path.close();
  3428. SkPath path2(path);
  3429. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3430. }
  3431. // op end success 1
  3432. static void battleOp145(skiatest::Reporter* reporter, const char* filename) {
  3433. SkPath path;
  3434. path.setFillType((SkPath::FillType) 1);
  3435. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3436. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3437. path.cubicTo(SkBits2Float(0x42079c39), SkBits2Float(0xc2a60000), SkBits2Float(0x4280cb64), SkBits2Float(0xc279860f), SkBits2Float(0x429a0d79), SkBits2Float(0xc1f758df));
  3438. path.lineTo(SkBits2Float(0x42a04ce7), SkBits2Float(0xc1ac8024));
  3439. path.lineTo(SkBits2Float(0x4267c277), SkBits2Float(0xc17965fc));
  3440. path.cubicTo(SkBits2Float(0x426549a1), SkBits2Float(0xc18f13a3), SkBits2Float(0x42624575), SkBits2Float(0xc1a124d8), SkBits2Float(0x425eba09), SkBits2Float(0xc1b2ce1e));
  3441. path.lineTo(SkBits2Float(0x425eba08), SkBits2Float(0xc1b2ce1f));
  3442. path.cubicTo(SkBits2Float(0x423a357b), SkBits2Float(0xc23460ea), SkBits2Float(0x41c41023), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3443. path.close();
  3444. SkPath path1(path);
  3445. path.reset();
  3446. path.setFillType((SkPath::FillType) 0);
  3447. path.moveTo(SkBits2Float(0x42a04ce8), SkBits2Float(0xc1ac8024));
  3448. path.cubicTo(SkBits2Float(0x42ae6ca1), SkBits2Float(0x4095ff41), SkBits2Float(0x42a1f1fa), SkBits2Float(0x4202ed54), SkBits2Float(0x427dc9de), SkBits2Float(0x42560b98));
  3449. path.cubicTo(SkBits2Float(0x4237afc7), SkBits2Float(0x429494ee), SkBits2Float(0x419aa752), SkBits2Float(0x42aa57e8), SkBits2Float(0xc0f777b3), SkBits2Float(0x42a54724));
  3450. path.lineTo(SkBits2Float(0xc0b2e472), SkBits2Float(0x426ef4bb));
  3451. path.cubicTo(SkBits2Float(0x415f9870), SkBits2Float(0x42764794), SkBits2Float(0x4204c916), SkBits2Float(0x4256d126), SkBits2Float(0x4237762a), SkBits2Float(0x421abb46));
  3452. path.cubicTo(SkBits2Float(0x426a233f), SkBits2Float(0x41bd4acb), SkBits2Float(0x427c2e04), SkBits2Float(0x4058dcfe), SkBits2Float(0x4267c279), SkBits2Float(0xc17965fc));
  3453. path.lineTo(SkBits2Float(0x42a04ce8), SkBits2Float(0xc1ac8024));
  3454. path.close();
  3455. SkPath path2(path);
  3456. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3457. }
  3458. // op end success 1
  3459. static void battleOp146(skiatest::Reporter* reporter, const char* filename) {
  3460. SkPath path;
  3461. path.setFillType((SkPath::FillType) 0);
  3462. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3463. path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1b54986));
  3464. path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  3465. path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  3466. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3467. path.close();
  3468. SkPath path1(path);
  3469. path.reset();
  3470. path.setFillType((SkPath::FillType) 0);
  3471. path.moveTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  3472. path.cubicTo(SkBits2Float(0x42a1a632), SkBits2Float(0xc199b837), SkBits2Float(0x42a3282f), SkBits2Float(0xc17b594e), SkBits2Float(0x42a43501), SkBits2Float(0xc142a7ba));
  3473. path.lineTo(SkBits2Float(0x426d6865), SkBits2Float(0xc10cb6f0));
  3474. path.cubicTo(SkBits2Float(0x426be3bc), SkBits2Float(0xc135b2ae), SkBits2Float(0x4269b5af), SkBits2Float(0xc15e3ec8), SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  3475. path.lineTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  3476. path.close();
  3477. SkPath path2(path);
  3478. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3479. }
  3480. // op end success 1
  3481. static void battleOp147(skiatest::Reporter* reporter, const char* filename) {
  3482. SkPath path;
  3483. path.setFillType((SkPath::FillType) 1);
  3484. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3485. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3486. path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a60000), SkBits2Float(0x428b6da4), SkBits2Float(0xc26973d8), SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  3487. path.lineTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54986));
  3488. path.cubicTo(SkBits2Float(0x42a1a632), SkBits2Float(0xc199b836), SkBits2Float(0x42a3282f), SkBits2Float(0xc17b594d), SkBits2Float(0x42a43501), SkBits2Float(0xc142a7ba));
  3489. path.lineTo(SkBits2Float(0x426d6865), SkBits2Float(0xc10cb6f0));
  3490. path.cubicTo(SkBits2Float(0x426be3bc), SkBits2Float(0xc135b2ae), SkBits2Float(0x4269b5af), SkBits2Float(0xc15e3ec8), SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  3491. path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3492. path.close();
  3493. SkPath path1(path);
  3494. path.reset();
  3495. path.setFillType((SkPath::FillType) 0);
  3496. path.moveTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb));
  3497. path.cubicTo(SkBits2Float(0x42ace9b0), SkBits2Float(0x4189ae79), SkBits2Float(0x429590d6), SkBits2Float(0x423ab1c1), SkBits2Float(0x424df762), SkBits2Float(0x428231a6));
  3498. path.cubicTo(SkBits2Float(0x41e19a31), SkBits2Float(0x42a70a69), SkBits2Float(0xc04a3289), SkBits2Float(0x42b03133), SkBits2Float(0xc1f5f36e), SkBits2Float(0x429a3139));
  3499. path.lineTo(SkBits2Float(0xc1b1cbb9), SkBits2Float(0x425eedb9));
  3500. path.cubicTo(SkBits2Float(0xc0122aac), SkBits2Float(0x427ebc5a), SkBits2Float(0x41a31606), SkBits2Float(0x42718130), SkBits2Float(0x4214e430), SkBits2Float(0x423c3b73));
  3501. path.cubicTo(SkBits2Float(0x42583d5c), SkBits2Float(0x4206f5b6), SkBits2Float(0x4279fe97), SkBits2Float(0x41470ec8), SkBits2Float(0x426d6866), SkBits2Float(0xc10cb6eb));
  3502. path.lineTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb));
  3503. path.close();
  3504. SkPath path2(path);
  3505. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3506. }
  3507. // op end success 1
  3508. static void battleOp148(skiatest::Reporter* reporter, const char* filename) {
  3509. SkPath path;
  3510. path.setFillType((SkPath::FillType) 0);
  3511. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3512. path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b53), SkBits2Float(0xc1639572));
  3513. path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484b9));
  3514. path.cubicTo(SkBits2Float(0x42587424), SkBits2Float(0xc21c154e), SkBits2Float(0x41e95c08), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3515. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3516. path.close();
  3517. SkPath path1(path);
  3518. path.reset();
  3519. path.setFillType((SkPath::FillType) 0);
  3520. path.moveTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
  3521. path.cubicTo(SkBits2Float(0x42a4def8), SkBits2Float(0xc1269090), SkBits2Float(0x42a5a99a), SkBits2Float(0xc0d1c16f), SkBits2Float(0x42a5e9be), SkBits2Float(0xc02be63c));
  3522. path.lineTo(SkBits2Float(0x426fdfd2), SkBits2Float(0xbff8877d));
  3523. path.cubicTo(SkBits2Float(0x426f8319), SkBits2Float(0xc097a16e), SkBits2Float(0x426e5e22), SkBits2Float(0xc0f0d105), SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba));
  3524. path.lineTo(SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
  3525. path.close();
  3526. SkPath path2(path);
  3527. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3528. }
  3529. // op end success 1
  3530. static void battleOp149(skiatest::Reporter* reporter, const char* filename) {
  3531. SkPath path;
  3532. path.setFillType((SkPath::FillType) 1);
  3533. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3534. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3535. path.cubicTo(SkBits2Float(0x42216831), SkBits2Float(0xc2a60000), SkBits2Float(0x4295b6bc), SkBits2Float(0xc257ea44), SkBits2Float(0x42a38b52), SkBits2Float(0xc1639578));
  3536. path.lineTo(SkBits2Float(0x426c7311), SkBits2Float(0xc12484ba));
  3537. path.cubicTo(SkBits2Float(0x42587424), SkBits2Float(0xc21c154e), SkBits2Float(0x41e95c08), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3538. path.close();
  3539. SkPath path1(path);
  3540. path.reset();
  3541. path.setFillType((SkPath::FillType) 0);
  3542. path.moveTo(SkBits2Float(0x42a5e9be), SkBits2Float(0xc02be63f));
  3543. path.cubicTo(SkBits2Float(0x42a7ff8e), SkBits2Float(0x41ec1faa), SkBits2Float(0x42849fff), SkBits2Float(0x426da4e1), SkBits2Float(0x4216595b), SkBits2Float(0x429400af));
  3544. path.cubicTo(SkBits2Float(0x410dcade), SkBits2Float(0x42b12eec), SkBits2Float(0xc1cdb135), SkBits2Float(0x42aa7b1c), SkBits2Float(0xc24c6646), SkBits2Float(0x4282cf52));
  3545. path.lineTo(SkBits2Float(0xc213c238), SkBits2Float(0x423d1f66));
  3546. path.cubicTo(SkBits2Float(0xc194b176), SkBits2Float(0x42767a79), SkBits2Float(0x40cd0045), SkBits2Float(0x42801597), SkBits2Float(0x41d95f44), SkBits2Float(0x4255fad4));
  3547. path.cubicTo(SkBits2Float(0x423fbf3c), SkBits2Float(0x422bca7a), SkBits2Float(0x4272e39a), SkBits2Float(0x41aab11f), SkBits2Float(0x426fdfd3), SkBits2Float(0xbff88758));
  3548. path.lineTo(SkBits2Float(0x42a5e9be), SkBits2Float(0xc02be63f));
  3549. path.close();
  3550. SkPath path2(path);
  3551. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3552. }
  3553. // op end success 1
  3554. static void battleOp150(skiatest::Reporter* reporter, const char* filename) {
  3555. SkPath path;
  3556. path.setFillType((SkPath::FillType) 0);
  3557. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3558. path.cubicTo(SkBits2Float(0x422dab0f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x429efeec), SkBits2Float(0xc2462810), SkBits2Float(0x42a58789), SkBits2Float(0xc0c7d837));
  3559. path.lineTo(SkBits2Float(0x426f51d5), SkBits2Float(0xc0907750));
  3560. path.cubicTo(SkBits2Float(0x4265df9a), SkBits2Float(0xc20f3ee4), SkBits2Float(0x41fb162c), SkBits2Float(0xc26ffffe), SkBits2Float(0x3637fea5), SkBits2Float(0xc26fffff));
  3561. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3562. path.close();
  3563. SkPath path1(path);
  3564. path.reset();
  3565. path.setFillType((SkPath::FillType) 0);
  3566. path.moveTo(SkBits2Float(0x42a58789), SkBits2Float(0xc0c7d840));
  3567. path.cubicTo(SkBits2Float(0x42a626ff), SkBits2Float(0xc0078454), SkBits2Float(0x42a62824), SkBits2Float(0x4001c6d5), SkBits2Float(0x42a58af5), SkBits2Float(0x40c4fc3c));
  3568. path.lineTo(SkBits2Float(0x426f56ca), SkBits2Float(0x408e6626));
  3569. path.cubicTo(SkBits2Float(0x42703a0b), SkBits2Float(0x3fbba106), SkBits2Float(0x42703864), SkBits2Float(0xbfc3ed93), SkBits2Float(0x426f51d4), SkBits2Float(0xc090774f));
  3570. path.lineTo(SkBits2Float(0x42a58789), SkBits2Float(0xc0c7d840));
  3571. path.close();
  3572. SkPath path2(path);
  3573. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3574. }
  3575. // op end success 1
  3576. static void battleOp151(skiatest::Reporter* reporter, const char* filename) {
  3577. SkPath path;
  3578. path.setFillType((SkPath::FillType) 1);
  3579. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc26fffff));
  3580. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3581. path.cubicTo(SkBits2Float(0x422dab0f), SkBits2Float(0xc2a60000), SkBits2Float(0x429efeec), SkBits2Float(0xc2462811), SkBits2Float(0x42a58789), SkBits2Float(0xc0c7d840));
  3582. path.lineTo(SkBits2Float(0x42a58789), SkBits2Float(0xc0c7d837));
  3583. path.cubicTo(SkBits2Float(0x42a626ff), SkBits2Float(0xc0078448), SkBits2Float(0x42a62824), SkBits2Float(0x4001c6db), SkBits2Float(0x42a58af5), SkBits2Float(0x40c4fc3c));
  3584. path.lineTo(SkBits2Float(0x426f56ca), SkBits2Float(0x408e6626));
  3585. path.cubicTo(SkBits2Float(0x42703a0b), SkBits2Float(0x3fbba106), SkBits2Float(0x42703864), SkBits2Float(0xbfc3ed93), SkBits2Float(0x426f51d4), SkBits2Float(0xc090774f));
  3586. path.lineTo(SkBits2Float(0x426f51d5), SkBits2Float(0xc0907750));
  3587. path.cubicTo(SkBits2Float(0x4265df9a), SkBits2Float(0xc20f3ee4), SkBits2Float(0x41fb162c), SkBits2Float(0xc26ffffe), SkBits2Float(0x3637fea5), SkBits2Float(0xc26fffff));
  3588. path.close();
  3589. SkPath path1(path);
  3590. path.reset();
  3591. path.setFillType((SkPath::FillType) 0);
  3592. path.moveTo(SkBits2Float(0x42a58af6), SkBits2Float(0x40c4fc3d));
  3593. path.cubicTo(SkBits2Float(0x42a06986), SkBits2Float(0x422298c3), SkBits2Float(0x42621341), SkBits2Float(0x428bdf10), SkBits2Float(0x41ba9762), SkBits2Float(0x429f4f99));
  3594. path.cubicTo(SkBits2Float(0xc11def80), SkBits2Float(0x42b2c022), SkBits2Float(0xc236745f), SkBits2Float(0x429afb1c), SkBits2Float(0xc284c1e2), SkBits2Float(0x4247504a));
  3595. path.lineTo(SkBits2Float(0xc23ff038), SkBits2Float(0x42101509));
  3596. path.cubicTo(SkBits2Float(0xc203e517), SkBits2Float(0x4260119e), SkBits2Float(0xc0e45731), SkBits2Float(0x428137a0), SkBits2Float(0x4186e2a5), SkBits2Float(0x42665443));
  3597. path.cubicTo(SkBits2Float(0x42236d8c), SkBits2Float(0x424a3945), SkBits2Float(0x4267ebda), SkBits2Float(0x41eb1462), SkBits2Float(0x426f56cb), SkBits2Float(0x408e661a));
  3598. path.lineTo(SkBits2Float(0x42a58af6), SkBits2Float(0x40c4fc3d));
  3599. path.close();
  3600. SkPath path2(path);
  3601. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3602. }
  3603. // op end success 1
  3604. static void battleOp152(skiatest::Reporter* reporter, const char* filename) {
  3605. SkPath path;
  3606. path.setFillType((SkPath::FillType) 0);
  3607. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3608. path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc269a7f3));
  3609. path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f4744a4));
  3610. path.lineTo(SkBits2Float(0x426ffd4c), SkBits2Float(0x3f100c99));
  3611. path.cubicTo(SkBits2Float(0x4270970c), SkBits2Float(0xc177275d), SkBits2Float(0x4257923d), SkBits2Float(0xc1f6d2bd), SkBits2Float(0x422a7fe2), SkBits2Float(0xc228e872));
  3612. path.cubicTo(SkBits2Float(0x41fadb0b), SkBits2Float(0xc2566785), SkBits2Float(0x41801584), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3613. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3614. path.close();
  3615. SkPath path1(path);
  3616. path.reset();
  3617. path.setFillType((SkPath::FillType) 0);
  3618. path.moveTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
  3619. path.cubicTo(SkBits2Float(0x42a5e921), SkBits2Float(0x40a4df91), SkBits2Float(0x42a52322), SkBits2Float(0x411841f7), SkBits2Float(0x42a3adfe), SkBits2Float(0x415d43d0));
  3620. path.lineTo(SkBits2Float(0x426ca531), SkBits2Float(0x411ff355));
  3621. path.cubicTo(SkBits2Float(0x426ec0ad), SkBits2Float(0x40dc21ae), SkBits2Float(0x426fdeef), SkBits2Float(0x406e5efe), SkBits2Float(0x426ffd4d), SkBits2Float(0x3f100c9b));
  3622. path.lineTo(SkBits2Float(0x42a5fe22), SkBits2Float(0x3f4744a1));
  3623. path.close();
  3624. SkPath path2(path);
  3625. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3626. }
  3627. // op end success 1
  3628. static void battleOp153(skiatest::Reporter* reporter, const char* filename) {
  3629. SkPath path;
  3630. path.setFillType((SkPath::FillType) 1);
  3631. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3632. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3633. path.cubicTo(SkBits2Float(0x41b12ed4), SkBits2Float(0xc2a60000), SkBits2Float(0x422d822c), SkBits2Float(0xc2944bde), SkBits2Float(0x426bdb91), SkBits2Float(0xc269a7f3));
  3634. path.cubicTo(SkBits2Float(0x42951a7b), SkBits2Float(0xc22ab829), SkBits2Float(0x42a66879), SkBits2Float(0xc1aaf2b1), SkBits2Float(0x42a5fe21), SkBits2Float(0x3f4744a0));
  3635. path.lineTo(SkBits2Float(0x426ffd4c), SkBits2Float(0x3f100c99));
  3636. path.cubicTo(SkBits2Float(0x4270970c), SkBits2Float(0xc177275d), SkBits2Float(0x4257923d), SkBits2Float(0xc1f6d2bd), SkBits2Float(0x422a7fe2), SkBits2Float(0xc228e872));
  3637. path.cubicTo(SkBits2Float(0x41fadb0b), SkBits2Float(0xc2566785), SkBits2Float(0x41801584), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3638. path.close();
  3639. SkPath path1(path);
  3640. path.reset();
  3641. path.setFillType((SkPath::FillType) 0);
  3642. path.moveTo(SkBits2Float(0x42a3adfe), SkBits2Float(0x415d43d0));
  3643. path.cubicTo(SkBits2Float(0x42977493), SkBits2Float(0x42480062), SkBits2Float(0x423a617c), SkBits2Float(0x429bbd03), SkBits2Float(0x4123044a), SkBits2Float(0x42a4be9a));
  3644. path.cubicTo(SkBits2Float(0xc1d1beaf), SkBits2Float(0x42adc030), SkBits2Float(0xc2750d30), SkBits2Float(0x4285e3a3), SkBits2Float(0xc2980208), SkBits2Float(0x42056911));
  3645. path.lineTo(SkBits2Float(0xc25bc541), SkBits2Float(0x41c0e1ed));
  3646. path.cubicTo(SkBits2Float(0xc231254e), SkBits2Float(0x42419328), SkBits2Float(0xc1979f72), SkBits2Float(0x427b34be), SkBits2Float(0x40ebafde), SkBits2Float(0x426e2f5c));
  3647. path.cubicTo(SkBits2Float(0x4206bbb1), SkBits2Float(0x426129fa), SkBits2Float(0x425af8c2), SkBits2Float(0x42109457), SkBits2Float(0x426ca533), SkBits2Float(0x411ff35b));
  3648. path.lineTo(SkBits2Float(0x42a3adfe), SkBits2Float(0x415d43d0));
  3649. path.close();
  3650. SkPath path2(path);
  3651. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3652. }
  3653. // op end success 1
  3654. static void battleOp154(skiatest::Reporter* reporter, const char* filename) {
  3655. SkPath path;
  3656. path.setFillType((SkPath::FillType) 0);
  3657. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3658. path.cubicTo(SkBits2Float(0x41bb5603), SkBits2Float(0xc2a60000), SkBits2Float(0x4236fa4e), SkBits2Float(0xc2923760), SkBits2Float(0x4275e892), SkBits2Float(0xc25f0dc8));
  3659. path.cubicTo(SkBits2Float(0x429a6b6b), SkBits2Float(0xc219acd0), SkBits2Float(0x42a9c473), SkBits2Float(0xc173c3a6), SkBits2Float(0x42a5369d), SkBits2Float(0x410121d8));
  3660. path.lineTo(SkBits2Float(0x426edcd8), SkBits2Float(0x40bab276));
  3661. path.cubicTo(SkBits2Float(0x42757264), SkBits2Float(0xc1303715), SkBits2Float(0x425f41dd), SkBits2Float(0xc1de2e4a), SkBits2Float(0x4231c3e2), SkBits2Float(0xc2213e66));
  3662. path.cubicTo(SkBits2Float(0x420445e8), SkBits2Float(0xc25365a8), SkBits2Float(0x41876c72), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3663. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3664. path.close();
  3665. SkPath path1(path);
  3666. path.reset();
  3667. path.setFillType((SkPath::FillType) 0);
  3668. path.moveTo(SkBits2Float(0x42a5369e), SkBits2Float(0x410121d6));
  3669. path.cubicTo(SkBits2Float(0x42a450b5), SkBits2Float(0x414aab85), SkBits2Float(0x42a2a6cd), SkBits2Float(0x4189bd6e), SkBits2Float(0x42a03d57), SkBits2Float(0x41ad66e6));
  3670. path.lineTo(SkBits2Float(0x4267abf7), SkBits2Float(0x417ab39f));
  3671. path.cubicTo(SkBits2Float(0x426b28ae), SkBits2Float(0x41472463), SkBits2Float(0x426d9071), SkBits2Float(0x41128229), SkBits2Float(0x426edcd8), SkBits2Float(0x40bab277));
  3672. path.lineTo(SkBits2Float(0x42a5369e), SkBits2Float(0x410121d6));
  3673. path.close();
  3674. SkPath path2(path);
  3675. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3676. }
  3677. // op end success 1
  3678. static void battleOp155(skiatest::Reporter* reporter, const char* filename) {
  3679. SkPath path;
  3680. path.setFillType((SkPath::FillType) 1);
  3681. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3682. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3683. path.cubicTo(SkBits2Float(0x41bb5603), SkBits2Float(0xc2a60000), SkBits2Float(0x4236fa4e), SkBits2Float(0xc2923760), SkBits2Float(0x4275e892), SkBits2Float(0xc25f0dc8));
  3684. path.cubicTo(SkBits2Float(0x429a6b6b), SkBits2Float(0xc219acd0), SkBits2Float(0x42a9c473), SkBits2Float(0xc173c3a8), SkBits2Float(0x42a5369d), SkBits2Float(0x410121d5));
  3685. path.lineTo(SkBits2Float(0x42a5369e), SkBits2Float(0x410121d6));
  3686. path.cubicTo(SkBits2Float(0x42a450b5), SkBits2Float(0x414aab85), SkBits2Float(0x42a2a6cd), SkBits2Float(0x4189bd6e), SkBits2Float(0x42a03d57), SkBits2Float(0x41ad66e6));
  3687. path.lineTo(SkBits2Float(0x4267abf7), SkBits2Float(0x417ab39f));
  3688. path.cubicTo(SkBits2Float(0x426b28ae), SkBits2Float(0x41472463), SkBits2Float(0x426d9071), SkBits2Float(0x41128229), SkBits2Float(0x426edcd8), SkBits2Float(0x40bab276));
  3689. path.cubicTo(SkBits2Float(0x42757264), SkBits2Float(0xc1303715), SkBits2Float(0x425f41dd), SkBits2Float(0xc1de2e4a), SkBits2Float(0x4231c3e2), SkBits2Float(0xc2213e66));
  3690. path.cubicTo(SkBits2Float(0x420445e8), SkBits2Float(0xc25365a8), SkBits2Float(0x41876c72), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3691. path.close();
  3692. SkPath path1(path);
  3693. path.reset();
  3694. path.setFillType((SkPath::FillType) 0);
  3695. path.moveTo(SkBits2Float(0x42a03d58), SkBits2Float(0x41ad66e7));
  3696. path.cubicTo(SkBits2Float(0x428bedd4), SkBits2Float(0x426cda0a), SkBits2Float(0x420c6f35), SkBits2Float(0x42a955c4), SkBits2Float(0xc06f4c79), SkBits2Float(0x42a5d4d6));
  3697. path.cubicTo(SkBits2Float(0xc22a58c2), SkBits2Float(0x42a253e8), SkBits2Float(0xc2960525), SkBits2Float(0x4252b394), SkBits2Float(0xc2a37db3), SkBits2Float(0x41660422));
  3698. path.lineTo(SkBits2Float(0xc26c5f63), SkBits2Float(0x412646cf));
  3699. path.cubicTo(SkBits2Float(0xc258e58a), SkBits2Float(0x4218507a), SkBits2Float(0xc1f648da), SkBits2Float(0x426ab0dc), SkBits2Float(0xc02cfcc3), SkBits2Float(0x426fc1a0));
  3700. path.cubicTo(SkBits2Float(0x41cb09aa), SkBits2Float(0x4274d265), SkBits2Float(0x424a4e9e), SkBits2Float(0x422b37da), SkBits2Float(0x4267abf8), SkBits2Float(0x417ab398));
  3701. path.lineTo(SkBits2Float(0x42a03d58), SkBits2Float(0x41ad66e7));
  3702. path.close();
  3703. SkPath path2(path);
  3704. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3705. }
  3706. // op end success 1
  3707. static void battleOp156(skiatest::Reporter* reporter, const char* filename) {
  3708. SkPath path;
  3709. path.setFillType((SkPath::FillType) 0);
  3710. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3711. path.cubicTo(SkBits2Float(0x41c3ae1a), SkBits2Float(0xc2a60000), SkBits2Float(0x423eb2d3), SkBits2Float(0xc2906c00), SkBits2Float(0x427dc7c2), SkBits2Float(0xc2560e13));
  3712. path.cubicTo(SkBits2Float(0x429e6e58), SkBits2Float(0xc20b4426), SkBits2Float(0x42abdf2b), SkBits2Float(0xc121d7a7), SkBits2Float(0x42a39f93), SkBits2Float(0x415fea21));
  3713. path.lineTo(SkBits2Float(0x426c905a), SkBits2Float(0x4121ddae));
  3714. path.cubicTo(SkBits2Float(0x42787d42), SkBits2Float(0xc0e9fd34), SkBits2Float(0x42650e94), SkBits2Float(0xc1c95949), SkBits2Float(0x423774a6), SkBits2Float(0xc21abd13));
  3715. path.cubicTo(SkBits2Float(0x4209dab9), SkBits2Float(0xc250cd81), SkBits2Float(0x418d749b), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3716. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3717. path.close();
  3718. SkPath path1(path);
  3719. path.reset();
  3720. path.setFillType((SkPath::FillType) 0);
  3721. path.moveTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea20));
  3722. path.cubicTo(SkBits2Float(0x42a1ffad), SkBits2Float(0x4195f252), SkBits2Float(0x429f8ce1), SkBits2Float(0x41bb4c45), SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969a));
  3723. path.lineTo(SkBits2Float(0x4261fbff), SkBits2Float(0x41a1a14e));
  3724. path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x4121ddaf));
  3725. path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea20));
  3726. path.close();
  3727. SkPath path2(path);
  3728. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3729. }
  3730. // op end success 1
  3731. static void battleOp157(skiatest::Reporter* reporter, const char* filename) {
  3732. SkPath path;
  3733. path.setFillType((SkPath::FillType) 1);
  3734. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3735. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3736. path.cubicTo(SkBits2Float(0x41c3ae1a), SkBits2Float(0xc2a60000), SkBits2Float(0x423eb2d3), SkBits2Float(0xc2906c00), SkBits2Float(0x427dc7c2), SkBits2Float(0xc2560e13));
  3737. path.cubicTo(SkBits2Float(0x429e6e58), SkBits2Float(0xc20b4426), SkBits2Float(0x42abdf2b), SkBits2Float(0xc121d7a8), SkBits2Float(0x42a39f93), SkBits2Float(0x415fea20));
  3738. path.lineTo(SkBits2Float(0x42a39f93), SkBits2Float(0x415fea21));
  3739. path.cubicTo(SkBits2Float(0x42a1ffad), SkBits2Float(0x4195f252), SkBits2Float(0x429f8ce1), SkBits2Float(0x41bb4c45), SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969a));
  3740. path.lineTo(SkBits2Float(0x4261fbff), SkBits2Float(0x41a1a14e));
  3741. path.cubicTo(SkBits2Float(0x4266acd9), SkBits2Float(0x41876566), SkBits2Float(0x426a370e), SkBits2Float(0x4158ca4c), SkBits2Float(0x426c905b), SkBits2Float(0x4121ddaf));
  3742. path.lineTo(SkBits2Float(0x426c905a), SkBits2Float(0x4121ddae));
  3743. path.cubicTo(SkBits2Float(0x42787d42), SkBits2Float(0xc0e9fd34), SkBits2Float(0x42650e94), SkBits2Float(0xc1c95949), SkBits2Float(0x423774a6), SkBits2Float(0xc21abd13));
  3744. path.cubicTo(SkBits2Float(0x4209dab9), SkBits2Float(0xc250cd81), SkBits2Float(0x418d749b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3745. path.close();
  3746. SkPath path1(path);
  3747. path.reset();
  3748. path.setFillType((SkPath::FillType) 0);
  3749. path.moveTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
  3750. path.cubicTo(SkBits2Float(0x4280e391), SkBits2Float(0x4284903f), SkBits2Float(0x41c7a851), SkBits2Float(0x42b2072e), SkBits2Float(0xc1713833), SkBits2Float(0x42a33d14));
  3751. path.cubicTo(SkBits2Float(0xc25c7040), SkBits2Float(0x429472fb), SkBits2Float(0xc2a7bda2), SkBits2Float(0x421b8b2e), SkBits2Float(0xc2a5f5d6), SkBits2Float(0xbfe85110));
  3752. path.lineTo(SkBits2Float(0xc26ff14f), SkBits2Float(0xbfa7f00b));
  3753. path.cubicTo(SkBits2Float(0xc272844c), SkBits2Float(0x41e0e1f3), SkBits2Float(0xc21f5a65), SkBits2Float(0x4256a019), SkBits2Float(0xc12e6015), SkBits2Float(0x426c01f9));
  3754. path.cubicTo(SkBits2Float(0x419054b7), SkBits2Float(0x4280b1ec), SkBits2Float(0x423a5877), SkBits2Float(0x423fa872), SkBits2Float(0x4261fc02), SkBits2Float(0x41a1a142));
  3755. path.lineTo(SkBits2Float(0x429c4e4c), SkBits2Float(0x41df969b));
  3756. path.close();
  3757. SkPath path2(path);
  3758. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3759. }
  3760. // op end success 1
  3761. static void battleOp158(skiatest::Reporter* reporter, const char* filename) {
  3762. SkPath path;
  3763. path.setFillType((SkPath::FillType) 0);
  3764. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3765. path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc24d8299));
  3766. path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x419b26cf));
  3767. path.lineTo(SkBits2Float(0x42695b36), SkBits2Float(0x416050ca));
  3768. path.cubicTo(SkBits2Float(0x427a88f8), SkBits2Float(0xc0767d2a), SkBits2Float(0x426a0074), SkBits2Float(0xc1b5a3f9), SkBits2Float(0x423c7e1d), SkBits2Float(0xc2148fc2));
  3769. path.cubicTo(SkBits2Float(0x420efbc6), SkBits2Float(0xc24e4d87), SkBits2Float(0x41930a0e), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  3770. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3771. path.close();
  3772. SkPath path1(path);
  3773. path.reset();
  3774. path.setFillType((SkPath::FillType) 0);
  3775. path.moveTo(SkBits2Float(0x42a1679f), SkBits2Float(0x419b26d0));
  3776. path.cubicTo(SkBits2Float(0x429f113c), SkBits2Float(0x41c20ede), SkBits2Float(0x429bdafe), SkBits2Float(0x41e80a2e), SkBits2Float(0x4297ceee), SkBits2Float(0x42065107));
  3777. path.lineTo(SkBits2Float(0x425b7b5f), SkBits2Float(0x41c2314a));
  3778. path.cubicTo(SkBits2Float(0x4261554b), SkBits2Float(0x41a7bd56), SkBits2Float(0x4265fa14), SkBits2Float(0x418c4870), SkBits2Float(0x42695b37), SkBits2Float(0x416050cb));
  3779. path.lineTo(SkBits2Float(0x42a1679f), SkBits2Float(0x419b26d0));
  3780. path.close();
  3781. SkPath path2(path);
  3782. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3783. }
  3784. // op end success 1
  3785. static void battleOp159(skiatest::Reporter* reporter, const char* filename) {
  3786. SkPath path;
  3787. path.setFillType((SkPath::FillType) 1);
  3788. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3789. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3790. path.cubicTo(SkBits2Float(0x41cb677f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4245cb36), SkBits2Float(0xc28eb15b), SkBits2Float(0x42825fc2), SkBits2Float(0xc24d8299));
  3791. path.cubicTo(SkBits2Float(0x42a1d9e8), SkBits2Float(0xc1fb44f8), SkBits2Float(0x42ad4967), SkBits2Float(0xc0aa7cf8), SkBits2Float(0x42a1679f), SkBits2Float(0x419b26d0));
  3792. path.cubicTo(SkBits2Float(0x429f113c), SkBits2Float(0x41c20ede), SkBits2Float(0x429bdafe), SkBits2Float(0x41e80a2e), SkBits2Float(0x4297ceee), SkBits2Float(0x42065107));
  3793. path.lineTo(SkBits2Float(0x425b7b5f), SkBits2Float(0x41c2314a));
  3794. path.cubicTo(SkBits2Float(0x4261554b), SkBits2Float(0x41a7bd56), SkBits2Float(0x4265fa14), SkBits2Float(0x418c4870), SkBits2Float(0x42695b36), SkBits2Float(0x416050ca));
  3795. path.cubicTo(SkBits2Float(0x427a88f8), SkBits2Float(0xc0767d2a), SkBits2Float(0x426a0074), SkBits2Float(0xc1b5a3f9), SkBits2Float(0x423c7e1d), SkBits2Float(0xc2148fc2));
  3796. path.cubicTo(SkBits2Float(0x420efbc6), SkBits2Float(0xc24e4d87), SkBits2Float(0x41930a0e), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  3797. path.close();
  3798. SkPath path1(path);
  3799. path.reset();
  3800. path.setFillType((SkPath::FillType) 0);
  3801. path.moveTo(SkBits2Float(0x4297ceef), SkBits2Float(0x42065107));
  3802. path.cubicTo(SkBits2Float(0x426afc81), SkBits2Float(0x4290b9e3), SkBits2Float(0x4171c53f), SkBits2Float(0x42b7f2c1), SkBits2Float(0xc1ca446b), SkBits2Float(0x429e1c54));
  3803. path.cubicTo(SkBits2Float(0xc2835add), SkBits2Float(0x428445e8), SkBits2Float(0xc2b3ab9e), SkBits2Float(0x41c6c009), SkBits2Float(0xc2a29b10), SkBits2Float(0xc18596e4));
  3804. path.lineTo(SkBits2Float(0xc26b17b4), SkBits2Float(0xc141242b));
  3805. path.cubicTo(SkBits2Float(0xc281e1de), SkBits2Float(0x418faccb), SkBits2Float(0xc23de932), SkBits2Float(0x423f3d09), SkBits2Float(0xc19237aa), SkBits2Float(0x42649810));
  3806. path.cubicTo(SkBits2Float(0x412ec628), SkBits2Float(0x4284f98c), SkBits2Float(0x4229deab), SkBits2Float(0x42513e23), SkBits2Float(0x425b7b62), SkBits2Float(0x41c23147));
  3807. path.lineTo(SkBits2Float(0x4297ceef), SkBits2Float(0x42065107));
  3808. path.close();
  3809. SkPath path2(path);
  3810. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3811. }
  3812. // op end success 1
  3813. static void battleOp160(skiatest::Reporter* reporter, const char* filename) {
  3814. SkPath path;
  3815. path.setFillType((SkPath::FillType) 0);
  3816. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3817. path.cubicTo(SkBits2Float(0x41d3ccce), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424d7252), SkBits2Float(0xc28cbd55), SkBits2Float(0x4285fbcc), SkBits2Float(0xc244010c));
  3818. path.cubicTo(SkBits2Float(0x42a53e6e), SkBits2Float(0xc1dd0edd), SkBits2Float(0x42ae3d82), SkBits2Float(0xbdb630d0), SkBits2Float(0x429e3366), SkBits2Float(0x41c92323));
  3819. path.lineTo(SkBits2Float(0x4264b95a), SkBits2Float(0x41916681));
  3820. path.cubicTo(SkBits2Float(0x427be9e4), SkBits2Float(0xbd83b620), SkBits2Float(0x426ee823), SkBits2Float(0xc19fcd11), SkBits2Float(0x4241b610), SkBits2Float(0xc20db091));
  3821. path.cubicTo(SkBits2Float(0x421483fd), SkBits2Float(0xc24b7a9a), SkBits2Float(0x41991bc1), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  3822. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3823. path.close();
  3824. SkPath path1(path);
  3825. path.reset();
  3826. path.setFillType((SkPath::FillType) 0);
  3827. path.moveTo(SkBits2Float(0x429e3367), SkBits2Float(0x41c92322));
  3828. path.cubicTo(SkBits2Float(0x429b0cbc), SkBits2Float(0x41f0ca9b), SkBits2Float(0x4296f94f), SkBits2Float(0x420b9629), SkBits2Float(0x429206e2), SkBits2Float(0x421de34f));
  3829. path.lineTo(SkBits2Float(0x42531f8a), SkBits2Float(0x41e4458f));
  3830. path.cubicTo(SkBits2Float(0x425a4685), SkBits2Float(0x41c9cfd9), SkBits2Float(0x42602b18), SkBits2Float(0x41ae10ed), SkBits2Float(0x4264b95a), SkBits2Float(0x41916682));
  3831. path.lineTo(SkBits2Float(0x429e3367), SkBits2Float(0x41c92322));
  3832. path.close();
  3833. SkPath path2(path);
  3834. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3835. }
  3836. // op end success 1
  3837. static void battleOp161(skiatest::Reporter* reporter, const char* filename) {
  3838. SkPath path;
  3839. path.setFillType((SkPath::FillType) 1);
  3840. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  3841. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3842. path.cubicTo(SkBits2Float(0x41d3ccce), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424d7252), SkBits2Float(0xc28cbd55), SkBits2Float(0x4285fbcc), SkBits2Float(0xc244010c));
  3843. path.cubicTo(SkBits2Float(0x42a53e6e), SkBits2Float(0xc1dd0edd), SkBits2Float(0x42ae3d82), SkBits2Float(0xbdb630d0), SkBits2Float(0x429e3367), SkBits2Float(0x41c92322));
  3844. path.cubicTo(SkBits2Float(0x429b0cbc), SkBits2Float(0x41f0ca9b), SkBits2Float(0x4296f94f), SkBits2Float(0x420b9629), SkBits2Float(0x429206e2), SkBits2Float(0x421de34f));
  3845. path.lineTo(SkBits2Float(0x42531f8a), SkBits2Float(0x41e4458f));
  3846. path.cubicTo(SkBits2Float(0x425a4685), SkBits2Float(0x41c9cfd9), SkBits2Float(0x42602b18), SkBits2Float(0x41ae10ed), SkBits2Float(0x4264b95a), SkBits2Float(0x41916681));
  3847. path.cubicTo(SkBits2Float(0x427be9e4), SkBits2Float(0xbd83b620), SkBits2Float(0x426ee823), SkBits2Float(0xc19fcd11), SkBits2Float(0x4241b610), SkBits2Float(0xc20db091));
  3848. path.cubicTo(SkBits2Float(0x421483fd), SkBits2Float(0xc24b7a9a), SkBits2Float(0x41991bc1), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  3849. path.close();
  3850. SkPath path1(path);
  3851. path.reset();
  3852. path.setFillType((SkPath::FillType) 0);
  3853. path.moveTo(SkBits2Float(0x429206e2), SkBits2Float(0x421de34f));
  3854. path.cubicTo(SkBits2Float(0x424fd7be), SkBits2Float(0x429cd433), SkBits2Float(0x40819da9), SkBits2Float(0x42bbf605), SkBits2Float(0xc20f7b98), SkBits2Float(0x4295b271));
  3855. path.cubicTo(SkBits2Float(0xc2979573), SkBits2Float(0x425eddba), SkBits2Float(0xc2bb57fe), SkBits2Float(0x4109ef62), SkBits2Float(0xc2990315), SkBits2Float(0xc200bcbb));
  3856. path.lineTo(SkBits2Float(0xc25d38e3), SkBits2Float(0xc1ba2048));
  3857. path.cubicTo(SkBits2Float(0xc2876de1), SkBits2Float(0x40c76c9c), SkBits2Float(0xc25b2842), SkBits2Float(0x42211baa), SkBits2Float(0xc1cf71e5), SkBits2Float(0x42586df1));
  3858. path.cubicTo(SkBits2Float(0x403b65b7), SkBits2Float(0x4287e01c), SkBits2Float(0x42163f6f), SkBits2Float(0x4262bd95), SkBits2Float(0x42531f8c), SkBits2Float(0x41e4458b));
  3859. path.lineTo(SkBits2Float(0x429206e2), SkBits2Float(0x421de34f));
  3860. path.close();
  3861. SkPath path2(path);
  3862. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3863. }
  3864. // op end success 1
  3865. static void battleOp162(skiatest::Reporter* reporter, const char* filename) {
  3866. SkPath path;
  3867. path.setFillType((SkPath::FillType) 0);
  3868. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3869. path.cubicTo(SkBits2Float(0x41da3d7f), SkBits2Float(0xc2a60000), SkBits2Float(0x425345ee), SkBits2Float(0xc28b3082), SkBits2Float(0x4288a01b), SkBits2Float(0xc23c9177));
  3870. path.cubicTo(SkBits2Float(0x42a79d3f), SkBits2Float(0xc1c583d9), SkBits2Float(0x42ae8eeb), SkBits2Float(0x407c6461), SkBits2Float(0x429b333a), SkBits2Float(0x41eb9731));
  3871. path.lineTo(SkBits2Float(0x426062bb), SkBits2Float(0x41aa4e75));
  3872. path.cubicTo(SkBits2Float(0x427c5f9a), SkBits2Float(0x403673d5), SkBits2Float(0x4272557b), SkBits2Float(0xc18ec82c), SkBits2Float(0x424587e0), SkBits2Float(0xc208507b));
  3873. path.cubicTo(SkBits2Float(0x4218ba46), SkBits2Float(0xc2493ce1), SkBits2Float(0x419dc399), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3874. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3875. path.close();
  3876. SkPath path1(path);
  3877. path.reset();
  3878. path.setFillType((SkPath::FillType) 0);
  3879. path.moveTo(SkBits2Float(0x429b3339), SkBits2Float(0x41eb9733));
  3880. path.cubicTo(SkBits2Float(0x429766b3), SkBits2Float(0x4209d0f3), SkBits2Float(0x4292a485), SkBits2Float(0x421d0e17), SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e33));
  3881. path.lineTo(SkBits2Float(0x424bd7ac), SkBits2Float(0x41fd5d06));
  3882. path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bc), SkBits2Float(0x41aa4e76));
  3883. path.lineTo(SkBits2Float(0x429b3339), SkBits2Float(0x41eb9733));
  3884. path.close();
  3885. SkPath path2(path);
  3886. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3887. }
  3888. // op end success 1
  3889. static void battleOp163(skiatest::Reporter* reporter, const char* filename) {
  3890. SkPath path;
  3891. path.setFillType((SkPath::FillType) 1);
  3892. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3893. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3894. path.cubicTo(SkBits2Float(0x41da3d7f), SkBits2Float(0xc2a60000), SkBits2Float(0x425345ee), SkBits2Float(0xc28b3082), SkBits2Float(0x4288a01b), SkBits2Float(0xc23c9177));
  3895. path.cubicTo(SkBits2Float(0x42a79d3f), SkBits2Float(0xc1c583d9), SkBits2Float(0x42ae8eeb), SkBits2Float(0x407c6461), SkBits2Float(0x429b3339), SkBits2Float(0x41eb9733));
  3896. path.cubicTo(SkBits2Float(0x429766b3), SkBits2Float(0x4209d0f3), SkBits2Float(0x4292a485), SkBits2Float(0x421d0e17), SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e33));
  3897. path.lineTo(SkBits2Float(0x424bd7ac), SkBits2Float(0x41fd5d06));
  3898. path.cubicTo(SkBits2Float(0x42540374), SkBits2Float(0x41e3114e), SkBits2Float(0x425ae4ae), SkBits2Float(0x41c7409b), SkBits2Float(0x426062bb), SkBits2Float(0x41aa4e75));
  3899. path.cubicTo(SkBits2Float(0x427c5f9a), SkBits2Float(0x403673d5), SkBits2Float(0x4272557b), SkBits2Float(0xc18ec82c), SkBits2Float(0x424587e0), SkBits2Float(0xc208507b));
  3900. path.cubicTo(SkBits2Float(0x4218ba46), SkBits2Float(0xc2493ce1), SkBits2Float(0x419dc399), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  3901. path.close();
  3902. SkPath path1(path);
  3903. path.reset();
  3904. path.setFillType((SkPath::FillType) 0);
  3905. path.moveTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
  3906. path.cubicTo(SkBits2Float(0x42397b9c), SkBits2Float(0x42a54202), SkBits2Float(0xc0931849), SkBits2Float(0x42bd474f), SkBits2Float(0xc22e0fe8), SkBits2Float(0x428d5ab7));
  3907. path.cubicTo(SkBits2Float(0xc2a4de63), SkBits2Float(0x423adc3f), SkBits2Float(0xc2bd50df), SkBits2Float(0xc08673c0), SkBits2Float(0xc28db7cd), SkBits2Float(0xc22ce1b4));
  3908. path.lineTo(SkBits2Float(0xc24ce4bb), SkBits2Float(0xc1f9f306));
  3909. path.cubicTo(SkBits2Float(0xc288db72), SkBits2Float(0xc0426216), SkBits2Float(0xc26e5ec8), SkBits2Float(0x42071590), SkBits2Float(0xc1fba9c9), SkBits2Float(0x424c5fa5));
  3910. path.cubicTo(SkBits2Float(0xc054b001), SkBits2Float(0x4288d4dc), SkBits2Float(0x420615fc), SkBits2Float(0x426eee67), SkBits2Float(0x424bd7af), SkBits2Float(0x41fd5d01));
  3911. path.lineTo(SkBits2Float(0x428cfdb5), SkBits2Float(0x422f3e36));
  3912. path.close();
  3913. SkPath path2(path);
  3914. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3915. }
  3916. // op end success 1
  3917. static void battleOp164(skiatest::Reporter* reporter, const char* filename) {
  3918. SkPath path;
  3919. path.setFillType((SkPath::FillType) 0);
  3920. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3921. path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2340753));
  3922. path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x4208c1d5));
  3923. path.lineTo(SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2));
  3924. path.cubicTo(SkBits2Float(0x427c44e4), SkBits2Float(0x40c4af5a), SkBits2Float(0x4275d9f7), SkBits2Float(0xc1769dba), SkBits2Float(0x4249a6c2), SkBits2Float(0xc2022424));
  3925. path.cubicTo(SkBits2Float(0x421d738b), SkBits2Float(0xc246a0db), SkBits2Float(0x41a305f1), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  3926. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3927. path.close();
  3928. SkPath path1(path);
  3929. path.reset();
  3930. path.setFillType((SkPath::FillType) 0);
  3931. path.moveTo(SkBits2Float(0x42974339), SkBits2Float(0x4208c1d6));
  3932. path.cubicTo(SkBits2Float(0x4292b5f8), SkBits2Float(0x421ce537), SkBits2Float(0x428d2a3f), SkBits2Float(0x42301305), SkBits2Float(0x4286b52e), SkBits2Float(0x4242022c));
  3933. path.lineTo(SkBits2Float(0x4242c218), SkBits2Float(0x420c3f43));
  3934. path.cubicTo(SkBits2Float(0x424c1813), SkBits2Float(0x41fe90b7), SkBits2Float(0x42541cae), SkBits2Float(0x41e2d634), SkBits2Float(0x425ab162), SkBits2Float(0x41c5b8a3));
  3935. path.lineTo(SkBits2Float(0x42974339), SkBits2Float(0x4208c1d6));
  3936. path.close();
  3937. SkPath path2(path);
  3938. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3939. }
  3940. // op end success 1
  3941. static void battleOp165(skiatest::Reporter* reporter, const char* filename) {
  3942. SkPath path;
  3943. path.setFillType((SkPath::FillType) 1);
  3944. path.moveTo(SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  3945. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  3946. path.cubicTo(SkBits2Float(0x41e183ec), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4259cec4), SkBits2Float(0xc2896274), SkBits2Float(0x428b79bc), SkBits2Float(0xc2340753));
  3947. path.cubicTo(SkBits2Float(0x42aa0c16), SkBits2Float(0xc1aa937d), SkBits2Float(0x42ae7c71), SkBits2Float(0x41080a55), SkBits2Float(0x42974339), SkBits2Float(0x4208c1d6));
  3948. path.cubicTo(SkBits2Float(0x4292b5f8), SkBits2Float(0x421ce537), SkBits2Float(0x428d2a3f), SkBits2Float(0x42301305), SkBits2Float(0x4286b52e), SkBits2Float(0x4242022c));
  3949. path.lineTo(SkBits2Float(0x4242c218), SkBits2Float(0x420c3f43));
  3950. path.cubicTo(SkBits2Float(0x424c1813), SkBits2Float(0x41fe90b7), SkBits2Float(0x42541cae), SkBits2Float(0x41e2d634), SkBits2Float(0x425ab161), SkBits2Float(0x41c5b8a2));
  3951. path.cubicTo(SkBits2Float(0x427c44e4), SkBits2Float(0x40c4af5a), SkBits2Float(0x4275d9f7), SkBits2Float(0xc1769dba), SkBits2Float(0x4249a6c2), SkBits2Float(0xc2022424));
  3952. path.cubicTo(SkBits2Float(0x421d738b), SkBits2Float(0xc246a0db), SkBits2Float(0x41a305f1), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  3953. path.close();
  3954. SkPath path1(path);
  3955. path.reset();
  3956. path.setFillType((SkPath::FillType) 0);
  3957. path.moveTo(SkBits2Float(0x4286b52e), SkBits2Float(0x4242022d));
  3958. path.cubicTo(SkBits2Float(0x4245f9c6), SkBits2Float(0x42929b97), SkBits2Float(0x419b96e9), SkBits2Float(0x42ac9135), SkBits2Float(0xc12da222), SkBits2Float(0x42a4933a));
  3959. path.cubicTo(SkBits2Float(0xc2249c85), SkBits2Float(0x429c9540), SkBits2Float(0xc2859c99), SkBits2Float(0x4267dd85), SkBits2Float(0xc29b4028), SkBits2Float(0x41eb0f05));
  3960. path.cubicTo(SkBits2Float(0xc2b0e3b8), SkBits2Float(0x3f4c608a), SkBits2Float(0xc2a55c16), SkBits2Float(0xc1fb5a07), SkBits2Float(0xc27a7a78), SkBits2Float(0xc259e8d8));
  3961. path.lineTo(SkBits2Float(0xc2351199), SkBits2Float(0xc21d8664));
  3962. path.cubicTo(SkBits2Float(0xc26f12eb), SkBits2Float(0xc1b5b32d), SkBits2Float(0xc27fbe43), SkBits2Float(0x3f13bb74), SkBits2Float(0xc2607541), SkBits2Float(0x41a9ebcd));
  3963. path.cubicTo(SkBits2Float(0xc2412c3e), SkBits2Float(0x42279ce1), SkBits2Float(0xc1edfdc7), SkBits2Float(0x4262625e), SkBits2Float(0xc0fb089d), SkBits2Float(0x426df06d));
  3964. path.cubicTo(SkBits2Float(0x4160f2f1), SkBits2Float(0x42797e7c), SkBits2Float(0x420f1d6a), SkBits2Float(0x4253f671), SkBits2Float(0x4242c21c), SkBits2Float(0x420c3f41));
  3965. path.lineTo(SkBits2Float(0x4286b52e), SkBits2Float(0x4242022d));
  3966. path.close();
  3967. SkPath path2(path);
  3968. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3969. }
  3970. // op end success 1
  3971. static void battleOp166(skiatest::Reporter* reporter, const char* filename) {
  3972. SkPath path;
  3973. path.setFillType((SkPath::FillType) 0);
  3974. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3975. path.cubicTo(SkBits2Float(0x41e5cd16), SkBits2Float(0xc2a60000), SkBits2Float(0x425da203), SkBits2Float(0xc2884b73), SkBits2Float(0x428d165b), SkBits2Float(0xc22eeec9));
  3976. path.cubicTo(SkBits2Float(0x42ab5bb4), SkBits2Float(0xc19a8d5b), SkBits2Float(0x42ae3add), SkBits2Float(0x4132f7c2), SkBits2Float(0x4294adf4), SkBits2Float(0x4213a75b));
  3977. path.lineTo(SkBits2Float(0x4256f554), SkBits2Float(0x41d579ab));
  3978. path.cubicTo(SkBits2Float(0x427be612), SkBits2Float(0x41015fcf), SkBits2Float(0x4277bf2e), SkBits2Float(0xc15f72f6), SkBits2Float(0x424bfb4d), SkBits2Float(0xc1fcea38));
  3979. path.cubicTo(SkBits2Float(0x4220376c), SkBits2Float(0xc2450d7a), SkBits2Float(0x41a61f08), SkBits2Float(0xc2700000), SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  3980. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  3981. path.close();
  3982. SkPath path1(path);
  3983. path.reset();
  3984. path.setFillType((SkPath::FillType) 0);
  3985. path.moveTo(SkBits2Float(0x4294adf4), SkBits2Float(0x4213a75b));
  3986. path.cubicTo(SkBits2Float(0x428facea), SkBits2Float(0x4227cf1b), SkBits2Float(0x4289a8e5), SkBits2Float(0x423ae500), SkBits2Float(0x4282b9a7), SkBits2Float(0x424c9dab));
  3987. path.lineTo(SkBits2Float(0x423d0015), SkBits2Float(0x4213ea45));
  3988. path.cubicTo(SkBits2Float(0x424706b3), SkBits2Float(0x42071ac0), SkBits2Float(0x424fb93a), SkBits2Float(0x41f29d8f), SkBits2Float(0x4256f555), SkBits2Float(0x41d579ac));
  3989. path.lineTo(SkBits2Float(0x4294adf4), SkBits2Float(0x4213a75b));
  3990. path.close();
  3991. SkPath path2(path);
  3992. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  3993. }
  3994. // op end success 1
  3995. static void battleOp167(skiatest::Reporter* reporter, const char* filename) {
  3996. SkPath path;
  3997. path.setFillType((SkPath::FillType) 1);
  3998. path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  3999. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4000. path.cubicTo(SkBits2Float(0x41e5cd16), SkBits2Float(0xc2a60000), SkBits2Float(0x425da203), SkBits2Float(0xc2884b73), SkBits2Float(0x428d165b), SkBits2Float(0xc22eeec9));
  4001. path.cubicTo(SkBits2Float(0x42ab5bb4), SkBits2Float(0xc19a8d5b), SkBits2Float(0x42ae3add), SkBits2Float(0x4132f7c2), SkBits2Float(0x4294adf4), SkBits2Float(0x4213a75b));
  4002. path.cubicTo(SkBits2Float(0x428facea), SkBits2Float(0x4227cf1b), SkBits2Float(0x4289a8e5), SkBits2Float(0x423ae500), SkBits2Float(0x4282b9a7), SkBits2Float(0x424c9dab));
  4003. path.lineTo(SkBits2Float(0x423d0015), SkBits2Float(0x4213ea45));
  4004. path.cubicTo(SkBits2Float(0x424706b3), SkBits2Float(0x42071ac0), SkBits2Float(0x424fb93a), SkBits2Float(0x41f29d8f), SkBits2Float(0x4256f554), SkBits2Float(0x41d579ab));
  4005. path.cubicTo(SkBits2Float(0x427be612), SkBits2Float(0x41015fcf), SkBits2Float(0x4277bf2e), SkBits2Float(0xc15f72f6), SkBits2Float(0x424bfb4d), SkBits2Float(0xc1fcea38));
  4006. path.cubicTo(SkBits2Float(0x4220376c), SkBits2Float(0xc2450d7a), SkBits2Float(0x41a61f08), SkBits2Float(0xc2700000), SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  4007. path.close();
  4008. SkPath path1(path);
  4009. path.reset();
  4010. path.setFillType((SkPath::FillType) 0);
  4011. path.moveTo(SkBits2Float(0x4282b9a8), SkBits2Float(0x424c9dac));
  4012. path.cubicTo(SkBits2Float(0x4238a98e), SkBits2Float(0x42975dcd), SkBits2Float(0x416d9db4), SkBits2Float(0x42aecc7f), SkBits2Float(0xc17bb856), SkBits2Float(0x42a2fd9a));
  4013. path.cubicTo(SkBits2Float(0xc2394396), SkBits2Float(0x42972eb6), SkBits2Float(0xc28e09e8), SkBits2Float(0x42543e5a), SkBits2Float(0xc29f69c3), SkBits2Float(0x41b9307a));
  4014. path.cubicTo(SkBits2Float(0xc2b0c99f), SkBits2Float(0xc0d86efe), SkBits2Float(0xc29f345f), SkBits2Float(0xc21c161b), SkBits2Float(0xc263c1d4), SkBits2Float(0xc2718f13));
  4015. path.lineTo(SkBits2Float(0xc224a4cd), SkBits2Float(0xc22e9eef));
  4016. path.cubicTo(SkBits2Float(0xc2662cd7), SkBits2Float(0xc1e1aab7), SkBits2Float(0xc27f98a3), SkBits2Float(0xc09c754c), SkBits2Float(0xc26679fe), SkBits2Float(0x4185df20));
  4017. path.cubicTo(SkBits2Float(0xc24d5b58), SkBits2Float(0x42196dcb), SkBits2Float(0xc205ecef), SkBits2Float(0x425a93a6), SkBits2Float(0xc135f72f), SkBits2Float(0x426ba619));
  4018. path.cubicTo(SkBits2Float(0x412bc560), SkBits2Float(0x427cb88a), SkBits2Float(0x42057da8), SkBits2Float(0x425ad7c5), SkBits2Float(0x423d0018), SkBits2Float(0x4213ea45));
  4019. path.lineTo(SkBits2Float(0x4282b9a8), SkBits2Float(0x424c9dac));
  4020. path.close();
  4021. SkPath path2(path);
  4022. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4023. }
  4024. // op end success 1
  4025. static void battleOp168(skiatest::Reporter* reporter, const char* filename) {
  4026. SkPath path;
  4027. path.setFillType((SkPath::FillType) 0);
  4028. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4029. path.cubicTo(SkBits2Float(0x41ea54b9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4261a7de), SkBits2Float(0xc2871f16), SkBits2Float(0x428ebc81), SkBits2Float(0xc2297f4d));
  4030. path.cubicTo(SkBits2Float(0x42aca513), SkBits2Float(0xc18980da), SkBits2Float(0x42adc9a4), SkBits2Float(0x41604127), SkBits2Float(0x4291be57), SkBits2Float(0x421eee87));
  4031. path.lineTo(SkBits2Float(0x4252b6a9), SkBits2Float(0x41e5c7e9));
  4032. path.cubicTo(SkBits2Float(0x427b4260), SkBits2Float(0x41221c9f), SkBits2Float(0x42799b62), SkBits2Float(0xc146ccc2), SkBits2Float(0x424e5da6), SkBits2Float(0xc1f50e65));
  4033. path.cubicTo(SkBits2Float(0x42231fea), SkBits2Float(0xc2435b34), SkBits2Float(0x41a9655c), SkBits2Float(0xc26ffffe), SkBits2Float(0x3725ffa9), SkBits2Float(0xc26fffff));
  4034. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4035. path.close();
  4036. SkPath path1(path);
  4037. path.reset();
  4038. path.setFillType((SkPath::FillType) 0);
  4039. path.moveTo(SkBits2Float(0x4291be57), SkBits2Float(0x421eee8a));
  4040. path.cubicTo(SkBits2Float(0x428c4169), SkBits2Float(0x42330feb), SkBits2Float(0x4285bd57), SkBits2Float(0x4246005c), SkBits2Float(0x427c99ac), SkBits2Float(0x4257723d));
  4041. path.lineTo(SkBits2Float(0x42369a46), SkBits2Float(0x421bbe89));
  4042. path.cubicTo(SkBits2Float(0x42415bc7), SkBits2Float(0x420f2230), SkBits2Float(0x424ac771), SkBits2Float(0x4201714b), SkBits2Float(0x4252b6a9), SkBits2Float(0x41e5c7e9));
  4043. path.lineTo(SkBits2Float(0x4291be57), SkBits2Float(0x421eee8a));
  4044. path.close();
  4045. SkPath path2(path);
  4046. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4047. }
  4048. // op end success 1
  4049. static void battleOp169(skiatest::Reporter* reporter, const char* filename) {
  4050. SkPath path;
  4051. path.setFillType((SkPath::FillType) 1);
  4052. path.moveTo(SkBits2Float(0x3725ffa9), SkBits2Float(0xc26fffff));
  4053. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4054. path.cubicTo(SkBits2Float(0x41ea54b9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4261a7de), SkBits2Float(0xc2871f16), SkBits2Float(0x428ebc81), SkBits2Float(0xc2297f4d));
  4055. path.cubicTo(SkBits2Float(0x42aca513), SkBits2Float(0xc18980da), SkBits2Float(0x42adc9a4), SkBits2Float(0x41604127), SkBits2Float(0x4291be57), SkBits2Float(0x421eee8a));
  4056. path.cubicTo(SkBits2Float(0x428c4169), SkBits2Float(0x42330feb), SkBits2Float(0x4285bd57), SkBits2Float(0x4246005c), SkBits2Float(0x427c99ac), SkBits2Float(0x4257723d));
  4057. path.lineTo(SkBits2Float(0x42369a46), SkBits2Float(0x421bbe89));
  4058. path.cubicTo(SkBits2Float(0x42415bc7), SkBits2Float(0x420f2230), SkBits2Float(0x424ac771), SkBits2Float(0x4201714b), SkBits2Float(0x4252b6a9), SkBits2Float(0x41e5c7e9));
  4059. path.cubicTo(SkBits2Float(0x427b4260), SkBits2Float(0x41221c9f), SkBits2Float(0x42799b62), SkBits2Float(0xc146ccc2), SkBits2Float(0x424e5da6), SkBits2Float(0xc1f50e65));
  4060. path.cubicTo(SkBits2Float(0x42231fea), SkBits2Float(0xc2435b34), SkBits2Float(0x41a9655c), SkBits2Float(0xc26ffffe), SkBits2Float(0x3725ffa9), SkBits2Float(0xc26fffff));
  4061. path.close();
  4062. SkPath path1(path);
  4063. path.reset();
  4064. path.setFillType((SkPath::FillType) 0);
  4065. path.moveTo(SkBits2Float(0x427c99ad), SkBits2Float(0x4257723e));
  4066. path.cubicTo(SkBits2Float(0x422a2459), SkBits2Float(0x429c0ff6), SkBits2Float(0x411ef0c1), SkBits2Float(0x42b0a109), SkBits2Float(0xc1a68a7f), SkBits2Float(0x42a0b1a2));
  4067. path.cubicTo(SkBits2Float(0xc24e46af), SkBits2Float(0x4290c23b), SkBits2Float(0xc296269a), SkBits2Float(0x423e3c04), SkBits2Float(0xc2a2b82b), SkBits2Float(0x41835b51));
  4068. path.cubicTo(SkBits2Float(0xc2af49bc), SkBits2Float(0xc16b82d9), SkBits2Float(0xc2973524), SkBits2Float(0xc23adb29), SkBits2Float(0xc24965c6), SkBits2Float(0xc283f801));
  4069. path.lineTo(SkBits2Float(0xc21196ae), SkBits2Float(0xc23ecc58));
  4070. path.cubicTo(SkBits2Float(0xc25a9cfe), SkBits2Float(0xc20713a1), SkBits2Float(0xc27d6da1), SkBits2Float(0xc12a3fcc), SkBits2Float(0xc26b41bb), SkBits2Float(0x413de9a9));
  4071. path.cubicTo(SkBits2Float(0xc25915d3), SkBits2Float(0x420984c8), SkBits2Float(0xc2151d75), SkBits2Float(0x42514a1b), SkBits2Float(0xc170c819), SkBits2Float(0x4268540a));
  4072. path.cubicTo(SkBits2Float(0x40e5cb46), SkBits2Float(0x427f5dfa), SkBits2Float(0x41f5fd0c), SkBits2Float(0x4261a1d8), SkBits2Float(0x42369a4a), SkBits2Float(0x421bbe87));
  4073. path.lineTo(SkBits2Float(0x427c99ad), SkBits2Float(0x4257723e));
  4074. path.close();
  4075. SkPath path2(path);
  4076. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4077. }
  4078. // op end success 1
  4079. static void battleOp170(skiatest::Reporter* reporter, const char* filename) {
  4080. SkPath path;
  4081. path.setFillType((SkPath::FillType) 0);
  4082. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4083. path.cubicTo(SkBits2Float(0x41ef3488), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4265f5fc), SkBits2Float(0xc285d5a4), SkBits2Float(0x429072a6), SkBits2Float(0xc2239841));
  4084. path.cubicTo(SkBits2Float(0x42adea4e), SkBits2Float(0xc16e14e5), SkBits2Float(0x42ad1da2), SkBits2Float(0x41886b20), SkBits2Float(0x428e5adb), SkBits2Float(0x422ac68e));
  4085. path.lineTo(SkBits2Float(0x424dd078), SkBits2Float(0x41f6e790));
  4086. path.cubicTo(SkBits2Float(0x427a49b4), SkBits2Float(0x41453b4b), SkBits2Float(0x427b719d), SkBits2Float(0xc12c1b6e), SkBits2Float(0x4250d71f), SkBits2Float(0xc1ec85c5));
  4087. path.cubicTo(SkBits2Float(0x42263ca0), SkBits2Float(0xc2417eea), SkBits2Float(0x41aceb63), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4088. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4089. path.close();
  4090. SkPath path1(path);
  4091. path.reset();
  4092. path.setFillType((SkPath::FillType) 0);
  4093. path.moveTo(SkBits2Float(0x428e5adb), SkBits2Float(0x422ac690));
  4094. path.cubicTo(SkBits2Float(0x42885732), SkBits2Float(0x423ed443), SkBits2Float(0x428148a8), SkBits2Float(0x42518e43), SkBits2Float(0x42729aa0), SkBits2Float(0x4262a4bd));
  4095. path.lineTo(SkBits2Float(0x422f605c), SkBits2Float(0x4223d6b5));
  4096. path.cubicTo(SkBits2Float(0x423aea98), SkBits2Float(0x42177c70), SkBits2Float(0x42451e76), SkBits2Float(0x4209f2e4), SkBits2Float(0x424dd078), SkBits2Float(0x41f6e792));
  4097. path.lineTo(SkBits2Float(0x428e5adb), SkBits2Float(0x422ac690));
  4098. path.close();
  4099. SkPath path2(path);
  4100. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4101. }
  4102. // op end success 1
  4103. static void battleOp171(skiatest::Reporter* reporter, const char* filename) {
  4104. SkPath path;
  4105. path.setFillType((SkPath::FillType) 1);
  4106. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4107. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4108. path.cubicTo(SkBits2Float(0x41ef3488), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4265f5fc), SkBits2Float(0xc285d5a4), SkBits2Float(0x429072a6), SkBits2Float(0xc2239841));
  4109. path.cubicTo(SkBits2Float(0x42adea4e), SkBits2Float(0xc16e14e5), SkBits2Float(0x42ad1da2), SkBits2Float(0x41886b20), SkBits2Float(0x428e5adb), SkBits2Float(0x422ac690));
  4110. path.cubicTo(SkBits2Float(0x42885732), SkBits2Float(0x423ed443), SkBits2Float(0x428148a8), SkBits2Float(0x42518e43), SkBits2Float(0x42729aa0), SkBits2Float(0x4262a4bd));
  4111. path.lineTo(SkBits2Float(0x422f605c), SkBits2Float(0x4223d6b5));
  4112. path.cubicTo(SkBits2Float(0x423aea98), SkBits2Float(0x42177c70), SkBits2Float(0x42451e76), SkBits2Float(0x4209f2e4), SkBits2Float(0x424dd078), SkBits2Float(0x41f6e790));
  4113. path.cubicTo(SkBits2Float(0x427a49b4), SkBits2Float(0x41453b4b), SkBits2Float(0x427b719d), SkBits2Float(0xc12c1b6e), SkBits2Float(0x4250d71f), SkBits2Float(0xc1ec85c5));
  4114. path.cubicTo(SkBits2Float(0x42263ca0), SkBits2Float(0xc2417eea), SkBits2Float(0x41aceb63), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4115. path.close();
  4116. SkPath path1(path);
  4117. path.reset();
  4118. path.setFillType((SkPath::FillType) 0);
  4119. path.moveTo(SkBits2Float(0x42729aa1), SkBits2Float(0x4262a4be));
  4120. path.cubicTo(SkBits2Float(0x421a0aa1), SkBits2Float(0x42a0b8ab), SkBits2Float(0x4092ff14), SkBits2Float(0x42b1fc82), SkBits2Float(0xc1d17709), SkBits2Float(0x429d861f));
  4121. path.cubicTo(SkBits2Float(0xc263d6eb), SkBits2Float(0x42890fbc), SkBits2Float(0xc29dea71), SkBits2Float(0x42253dbf), SkBits2Float(0xc2a5016a), SkBits2Float(0x4111261a));
  4122. path.cubicTo(SkBits2Float(0xc2ac1862), SkBits2Float(0xc1b95567), SkBits2Float(0xc28cface), SkBits2Float(0xc25a1117), SkBits2Float(0xc22aafa6), SkBits2Float(0xc28e61ba));
  4123. path.lineTo(SkBits2Float(0xc1f6c679), SkBits2Float(0xc24dda63));
  4124. path.cubicTo(SkBits2Float(0xc24bd376), SkBits2Float(0xc21da377), SkBits2Float(0xc278cff1), SkBits2Float(0xc185f9db), SkBits2Float(0xc26e8fe1), SkBits2Float(0x40d1da84));
  4125. path.cubicTo(SkBits2Float(0xc2644fd1), SkBits2Float(0x41eee71d), SkBits2Float(0xc224b3fc), SkBits2Float(0x4246293b), SkBits2Float(0xc1976b90), SkBits2Float(0x4263becd));
  4126. path.cubicTo(SkBits2Float(0x405486c0), SkBits2Float(0x4280aa2f), SkBits2Float(0x41deb5f2), SkBits2Float(0x42685e3e), SkBits2Float(0x422f605e), SkBits2Float(0x4223d6b6));
  4127. path.lineTo(SkBits2Float(0x42729aa1), SkBits2Float(0x4262a4be));
  4128. path.close();
  4129. SkPath path2(path);
  4130. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4131. }
  4132. // op end success 1
  4133. static void battleOp172(skiatest::Reporter* reporter, const char* filename) {
  4134. SkPath path;
  4135. path.setFillType((SkPath::FillType) 0);
  4136. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4137. path.cubicTo(SkBits2Float(0x41f30c96), SkBits2Float(0xc2a60000), SkBits2Float(0x426956a5), SkBits2Float(0xc284cd4a), SkBits2Float(0x4291c05e), SkBits2Float(0xc21ee718));
  4138. path.cubicTo(SkBits2Float(0x42aed56a), SkBits2Float(0xc150ce71), SkBits2Float(0x42ac7181), SkBits2Float(0x419b8107), SkBits2Float(0x428b8516), SkBits2Float(0x4233e422));
  4139. path.lineTo(SkBits2Float(0x4249b729), SkBits2Float(0x42020ab3));
  4140. path.cubicTo(SkBits2Float(0x427950d3), SkBits2Float(0x4160d339), SkBits2Float(0x427cc584), SkBits2Float(0xc116f1c4), SkBits2Float(0x4252b998), SkBits2Float(0xc1e5bd26));
  4141. path.cubicTo(SkBits2Float(0x4228adad), SkBits2Float(0xc24000b5), SkBits2Float(0x41afb2be), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  4142. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4143. path.close();
  4144. SkPath path1(path);
  4145. path.reset();
  4146. path.setFillType((SkPath::FillType) 0);
  4147. path.moveTo(SkBits2Float(0x428b8516), SkBits2Float(0x4233e422));
  4148. path.cubicTo(SkBits2Float(0x4285165c), SkBits2Float(0x4247d8d0), SkBits2Float(0x427b34bd), SkBits2Float(0x425a5d74), SkBits2Float(0x426a6401), SkBits2Float(0x426b20b1));
  4149. path.lineTo(SkBits2Float(0x42297063), SkBits2Float(0x4229f8c9));
  4150. path.cubicTo(SkBits2Float(0x42359840), SkBits2Float(0x421ddab1), SkBits2Float(0x42406a5a), SkBits2Float(0x421077b9), SkBits2Float(0x4249b72b), SkBits2Float(0x42020ab4));
  4151. path.lineTo(SkBits2Float(0x428b8516), SkBits2Float(0x4233e422));
  4152. path.close();
  4153. SkPath path2(path);
  4154. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4155. }
  4156. // op end success 1
  4157. static void battleOp173(skiatest::Reporter* reporter, const char* filename) {
  4158. SkPath path;
  4159. path.setFillType((SkPath::FillType) 1);
  4160. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4161. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4162. path.cubicTo(SkBits2Float(0x41f30c96), SkBits2Float(0xc2a60000), SkBits2Float(0x426956a5), SkBits2Float(0xc284cd4a), SkBits2Float(0x4291c05e), SkBits2Float(0xc21ee718));
  4163. path.cubicTo(SkBits2Float(0x42aed56a), SkBits2Float(0xc150ce71), SkBits2Float(0x42ac7181), SkBits2Float(0x419b8107), SkBits2Float(0x428b8516), SkBits2Float(0x4233e422));
  4164. path.cubicTo(SkBits2Float(0x4285165c), SkBits2Float(0x4247d8d0), SkBits2Float(0x427b34bd), SkBits2Float(0x425a5d74), SkBits2Float(0x426a6401), SkBits2Float(0x426b20b1));
  4165. path.lineTo(SkBits2Float(0x42297063), SkBits2Float(0x4229f8c9));
  4166. path.cubicTo(SkBits2Float(0x42359840), SkBits2Float(0x421ddab1), SkBits2Float(0x42406a5a), SkBits2Float(0x421077b9), SkBits2Float(0x4249b72b), SkBits2Float(0x42020ab4));
  4167. path.lineTo(SkBits2Float(0x4249b729), SkBits2Float(0x42020ab3));
  4168. path.cubicTo(SkBits2Float(0x427950d3), SkBits2Float(0x4160d339), SkBits2Float(0x427cc584), SkBits2Float(0xc116f1c4), SkBits2Float(0x4252b998), SkBits2Float(0xc1e5bd26));
  4169. path.cubicTo(SkBits2Float(0x4228adad), SkBits2Float(0xc24000b5), SkBits2Float(0x41afb2be), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4170. path.close();
  4171. SkPath path1(path);
  4172. path.reset();
  4173. path.setFillType((SkPath::FillType) 0);
  4174. path.moveTo(SkBits2Float(0x426a6401), SkBits2Float(0x426b20b0));
  4175. path.cubicTo(SkBits2Float(0x420d0644), SkBits2Float(0x42a419c2), SkBits2Float(0x3eb79d8f), SkBits2Float(0x42b29b69), SkBits2Float(0xc1f292a7), SkBits2Float(0x429a86c6));
  4176. path.cubicTo(SkBits2Float(0xc27401e4), SkBits2Float(0x42827223), SkBits2Float(0xc2a34d81), SkBits2Float(0x4210aea0), SkBits2Float(0xc2a5dfaf), SkBits2Float(0x404f3106));
  4177. path.cubicTo(SkBits2Float(0xc2a871dd), SkBits2Float(0xc1ed90fa), SkBits2Float(0xc283ccf3), SkBits2Float(0xc27113da), SkBits2Float(0xc21101fe), SkBits2Float(0xc2955440));
  4178. path.lineTo(SkBits2Float(0xc1d1a65c), SkBits2Float(0xc257e5c3));
  4179. path.cubicTo(SkBits2Float(0xc23e8e16), SkBits2Float(0xc22e45d9), SkBits2Float(0xc27388d2), SkBits2Float(0xc1abbc0d), SkBits2Float(0xc26fd138), SkBits2Float(0x4015c6fe));
  4180. path.cubicTo(SkBits2Float(0xc26c199f), SkBits2Float(0x41d12dcc), SkBits2Float(0xc2306400), SkBits2Float(0x423c98a5), SkBits2Float(0xc1af5a7e), SkBits2Float(0x425f695f));
  4181. path.cubicTo(SkBits2Float(0x3e84bf70), SkBits2Float(0x42811d0c), SkBits2Float(0x41cbe40c), SkBits2Float(0x426d40fa), SkBits2Float(0x42297064), SkBits2Float(0x4229f8cc));
  4182. path.lineTo(SkBits2Float(0x426a6401), SkBits2Float(0x426b20b0));
  4183. path.close();
  4184. SkPath path2(path);
  4185. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4186. }
  4187. // op end success 1
  4188. static void battleOp174(skiatest::Reporter* reporter, const char* filename) {
  4189. SkPath path;
  4190. path.setFillType((SkPath::FillType) 0);
  4191. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4192. path.cubicTo(SkBits2Float(0x41f67553), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426c5214), SkBits2Float(0xc283df7d), SkBits2Float(0x4292df93), SkBits2Float(0xc21ab724));
  4193. path.cubicTo(SkBits2Float(0x42af961c), SkBits2Float(0xc136bd38), SkBits2Float(0x42abbe10), SkBits2Float(0x41ac5dd5), SkBits2Float(0x4288e395), SkBits2Float(0x423bcd53));
  4194. path.lineTo(SkBits2Float(0x4245e96c), SkBits2Float(0x4207c2b1));
  4195. path.cubicTo(SkBits2Float(0x42784d66), SkBits2Float(0x41793464), SkBits2Float(0x427ddc1f), SkBits2Float(0xc10419c2), SkBits2Float(0x425458d8), SkBits2Float(0xc1dfaf58));
  4196. path.cubicTo(SkBits2Float(0x422ad590), SkBits2Float(0xc23ea8e8), SkBits2Float(0x41b229a4), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  4197. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4198. path.close();
  4199. SkPath path1(path);
  4200. path.reset();
  4201. path.setFillType((SkPath::FillType) 0);
  4202. path.moveTo(SkBits2Float(0x4288e396), SkBits2Float(0x423bcd52));
  4203. path.cubicTo(SkBits2Float(0x42821571), SkBits2Float(0x424fa4b8), SkBits2Float(0x427470be), SkBits2Float(0x4261f24c), SkBits2Float(0x4262dfb6), SkBits2Float(0x4272637b));
  4204. path.lineTo(SkBits2Float(0x42240156), SkBits2Float(0x422f387f));
  4205. path.cubicTo(SkBits2Float(0x4230b436), SkBits2Float(0x422355b8), SkBits2Float(0x423c12ab), SkBits2Float(0x42161a8d), SkBits2Float(0x4245e96e), SkBits2Float(0x4207c2b2));
  4206. path.lineTo(SkBits2Float(0x4288e396), SkBits2Float(0x423bcd52));
  4207. path.close();
  4208. SkPath path2(path);
  4209. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4210. }
  4211. // op end success 1
  4212. static void battleOp175(skiatest::Reporter* reporter, const char* filename) {
  4213. SkPath path;
  4214. path.setFillType((SkPath::FillType) 1);
  4215. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4216. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4217. path.cubicTo(SkBits2Float(0x41f67553), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426c5214), SkBits2Float(0xc283df7d), SkBits2Float(0x4292df93), SkBits2Float(0xc21ab724));
  4218. path.cubicTo(SkBits2Float(0x42af961c), SkBits2Float(0xc136bd38), SkBits2Float(0x42abbe10), SkBits2Float(0x41ac5dd5), SkBits2Float(0x4288e396), SkBits2Float(0x423bcd52));
  4219. path.cubicTo(SkBits2Float(0x42821571), SkBits2Float(0x424fa4b8), SkBits2Float(0x427470be), SkBits2Float(0x4261f24c), SkBits2Float(0x4262dfb6), SkBits2Float(0x4272637b));
  4220. path.lineTo(SkBits2Float(0x42240156), SkBits2Float(0x422f387f));
  4221. path.cubicTo(SkBits2Float(0x4230b436), SkBits2Float(0x422355b8), SkBits2Float(0x423c12ab), SkBits2Float(0x42161a8d), SkBits2Float(0x4245e96e), SkBits2Float(0x4207c2b2));
  4222. path.lineTo(SkBits2Float(0x4245e96c), SkBits2Float(0x4207c2b1));
  4223. path.cubicTo(SkBits2Float(0x42784d66), SkBits2Float(0x41793464), SkBits2Float(0x427ddc1f), SkBits2Float(0xc10419c2), SkBits2Float(0x425458d8), SkBits2Float(0xc1dfaf58));
  4224. path.cubicTo(SkBits2Float(0x422ad590), SkBits2Float(0xc23ea8e8), SkBits2Float(0x41b229a4), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4225. path.close();
  4226. SkPath path1(path);
  4227. path.reset();
  4228. path.setFillType((SkPath::FillType) 0);
  4229. path.moveTo(SkBits2Float(0x4262dfb7), SkBits2Float(0x4272637c));
  4230. path.cubicTo(SkBits2Float(0x4201435c), SkBits2Float(0x42a6e035), SkBits2Float(0xc05a052a), SkBits2Float(0x42b2d330), SkBits2Float(0xc207a774), SkBits2Float(0x429782c3));
  4231. path.cubicTo(SkBits2Float(0xc280d74a), SkBits2Float(0x427864aa), SkBits2Float(0xc2a78489), SkBits2Float(0x41fbcc10), SkBits2Float(0xc2a5f467), SkBits2Float(0xbff86670));
  4232. path.cubicTo(SkBits2Float(0xc2a46445), SkBits2Float(0xc20d6c6d), SkBits2Float(0xc275c9b5), SkBits2Float(0xc2821580), SkBits2Float(0xc1f2ade6), SkBits2Float(0xc29a8413));
  4233. path.lineTo(SkBits2Float(0xc1af6e4e), SkBits2Float(0xc25f6582));
  4234. path.cubicTo(SkBits2Float(0xc231ad90), SkBits2Float(0xc23c12bd), SkBits2Float(0xc26dacb3), SkBits2Float(0xc1cc77b7), SkBits2Float(0xc26fef30), SkBits2Float(0xbfb390a5));
  4235. path.cubicTo(SkBits2Float(0xc27231ae), SkBits2Float(0x41b605a0), SkBits2Float(0xc23a46a0), SkBits2Float(0x42338faf), SkBits2Float(0xc1c42047), SkBits2Float(0x425b0d36));
  4236. path.cubicTo(SkBits2Float(0xc01d9a6d), SkBits2Float(0x4281455e), SkBits2Float(0x41bae2f1), SkBits2Float(0x42714420), SkBits2Float(0x42240157), SkBits2Float(0x422f387f));
  4237. path.lineTo(SkBits2Float(0x4262dfb7), SkBits2Float(0x4272637c));
  4238. path.close();
  4239. SkPath path2(path);
  4240. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4241. }
  4242. // op end success 1
  4243. static void battleOp176(skiatest::Reporter* reporter, const char* filename) {
  4244. SkPath path;
  4245. path.setFillType((SkPath::FillType) 0);
  4246. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4247. path.cubicTo(SkBits2Float(0x41f9cdf3), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426f3c43), SkBits2Float(0xc282f30b), SkBits2Float(0x4293f176), SkBits2Float(0xc2169536));
  4248. path.cubicTo(SkBits2Float(0x42b044ca), SkBits2Float(0xc11d115b), SkBits2Float(0x42aaf59e), SkBits2Float(0x41bcd986), SkBits2Float(0x428633ff), SkBits2Float(0x42436703));
  4249. path.lineTo(SkBits2Float(0x42420751), SkBits2Float(0x420d4138));
  4250. path.cubicTo(SkBits2Float(0x42772b98), SkBits2Float(0x41888496), SkBits2Float(0x427ed8af), SkBits2Float(0xc0e315f7), SkBits2Float(0x4255e4d4), SkBits2Float(0xc1d9b5cc));
  4251. path.cubicTo(SkBits2Float(0x422cf0fb), SkBits2Float(0xc23d530d), SkBits2Float(0x41b494e9), SkBits2Float(0xc2700000), SkBits2Float(0x3743ffa9), SkBits2Float(0xc2700000));
  4252. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4253. path.close();
  4254. SkPath path1(path);
  4255. path.reset();
  4256. path.setFillType((SkPath::FillType) 0);
  4257. path.moveTo(SkBits2Float(0x428633ff), SkBits2Float(0x42436705));
  4258. path.cubicTo(SkBits2Float(0x427e0fd0), SkBits2Float(0x42571b29), SkBits2Float(0x426d975d), SkBits2Float(0x42692b9b), SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c1));
  4259. path.lineTo(SkBits2Float(0x421e8652), SkBits2Float(0x423431b3));
  4260. path.cubicTo(SkBits2Float(0x422bc0b3), SkBits2Float(0x42288e8e), SkBits2Float(0x4237a8bb), SkBits2Float(0x421b7f95), SkBits2Float(0x42420752), SkBits2Float(0x420d4138));
  4261. path.lineTo(SkBits2Float(0x428633ff), SkBits2Float(0x42436705));
  4262. path.close();
  4263. SkPath path2(path);
  4264. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4265. }
  4266. // op end success 1
  4267. static void battleOp177(skiatest::Reporter* reporter, const char* filename) {
  4268. SkPath path;
  4269. path.setFillType((SkPath::FillType) 1);
  4270. path.moveTo(SkBits2Float(0x3743ffa9), SkBits2Float(0xc2700000));
  4271. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4272. path.cubicTo(SkBits2Float(0x41f9cdf3), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426f3c43), SkBits2Float(0xc282f30b), SkBits2Float(0x4293f176), SkBits2Float(0xc2169536));
  4273. path.cubicTo(SkBits2Float(0x42b044ca), SkBits2Float(0xc11d115b), SkBits2Float(0x42aaf59e), SkBits2Float(0x41bcd986), SkBits2Float(0x428633ff), SkBits2Float(0x42436705));
  4274. path.cubicTo(SkBits2Float(0x427e0fd0), SkBits2Float(0x42571b29), SkBits2Float(0x426d975d), SkBits2Float(0x42692b9b), SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c1));
  4275. path.lineTo(SkBits2Float(0x421e8652), SkBits2Float(0x423431b3));
  4276. path.cubicTo(SkBits2Float(0x422bc0b3), SkBits2Float(0x42288e8e), SkBits2Float(0x4237a8bb), SkBits2Float(0x421b7f95), SkBits2Float(0x42420751), SkBits2Float(0x420d4138));
  4277. path.cubicTo(SkBits2Float(0x42772b98), SkBits2Float(0x41888496), SkBits2Float(0x427ed8af), SkBits2Float(0xc0e315f7), SkBits2Float(0x4255e4d4), SkBits2Float(0xc1d9b5cc));
  4278. path.cubicTo(SkBits2Float(0x422cf0fb), SkBits2Float(0xc23d530d), SkBits2Float(0x41b494e9), SkBits2Float(0xc2700000), SkBits2Float(0x3743ffa9), SkBits2Float(0xc2700000));
  4279. path.close();
  4280. SkPath path1(path);
  4281. path.reset();
  4282. path.setFillType((SkPath::FillType) 0);
  4283. path.moveTo(SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c0));
  4284. path.cubicTo(SkBits2Float(0x41eb12b8), SkBits2Float(0x42a964d5), SkBits2Float(0xc0e3546a), SkBits2Float(0x42b2bc1c), SkBits2Float(0xc2157060), SkBits2Float(0x42943ba4));
  4285. path.cubicTo(SkBits2Float(0xc2873b19), SkBits2Float(0x426b7658), SkBits2Float(0xc2ab209f), SkBits2Float(0x41d60b1d), SkBits2Float(0xc2a5685b), SkBits2Float(0xc0e02f3c));
  4286. path.cubicTo(SkBits2Float(0xc29fb018), SkBits2Float(0xc223115c), SkBits2Float(0xc263001e), SkBits2Float(0xc28acd07), SkBits2Float(0xc1c2e1a0), SkBits2Float(0xc29eb07c));
  4287. path.lineTo(SkBits2Float(0xc18ce0d1), SkBits2Float(0xc2656e32));
  4288. path.cubicTo(SkBits2Float(0xc22418c2), SkBits2Float(0xc248ad0a), SkBits2Float(0xc266dfbc), SkBits2Float(0xc1ebc2b6), SkBits2Float(0xc26f24bb), SkBits2Float(0xc0a20f94));
  4289. path.cubicTo(SkBits2Float(0xc27769ba), SkBits2Float(0x419abaee), SkBits2Float(0xc24383ac), SkBits2Float(0x422a36b0), SkBits2Float(0xc1d80e5c), SkBits2Float(0x4256500a));
  4290. path.cubicTo(SkBits2Float(0xc0a45587), SkBits2Float(0x428134b2), SkBits2Float(0x41a9eeb8), SkBits2Float(0x4274e820), SkBits2Float(0x421e8655), SkBits2Float(0x423431b1));
  4291. path.lineTo(SkBits2Float(0x425b4ae0), SkBits2Float(0x427944c0));
  4292. path.close();
  4293. SkPath path2(path);
  4294. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4295. }
  4296. // op end success 1
  4297. static void battleOp178(skiatest::Reporter* reporter, const char* filename) {
  4298. SkPath path;
  4299. path.setFillType((SkPath::FillType) 0);
  4300. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4301. path.cubicTo(SkBits2Float(0x41fc5f30), SkBits2Float(0xc2a5fffe), SkBits2Float(0x427176a0), SkBits2Float(0xc2823b95), SkBits2Float(0x4294be35), SkBits2Float(0xc21365c9));
  4302. path.cubicTo(SkBits2Float(0x42b0c118), SkBits2Float(0xc1095198), SkBits2Float(0x42aa4b8f), SkBits2Float(0x41c9721a), SkBits2Float(0x42841312), SkBits2Float(0x42491ec0));
  4303. path.lineTo(SkBits2Float(0x423ef37b), SkBits2Float(0x42116356));
  4304. path.cubicTo(SkBits2Float(0x427635bc), SkBits2Float(0x41919f96), SkBits2Float(0x427f8c66), SkBits2Float(0xc0c68887), SkBits2Float(0x42570cd6), SkBits2Float(0xc1d51ae4));
  4305. path.cubicTo(SkBits2Float(0x422e8d45), SkBits2Float(0xc23c49d3), SkBits2Float(0x41b66ffd), SkBits2Float(0xc2700000), SkBits2Float(0xb7060057), SkBits2Float(0xc26fffff));
  4306. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4307. path.close();
  4308. SkPath path1(path);
  4309. path.reset();
  4310. path.setFillType((SkPath::FillType) 0);
  4311. path.moveTo(SkBits2Float(0x42841313), SkBits2Float(0x42491ebf));
  4312. path.cubicTo(SkBits2Float(0x42793d8e), SkBits2Float(0x425cb36e), SkBits2Float(0x4268336d), SkBits2Float(0x426e9032), SkBits2Float(0x4255582b), SkBits2Float(0x427e60c5));
  4313. path.lineTo(SkBits2Float(0x421a3990), SkBits2Float(0x4237e342));
  4314. path.cubicTo(SkBits2Float(0x4227db27), SkBits2Float(0x422c7494), SkBits2Float(0x42342c7f), SkBits2Float(0x421f8af7), SkBits2Float(0x423ef37c), SkBits2Float(0x42116357));
  4315. path.lineTo(SkBits2Float(0x42841313), SkBits2Float(0x42491ebf));
  4316. path.close();
  4317. SkPath path2(path);
  4318. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4319. }
  4320. // op end success 1
  4321. static void battleOp179(skiatest::Reporter* reporter, const char* filename) {
  4322. SkPath path;
  4323. path.setFillType((SkPath::FillType) 1);
  4324. path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc26fffff));
  4325. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4326. path.cubicTo(SkBits2Float(0x41fc5f30), SkBits2Float(0xc2a5fffe), SkBits2Float(0x427176a0), SkBits2Float(0xc2823b95), SkBits2Float(0x4294be35), SkBits2Float(0xc21365c9));
  4327. path.cubicTo(SkBits2Float(0x42b0c118), SkBits2Float(0xc1095198), SkBits2Float(0x42aa4b8f), SkBits2Float(0x41c9721a), SkBits2Float(0x42841313), SkBits2Float(0x42491ebf));
  4328. path.cubicTo(SkBits2Float(0x42793d8e), SkBits2Float(0x425cb36e), SkBits2Float(0x4268336d), SkBits2Float(0x426e9032), SkBits2Float(0x4255582b), SkBits2Float(0x427e60c5));
  4329. path.lineTo(SkBits2Float(0x421a3990), SkBits2Float(0x4237e342));
  4330. path.cubicTo(SkBits2Float(0x4227db27), SkBits2Float(0x422c7494), SkBits2Float(0x42342c7f), SkBits2Float(0x421f8af7), SkBits2Float(0x423ef37b), SkBits2Float(0x42116356));
  4331. path.cubicTo(SkBits2Float(0x427635bc), SkBits2Float(0x41919f96), SkBits2Float(0x427f8c66), SkBits2Float(0xc0c68887), SkBits2Float(0x42570cd6), SkBits2Float(0xc1d51ae4));
  4332. path.cubicTo(SkBits2Float(0x422e8d45), SkBits2Float(0xc23c49d3), SkBits2Float(0x41b66ffd), SkBits2Float(0xc2700000), SkBits2Float(0xb7060057), SkBits2Float(0xc26fffff));
  4333. path.close();
  4334. SkPath path1(path);
  4335. path.reset();
  4336. path.setFillType((SkPath::FillType) 0);
  4337. path.moveTo(SkBits2Float(0x4255582a), SkBits2Float(0x427e60c6));
  4338. path.cubicTo(SkBits2Float(0x41d8da26), SkBits2Float(0x42ab2f9f), SkBits2Float(0xc11f0392), SkBits2Float(0x42b2763a), SkBits2Float(0xc21fc8f1), SkBits2Float(0x4291829a));
  4339. path.cubicTo(SkBits2Float(0xc28be87e), SkBits2Float(0x42611df4), SkBits2Float(0xc2ad8941), SkBits2Float(0x41b88f93), SkBits2Float(0xc2a49219), SkBits2Float(0xc12de56c));
  4340. path.cubicTo(SkBits2Float(0xc29b9af2), SkBits2Float(0xc2333a80), SkBits2Float(0xc253c58e), SkBits2Float(0xc2910614), SkBits2Float(0xc19d7dc6), SkBits2Float(0xc2a14359));
  4341. path.lineTo(SkBits2Float(0xc163b2c9), SkBits2Float(0xc26926c4));
  4342. path.cubicTo(SkBits2Float(0xc2191685), SkBits2Float(0xc251ac40), SkBits2Float(0xc260f8ae), SkBits2Float(0xc201900e), SkBits2Float(0xc26deef7), SkBits2Float(0xc0fb6a70));
  4343. path.cubicTo(SkBits2Float(0xc27ae541), SkBits2Float(0x41856ae3), SkBits2Float(0xc24a46d8), SkBits2Float(0x4222bc35), SkBits2Float(0xc1e7039a), SkBits2Float(0x42526049));
  4344. path.cubicTo(SkBits2Float(0xc0e5e60c), SkBits2Float(0x4281022e), SkBits2Float(0x419cc2c4), SkBits2Float(0x42777f70), SkBits2Float(0x421a3996), SkBits2Float(0x4237e33e));
  4345. path.lineTo(SkBits2Float(0x4255582a), SkBits2Float(0x427e60c6));
  4346. path.close();
  4347. SkPath path2(path);
  4348. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4349. }
  4350. // op end success 1
  4351. static void battleOp180(skiatest::Reporter* reporter, const char* filename) {
  4352. SkPath path;
  4353. path.setFillType((SkPath::FillType) 0);
  4354. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4355. path.cubicTo(SkBits2Float(0x41fed5d1), SkBits2Float(0xc2a60000), SkBits2Float(0x4273981d), SkBits2Float(0xc28189e8), SkBits2Float(0x42957e40), SkBits2Float(0xc210547e));
  4356. path.cubicTo(SkBits2Float(0x42b13073), SkBits2Float(0xc0eca961), SkBits2Float(0x42a99b35), SkBits2Float(0x41d57c6c), SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d3));
  4357. path.lineTo(SkBits2Float(0x423beb8b), SkBits2Float(0x421548fc));
  4358. path.cubicTo(SkBits2Float(0x427536c2), SkBits2Float(0x419a53c7), SkBits2Float(0x428016af), SkBits2Float(0xc0ab14a9), SkBits2Float(0x4258227d), SkBits2Float(0xc1d0ab83));
  4359. path.cubicTo(SkBits2Float(0x4230179a), SkBits2Float(0xc23b48ee), SkBits2Float(0x41b837da), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  4360. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4361. path.close();
  4362. SkPath path1(path);
  4363. path.reset();
  4364. path.setFillType((SkPath::FillType) 0);
  4365. path.moveTo(SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d5));
  4366. path.cubicTo(SkBits2Float(0x4274817d), SkBits2Float(0x4261f5b7), SkBits2Float(0x4262ebfa), SkBits2Float(0x42739d02), SkBits2Float(0x424f88b8), SkBits2Float(0x428191ef));
  4367. path.lineTo(SkBits2Float(0x4216064f), SkBits2Float(0x423b5489));
  4368. path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8c), SkBits2Float(0x421548fc));
  4369. path.lineTo(SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d5));
  4370. path.close();
  4371. SkPath path2(path);
  4372. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4373. }
  4374. // op end success 1
  4375. static void battleOp181(skiatest::Reporter* reporter, const char* filename) {
  4376. SkPath path;
  4377. path.setFillType((SkPath::FillType) 1);
  4378. path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  4379. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4380. path.cubicTo(SkBits2Float(0x41fed5d1), SkBits2Float(0xc2a60000), SkBits2Float(0x4273981d), SkBits2Float(0xc28189e8), SkBits2Float(0x42957e40), SkBits2Float(0xc210547e));
  4381. path.cubicTo(SkBits2Float(0x42b13073), SkBits2Float(0xc0eca961), SkBits2Float(0x42a99b35), SkBits2Float(0x41d57c6c), SkBits2Float(0x4281fa62), SkBits2Float(0x424e82d5));
  4382. path.cubicTo(SkBits2Float(0x4274817d), SkBits2Float(0x4261f5b7), SkBits2Float(0x4262ebfa), SkBits2Float(0x42739d02), SkBits2Float(0x424f88b8), SkBits2Float(0x428191ef));
  4383. path.lineTo(SkBits2Float(0x4216064f), SkBits2Float(0x423b5489));
  4384. path.cubicTo(SkBits2Float(0x42240a35), SkBits2Float(0x42301b25), SkBits2Float(0x4230c051), SkBits2Float(0x4223582f), SkBits2Float(0x423beb8b), SkBits2Float(0x421548fc));
  4385. path.cubicTo(SkBits2Float(0x427536c2), SkBits2Float(0x419a53c7), SkBits2Float(0x428016af), SkBits2Float(0xc0ab14a9), SkBits2Float(0x4258227d), SkBits2Float(0xc1d0ab83));
  4386. path.cubicTo(SkBits2Float(0x4230179a), SkBits2Float(0xc23b48ee), SkBits2Float(0x41b837da), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  4387. path.close();
  4388. SkPath path1(path);
  4389. path.reset();
  4390. path.setFillType((SkPath::FillType) 0);
  4391. path.moveTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0));
  4392. path.cubicTo(SkBits2Float(0x41c732b7), SkBits2Float(0x42acca52), SkBits2Float(0xc14a7268), SkBits2Float(0x42b208b4), SkBits2Float(0xc22982dc), SkBits2Float(0x428ebb75));
  4393. path.cubicTo(SkBits2Float(0xc2903490), SkBits2Float(0x4256dc6c), SkBits2Float(0xc2af8c6f), SkBits2Float(0x419be833), SkBits2Float(0xc2a36e37), SkBits2Float(0xc168c0a6));
  4394. path.cubicTo(SkBits2Float(0xc2974fff), SkBits2Float(0xc242546a), SkBits2Float(0xc2448acf), SkBits2Float(0xc29698ac), SkBits2Float(0xc17253d7), SkBits2Float(0xc2a33682));
  4395. path.lineTo(SkBits2Float(0xc12f2d38), SkBits2Float(0xc26bf872));
  4396. path.cubicTo(SkBits2Float(0xc20e1427), SkBits2Float(0xc259bacc), SkBits2Float(0xc25ac3d7), SkBits2Float(0xc20c7ab2), SkBits2Float(0xc26c48f7), SkBits2Float(0xc1284130));
  4397. path.cubicTo(SkBits2Float(0xc27dce17), SkBits2Float(0x41616864), SkBits2Float(0xc2507d50), SkBits2Float(0x421b5239), SkBits2Float(0xc1f51386), SkBits2Float(0x424e5c1e));
  4398. path.cubicTo(SkBits2Float(0xc11258cd), SkBits2Float(0x4280b301), SkBits2Float(0x418fffac), SkBits2Float(0x4279d13a), SkBits2Float(0x42160652), SkBits2Float(0x423b5488));
  4399. path.lineTo(SkBits2Float(0x424f88ba), SkBits2Float(0x428191f0));
  4400. path.close();
  4401. SkPath path2(path);
  4402. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4403. }
  4404. // op end success 1
  4405. static void battleOp182(skiatest::Reporter* reporter, const char* filename) {
  4406. SkPath path;
  4407. path.setFillType((SkPath::FillType) 0);
  4408. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4409. path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc20e29dc));
  4410. path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x4252400e));
  4411. path.lineTo(SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6));
  4412. path.cubicTo(SkBits2Float(0x4274780f), SkBits2Float(0x41a06f8c), SkBits2Float(0x42804bfe), SkBits2Float(0xc097b7f0), SkBits2Float(0x4258e240), SkBits2Float(0xc1cd899e));
  4413. path.cubicTo(SkBits2Float(0x42312c84), SkBits2Float(0xc23a929f), SkBits2Float(0x41b978e3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  4414. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4415. path.close();
  4416. SkPath path1(path);
  4417. path.reset();
  4418. path.setFillType((SkPath::FillType) 0);
  4419. path.moveTo(SkBits2Float(0x4280787d), SkBits2Float(0x42524010));
  4420. path.cubicTo(SkBits2Float(0x42711c0e), SkBits2Float(0x42659909), SkBits2Float(0x425f24ad), SkBits2Float(0x42771864), SkBits2Float(0x424b624a), SkBits2Float(0x4283347a));
  4421. path.lineTo(SkBits2Float(0x42130648), SkBits2Float(0x423db1a5));
  4422. path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf7));
  4423. path.lineTo(SkBits2Float(0x4280787d), SkBits2Float(0x42524010));
  4424. path.close();
  4425. SkPath path2(path);
  4426. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4427. }
  4428. // op end success 1
  4429. static void battleOp183(skiatest::Reporter* reporter, const char* filename) {
  4430. SkPath path;
  4431. path.setFillType((SkPath::FillType) 1);
  4432. path.moveTo(SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  4433. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4434. path.cubicTo(SkBits2Float(0x420048ef), SkBits2Float(0xc2a60000), SkBits2Float(0x4275172d), SkBits2Float(0xc2810bd2), SkBits2Float(0x429602e3), SkBits2Float(0xc20e29dc));
  4435. path.cubicTo(SkBits2Float(0x42b17a30), SkBits2Float(0xc0d1e0a1), SkBits2Float(0x42a9174e), SkBits2Float(0x41ddef9e), SkBits2Float(0x4280787d), SkBits2Float(0x42524010));
  4436. path.cubicTo(SkBits2Float(0x42711c0e), SkBits2Float(0x42659909), SkBits2Float(0x425f24ad), SkBits2Float(0x42771864), SkBits2Float(0x424b624a), SkBits2Float(0x4283347a));
  4437. path.lineTo(SkBits2Float(0x42130648), SkBits2Float(0x423db1a5));
  4438. path.cubicTo(SkBits2Float(0x42214ef3), SkBits2Float(0x42329f82), SkBits2Float(0x422e4bcd), SkBits2Float(0x4225f96c), SkBits2Float(0x4239bd9f), SkBits2Float(0x4217fcf6));
  4439. path.cubicTo(SkBits2Float(0x4274780f), SkBits2Float(0x41a06f8c), SkBits2Float(0x42804bfe), SkBits2Float(0xc097b7f0), SkBits2Float(0x4258e240), SkBits2Float(0xc1cd899e));
  4440. path.cubicTo(SkBits2Float(0x42312c84), SkBits2Float(0xc23a929f), SkBits2Float(0x41b978e3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  4441. path.close();
  4442. SkPath path1(path);
  4443. path.reset();
  4444. path.setFillType((SkPath::FillType) 0);
  4445. path.moveTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479));
  4446. path.cubicTo(SkBits2Float(0x41baac2f), SkBits2Float(0x42adda12), SkBits2Float(0xc168f6a7), SkBits2Float(0x42b1a2b3), SkBits2Float(0xc2303c92), SkBits2Float(0x428cae5c));
  4447. path.cubicTo(SkBits2Float(0xc2931dbe), SkBits2Float(0x424f7409), SkBits2Float(0xc2b0c9d8), SkBits2Float(0x41878abe), SkBits2Float(0xc2a26e7f), SkBits2Float(0xc188ef9a));
  4448. path.cubicTo(SkBits2Float(0xc2941327), SkBits2Float(0xc24cb4f5), SkBits2Float(0xc2397a7c), SkBits2Float(0xc29a4742), SkBits2Float(0xc13ec328), SkBits2Float(0xc2a44746));
  4449. path.lineTo(SkBits2Float(0xc109e67a), SkBits2Float(0xc26d82d0));
  4450. path.cubicTo(SkBits2Float(0xc20614b0), SkBits2Float(0xc25f0d94), SkBits2Float(0xc2561585), SkBits2Float(0xc213fb18), SkBits2Float(0xc26ad744), SkBits2Float(0xc145fabb));
  4451. path.cubicTo(SkBits2Float(0xc27f9901), SkBits2Float(0x4143f6e8), SkBits2Float(0xc254b2af), SkBits2Float(0x4215f75b), SkBits2Float(0xc1feccbb), SkBits2Float(0x424b64f3));
  4452. path.cubicTo(SkBits2Float(0xc128682f), SkBits2Float(0x42806945), SkBits2Float(0x4186f1ba), SkBits2Float(0x427b5a1e), SkBits2Float(0x4213064f), SkBits2Float(0x423db1a2));
  4453. path.lineTo(SkBits2Float(0x424b624a), SkBits2Float(0x42833479));
  4454. path.close();
  4455. SkPath path2(path);
  4456. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4457. }
  4458. // op end success 1
  4459. static void battleOp184(skiatest::Reporter* reporter, const char* filename) {
  4460. SkPath path;
  4461. path.setFillType((SkPath::FillType) 0);
  4462. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4463. path.cubicTo(SkBits2Float(0x42011b87), SkBits2Float(0xc2a5fffe), SkBits2Float(0x427681ab), SkBits2Float(0xc280937a), SkBits2Float(0x42967eb3), SkBits2Float(0xc20c1a94));
  4464. path.cubicTo(SkBits2Float(0x42b1bc91), SkBits2Float(0xc0b87191), SkBits2Float(0x42a89454), SkBits2Float(0x41e5ed6f), SkBits2Float(0x427e0902), SkBits2Float(0x4255c0a2));
  4465. path.lineTo(SkBits2Float(0x4237a3d0), SkBits2Float(0x421a8517));
  4466. path.cubicTo(SkBits2Float(0x4273bab4), SkBits2Float(0x41a63674), SkBits2Float(0x42807bfc), SkBits2Float(0xc0855530), SkBits2Float(0x42599545), SkBits2Float(0xc1ca8f4f));
  4467. path.cubicTo(SkBits2Float(0x42323293), SkBits2Float(0xc239e4a8), SkBits2Float(0x41baa959), SkBits2Float(0xc2700002), SkBits2Float(0xb5600574), SkBits2Float(0xc2700000));
  4468. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4469. path.close();
  4470. SkPath path1(path);
  4471. path.reset();
  4472. path.setFillType((SkPath::FillType) 0);
  4473. path.moveTo(SkBits2Float(0x427e0901), SkBits2Float(0x4255c0a4));
  4474. path.cubicTo(SkBits2Float(0x426dd77c), SkBits2Float(0x4268ff65), SkBits2Float(0x425b838b), SkBits2Float(0x427a571f), SkBits2Float(0x42476779), SkBits2Float(0x4284b92f));
  4475. path.lineTo(SkBits2Float(0x421025c9), SkBits2Float(0x423fe3a3));
  4476. path.cubicTo(SkBits2Float(0x421eaf4b), SkBits2Float(0x4234f80b), SkBits2Float(0x422bef10), SkBits2Float(0x42286e9a), SkBits2Float(0x4237a3d2), SkBits2Float(0x421a8517));
  4477. path.lineTo(SkBits2Float(0x427e0901), SkBits2Float(0x4255c0a4));
  4478. path.close();
  4479. SkPath path2(path);
  4480. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4481. }
  4482. // op end success 1
  4483. static void battleOp185(skiatest::Reporter* reporter, const char* filename) {
  4484. SkPath path;
  4485. path.setFillType((SkPath::FillType) 1);
  4486. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4487. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4488. path.cubicTo(SkBits2Float(0x42011b87), SkBits2Float(0xc2a5fffe), SkBits2Float(0x427681ab), SkBits2Float(0xc280937a), SkBits2Float(0x42967eb3), SkBits2Float(0xc20c1a94));
  4489. path.cubicTo(SkBits2Float(0x42b1bc91), SkBits2Float(0xc0b87191), SkBits2Float(0x42a89454), SkBits2Float(0x41e5ed6f), SkBits2Float(0x427e0902), SkBits2Float(0x4255c0a2));
  4490. path.lineTo(SkBits2Float(0x427e0901), SkBits2Float(0x4255c0a4));
  4491. path.cubicTo(SkBits2Float(0x426dd77c), SkBits2Float(0x4268ff65), SkBits2Float(0x425b838b), SkBits2Float(0x427a571f), SkBits2Float(0x42476779), SkBits2Float(0x4284b92f));
  4492. path.lineTo(SkBits2Float(0x421025c9), SkBits2Float(0x423fe3a3));
  4493. path.cubicTo(SkBits2Float(0x421eaf4b), SkBits2Float(0x4234f80b), SkBits2Float(0x422bef10), SkBits2Float(0x42286e9a), SkBits2Float(0x4237a3d2), SkBits2Float(0x421a8517));
  4494. path.lineTo(SkBits2Float(0x4237a3d0), SkBits2Float(0x421a8517));
  4495. path.cubicTo(SkBits2Float(0x4273bab4), SkBits2Float(0x41a63674), SkBits2Float(0x42807bfc), SkBits2Float(0xc0855530), SkBits2Float(0x42599545), SkBits2Float(0xc1ca8f4f));
  4496. path.cubicTo(SkBits2Float(0x42323293), SkBits2Float(0xc239e4a8), SkBits2Float(0x41baa959), SkBits2Float(0xc2700002), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4497. path.close();
  4498. SkPath path1(path);
  4499. path.reset();
  4500. path.setFillType((SkPath::FillType) 0);
  4501. path.moveTo(SkBits2Float(0x42476779), SkBits2Float(0x4284b92f));
  4502. path.cubicTo(SkBits2Float(0x41aeb99d), SkBits2Float(0x42aece6d), SkBits2Float(0xc182ebc7), SkBits2Float(0x42b12f04), SkBits2Float(0xc236847b), SkBits2Float(0x428aaa1d));
  4503. path.cubicTo(SkBits2Float(0xc295c989), SkBits2Float(0x42484a6d), SkBits2Float(0xc2b1d401), SkBits2Float(0x41683386), SkBits2Float(0xc2a15607), SkBits2Float(0xc19c4a77));
  4504. path.cubicTo(SkBits2Float(0xc290d80f), SkBits2Float(0xc2565754), SkBits2Float(0xc22ebdc1), SkBits2Float(0xc29d94aa), SkBits2Float(0xc10da15c), SkBits2Float(0xc2a50da2));
  4505. path.lineTo(SkBits2Float(0xc0ccc448), SkBits2Float(0xc26ea197));
  4506. path.cubicTo(SkBits2Float(0xc1fca350), SkBits2Float(0xc263d3da), SkBits2Float(0xc25169ba), SkBits2Float(0xc21af203), SkBits2Float(0xc26941c7), SkBits2Float(0xc161f664));
  4507. path.cubicTo(SkBits2Float(0xc2808cea), SkBits2Float(0x4127db45), SkBits2Float(0xc2588f4e), SkBits2Float(0x4210c9da), SkBits2Float(0xc203f0b6), SkBits2Float(0x42487a91));
  4508. path.cubicTo(SkBits2Float(0xc13d487f), SkBits2Float(0x428015a4), SkBits2Float(0x417c9d5c), SkBits2Float(0x427cbb65), SkBits2Float(0x421025ca), SkBits2Float(0x423fe3a2));
  4509. path.lineTo(SkBits2Float(0x42476779), SkBits2Float(0x4284b92f));
  4510. path.close();
  4511. SkPath path2(path);
  4512. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4513. }
  4514. // op end success 1
  4515. static void battleOp186(skiatest::Reporter* reporter, const char* filename) {
  4516. SkPath path;
  4517. path.setFillType((SkPath::FillType) 0);
  4518. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4519. path.cubicTo(SkBits2Float(0x4201bd60), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427797bb), SkBits2Float(0xc2803682), SkBits2Float(0x4296dc8c), SkBits2Float(0xc20a848f));
  4520. path.cubicTo(SkBits2Float(0x42b1ed3b), SkBits2Float(0xc0a4e0c3), SkBits2Float(0x42a82bcd), SkBits2Float(0x41ec0db8), SkBits2Float(0x427bc56e), SkBits2Float(0x42586a20));
  4521. path.lineTo(SkBits2Float(0x423600d6), SkBits2Float(0x421c71bc));
  4522. path.cubicTo(SkBits2Float(0x42732394), SkBits2Float(0x41aaa425), SkBits2Float(0x42809f29), SkBits2Float(0xc06e60a8), SkBits2Float(0x425a1cf3), SkBits2Float(0xc1c84447));
  4523. path.cubicTo(SkBits2Float(0x4232fb94), SkBits2Float(0xc2395e3c), SkBits2Float(0x41bb9357), SkBits2Float(0xc2700002), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  4524. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4525. path.close();
  4526. SkPath path1(path);
  4527. path.reset();
  4528. path.setFillType((SkPath::FillType) 0);
  4529. path.moveTo(SkBits2Float(0x427bc56c), SkBits2Float(0x42586a22));
  4530. path.cubicTo(SkBits2Float(0x426b4cc6), SkBits2Float(0x426b93ad), SkBits2Float(0x4258b1e1), SkBits2Float(0x427ccbca), SkBits2Float(0x42445140), SkBits2Float(0x4285de6e));
  4531. path.lineTo(SkBits2Float(0x420dea8b), SkBits2Float(0x42418b9b));
  4532. path.cubicTo(SkBits2Float(0x421ca599), SkBits2Float(0x4236be7f), SkBits2Float(0x422a18a8), SkBits2Float(0x422a4be8), SkBits2Float(0x423600d6), SkBits2Float(0x421c71bc));
  4533. path.lineTo(SkBits2Float(0x427bc56c), SkBits2Float(0x42586a22));
  4534. path.close();
  4535. SkPath path2(path);
  4536. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4537. }
  4538. // op end success 1
  4539. static void battleOp187(skiatest::Reporter* reporter, const char* filename) {
  4540. SkPath path;
  4541. path.setFillType((SkPath::FillType) 1);
  4542. path.moveTo(SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  4543. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4544. path.cubicTo(SkBits2Float(0x4201bd60), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427797bb), SkBits2Float(0xc2803682), SkBits2Float(0x4296dc8c), SkBits2Float(0xc20a848f));
  4545. path.cubicTo(SkBits2Float(0x42b1ed3b), SkBits2Float(0xc0a4e0c3), SkBits2Float(0x42a82bcd), SkBits2Float(0x41ec0db8), SkBits2Float(0x427bc56e), SkBits2Float(0x42586a20));
  4546. path.lineTo(SkBits2Float(0x423600d6), SkBits2Float(0x421c71bc));
  4547. path.cubicTo(SkBits2Float(0x42732394), SkBits2Float(0x41aaa425), SkBits2Float(0x42809f29), SkBits2Float(0xc06e60a8), SkBits2Float(0x425a1cf3), SkBits2Float(0xc1c84447));
  4548. path.cubicTo(SkBits2Float(0x4232fb94), SkBits2Float(0xc2395e3c), SkBits2Float(0x41bb9357), SkBits2Float(0xc2700002), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  4549. path.close();
  4550. path.moveTo(SkBits2Float(0x423600d6), SkBits2Float(0x421c71bc));
  4551. path.lineTo(SkBits2Float(0x427bc56c), SkBits2Float(0x42586a22));
  4552. path.cubicTo(SkBits2Float(0x426b4cc6), SkBits2Float(0x426b93ad), SkBits2Float(0x4258b1e1), SkBits2Float(0x427ccbca), SkBits2Float(0x42445140), SkBits2Float(0x4285de6e));
  4553. path.lineTo(SkBits2Float(0x420dea8b), SkBits2Float(0x42418b9b));
  4554. path.cubicTo(SkBits2Float(0x421ca599), SkBits2Float(0x4236be7f), SkBits2Float(0x422a18a8), SkBits2Float(0x422a4be8), SkBits2Float(0x423600d6), SkBits2Float(0x421c71bc));
  4555. path.close();
  4556. SkPath path1(path);
  4557. path.reset();
  4558. path.setFillType((SkPath::FillType) 0);
  4559. path.moveTo(SkBits2Float(0x42445140), SkBits2Float(0x4285de6e));
  4560. path.cubicTo(SkBits2Float(0x41a5801a), SkBits2Float(0x42af8153), SkBits2Float(0xc18dfe3b), SkBits2Float(0x42b0c99d), SkBits2Float(0xc23b472e), SkBits2Float(0x42891183));
  4561. path.cubicTo(SkBits2Float(0xc297c79f), SkBits2Float(0x4242b2d1), SkBits2Float(0xc2b28961), SkBits2Float(0x414a2ba6), SkBits2Float(0xc2a0659f), SkBits2Float(0xc1ab0f22));
  4562. path.cubicTo(SkBits2Float(0xc28e41db), SkBits2Float(0xc25d9a0f), SkBits2Float(0xc2265613), SkBits2Float(0xc29ffd9f), SkBits2Float(0xc0cf8787), SkBits2Float(0xc2a57e12));
  4563. path.lineTo(SkBits2Float(0xc09605ca), SkBits2Float(0xc26f4428));
  4564. path.cubicTo(SkBits2Float(0xc1f07c7d), SkBits2Float(0xc2674fd1), SkBits2Float(0xc24dac50), SkBits2Float(0xc22031a9), SkBits2Float(0xc267e62b), SkBits2Float(0xc1775074));
  4565. path.cubicTo(SkBits2Float(0xc2811003), SkBits2Float(0x411225be), SkBits2Float(0xc25b70c1), SkBits2Float(0x420cbef2), SkBits2Float(0xc20761ad), SkBits2Float(0x42462bd0));
  4566. path.cubicTo(SkBits2Float(0xc14d4a68), SkBits2Float(0x427f98ac), SkBits2Float(0x416f472e), SkBits2Float(0x427dbe0b), SkBits2Float(0x420dea8f), SkBits2Float(0x42418b9b));
  4567. path.lineTo(SkBits2Float(0x42445140), SkBits2Float(0x4285de6e));
  4568. path.close();
  4569. SkPath path2(path);
  4570. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4571. }
  4572. // op end success 1
  4573. static void battleOp188(skiatest::Reporter* reporter, const char* filename) {
  4574. SkPath path;
  4575. path.setFillType((SkPath::FillType) 0);
  4576. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4577. path.cubicTo(SkBits2Float(0x42025498), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42789b1b), SkBits2Float(0xc27fbe84), SkBits2Float(0x42973334), SkBits2Float(0xc2090897));
  4578. path.cubicTo(SkBits2Float(0x42b218da), SkBits2Float(0xc092954a), SkBits2Float(0x42a7c71a), SkBits2Float(0x41f1c3b5), SkBits2Float(0x4279a1de), SkBits2Float(0x425ae0d9));
  4579. path.lineTo(SkBits2Float(0x42347503), SkBits2Float(0x421e39ac));
  4580. path.cubicTo(SkBits2Float(0x427291fe), SkBits2Float(0x41aec4fe), SkBits2Float(0x4280beb1), SkBits2Float(0xc053ed89), SkBits2Float(0x425a9a3a), SkBits2Float(0xc1c61ef1));
  4581. path.cubicTo(SkBits2Float(0x4233b713), SkBits2Float(0xc238e018), SkBits2Float(0x41bc6df5), SkBits2Float(0xc2700002), SkBits2Float(0xb7240057), SkBits2Float(0xc2700000));
  4582. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4583. path.close();
  4584. SkPath path1(path);
  4585. path.reset();
  4586. path.setFillType((SkPath::FillType) 0);
  4587. path.moveTo(SkBits2Float(0x4279a1de), SkBits2Float(0x425ae0d9));
  4588. path.cubicTo(SkBits2Float(0x4268e6ce), SkBits2Float(0x426df5b7), SkBits2Float(0x425609c8), SkBits2Float(0x427f0f64), SkBits2Float(0x42416967), SkBits2Float(0x4286ec0f));
  4589. path.lineTo(SkBits2Float(0x420bd0d2), SkBits2Float(0x42431170));
  4590. path.cubicTo(SkBits2Float(0x421ab9f8), SkBits2Float(0x4238617e), SkBits2Float(0x42285cd4), SkBits2Float(0x422c04e7), SkBits2Float(0x42347505), SkBits2Float(0x421e39ac));
  4591. path.lineTo(SkBits2Float(0x4279a1de), SkBits2Float(0x425ae0d9));
  4592. path.close();
  4593. SkPath path2(path);
  4594. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4595. }
  4596. // op end success 1
  4597. static void battleOp189(skiatest::Reporter* reporter, const char* filename) {
  4598. SkPath path;
  4599. path.setFillType((SkPath::FillType) 1);
  4600. path.moveTo(SkBits2Float(0xb7240057), SkBits2Float(0xc2700000));
  4601. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4602. path.cubicTo(SkBits2Float(0x42025498), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42789b1b), SkBits2Float(0xc27fbe84), SkBits2Float(0x42973334), SkBits2Float(0xc2090897));
  4603. path.cubicTo(SkBits2Float(0x42b218da), SkBits2Float(0xc092954a), SkBits2Float(0x42a7c71a), SkBits2Float(0x41f1c3b5), SkBits2Float(0x4279a1de), SkBits2Float(0x425ae0d9));
  4604. path.cubicTo(SkBits2Float(0x4268e6ce), SkBits2Float(0x426df5b7), SkBits2Float(0x425609c8), SkBits2Float(0x427f0f64), SkBits2Float(0x42416967), SkBits2Float(0x4286ec0f));
  4605. path.lineTo(SkBits2Float(0x420bd0d2), SkBits2Float(0x42431170));
  4606. path.cubicTo(SkBits2Float(0x421ab9f8), SkBits2Float(0x4238617e), SkBits2Float(0x42285cd4), SkBits2Float(0x422c04e7), SkBits2Float(0x42347505), SkBits2Float(0x421e39ac));
  4607. path.lineTo(SkBits2Float(0x42347503), SkBits2Float(0x421e39ac));
  4608. path.cubicTo(SkBits2Float(0x427291fe), SkBits2Float(0x41aec4fe), SkBits2Float(0x4280beb1), SkBits2Float(0xc053ed89), SkBits2Float(0x425a9a3a), SkBits2Float(0xc1c61ef1));
  4609. path.cubicTo(SkBits2Float(0x4233b713), SkBits2Float(0xc238e018), SkBits2Float(0x41bc6df5), SkBits2Float(0xc2700002), SkBits2Float(0xb7240057), SkBits2Float(0xc2700000));
  4610. path.close();
  4611. SkPath path1(path);
  4612. path.reset();
  4613. path.setFillType((SkPath::FillType) 0);
  4614. path.moveTo(SkBits2Float(0x42416967), SkBits2Float(0x4286ec0f));
  4615. path.cubicTo(SkBits2Float(0x419cd99a), SkBits2Float(0x42b02173), SkBits2Float(0xc19850b8), SkBits2Float(0x42b06117), SkBits2Float(0xc23fac11), SkBits2Float(0x42878a96));
  4616. path.cubicTo(SkBits2Float(0xc29997e3), SkBits2Float(0x423d682a), SkBits2Float(0xc2b3208c), SkBits2Float(0x412e025f), SkBits2Float(0xc29f71a3), SkBits2Float(0xc1b8c415));
  4617. path.cubicTo(SkBits2Float(0xc28bc2ba), SkBits2Float(0xc26444ae), SkBits2Float(0xc21e5e96), SkBits2Float(0xc2a223df), SkBits2Float(0xc088ac52), SkBits2Float(0xc2a5c7b3));
  4618. path.lineTo(SkBits2Float(0xc0459a01), SkBits2Float(0xc26fae99));
  4619. path.cubicTo(SkBits2Float(0xc1e4f7d0), SkBits2Float(0xc26a6b5c), SkBits2Float(0xc24a1045), SkBits2Float(0xc225035c), SkBits2Float(0xc266856e), SkBits2Float(0xc18590cd));
  4620. path.cubicTo(SkBits2Float(0xc2817d4a), SkBits2Float(0x40fb9475), SkBits2Float(0xc25e0ffd), SkBits2Float(0x4208ebae), SkBits2Float(0xc20a8edd), SkBits2Float(0x4243f69e));
  4621. path.cubicTo(SkBits2Float(0xc15c36ee), SkBits2Float(0x427f018f), SkBits2Float(0x4162c57c), SkBits2Float(0x427ea58e), SkBits2Float(0x420bd0d7), SkBits2Float(0x4243116e));
  4622. path.lineTo(SkBits2Float(0x42416967), SkBits2Float(0x4286ec0f));
  4623. path.close();
  4624. SkPath path2(path);
  4625. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4626. }
  4627. // op end success 1
  4628. static void battleOp190(skiatest::Reporter* reporter, const char* filename) {
  4629. SkPath path;
  4630. path.setFillType((SkPath::FillType) 0);
  4631. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4632. path.cubicTo(SkBits2Float(0x4202b56e), SkBits2Float(0xc2a60000), SkBits2Float(0x427940ff), SkBits2Float(0xc27f4e67), SkBits2Float(0x42976a2d), SkBits2Float(0xc20814ff));
  4633. path.cubicTo(SkBits2Float(0x42b233da), SkBits2Float(0xc086dcb5), SkBits2Float(0x42a78518), SkBits2Float(0x41f56a27), SkBits2Float(0x42784037), SkBits2Float(0x425c71a4));
  4634. path.lineTo(SkBits2Float(0x4233755d), SkBits2Float(0x421f5b67));
  4635. path.cubicTo(SkBits2Float(0x4272328d), SkBits2Float(0x41b16880), SkBits2Float(0x4280d235), SkBits2Float(0xc042fb32), SkBits2Float(0x425ae9b3), SkBits2Float(0xc1c4bebc));
  4636. path.cubicTo(SkBits2Float(0x42342efc), SkBits2Float(0xc2388f09), SkBits2Float(0x41bcf9fa), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4637. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4638. path.close();
  4639. SkPath path1(path);
  4640. path.reset();
  4641. path.setFillType((SkPath::FillType) 0);
  4642. path.moveTo(SkBits2Float(0x42784038), SkBits2Float(0x425c71a4));
  4643. path.cubicTo(SkBits2Float(0x42675aa4), SkBits2Float(0x426f78d5), SkBits2Float(0x4254535c), SkBits2Float(0x42803f48), SkBits2Float(0x423f8a54), SkBits2Float(0x4287967e));
  4644. path.lineTo(SkBits2Float(0x420a7682), SkBits2Float(0x424407da));
  4645. path.cubicTo(SkBits2Float(0x42197d0c), SkBits2Float(0x42396aed), SkBits2Float(0x42273e74), SkBits2Float(0x422d1cc3), SkBits2Float(0x4233755f), SkBits2Float(0x421f5b68));
  4646. path.lineTo(SkBits2Float(0x42784038), SkBits2Float(0x425c71a4));
  4647. path.close();
  4648. SkPath path2(path);
  4649. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4650. }
  4651. // op end success 1
  4652. static void battleOp191(skiatest::Reporter* reporter, const char* filename) {
  4653. SkPath path;
  4654. path.setFillType((SkPath::FillType) 1);
  4655. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4656. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4657. path.cubicTo(SkBits2Float(0x4202b56e), SkBits2Float(0xc2a60000), SkBits2Float(0x427940ff), SkBits2Float(0xc27f4e67), SkBits2Float(0x42976a2d), SkBits2Float(0xc20814ff));
  4658. path.cubicTo(SkBits2Float(0x42b233da), SkBits2Float(0xc086dcb5), SkBits2Float(0x42a78518), SkBits2Float(0x41f56a27), SkBits2Float(0x42784038), SkBits2Float(0x425c71a4));
  4659. path.cubicTo(SkBits2Float(0x42675aa4), SkBits2Float(0x426f78d5), SkBits2Float(0x4254535c), SkBits2Float(0x42803f48), SkBits2Float(0x423f8a54), SkBits2Float(0x4287967e));
  4660. path.lineTo(SkBits2Float(0x420a7682), SkBits2Float(0x424407da));
  4661. path.cubicTo(SkBits2Float(0x42197d0c), SkBits2Float(0x42396aed), SkBits2Float(0x42273e74), SkBits2Float(0x422d1cc3), SkBits2Float(0x4233755f), SkBits2Float(0x421f5b68));
  4662. path.lineTo(SkBits2Float(0x4233755d), SkBits2Float(0x421f5b67));
  4663. path.cubicTo(SkBits2Float(0x4272328d), SkBits2Float(0x41b16880), SkBits2Float(0x4280d235), SkBits2Float(0xc042fb32), SkBits2Float(0x425ae9b3), SkBits2Float(0xc1c4bebc));
  4664. path.cubicTo(SkBits2Float(0x42342efc), SkBits2Float(0xc2388f09), SkBits2Float(0x41bcf9fa), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  4665. path.close();
  4666. SkPath path1(path);
  4667. path.reset();
  4668. path.setFillType((SkPath::FillType) 0);
  4669. path.moveTo(SkBits2Float(0x423f8a55), SkBits2Float(0x4287967f));
  4670. path.cubicTo(SkBits2Float(0x41974ba2), SkBits2Float(0x42b0846d), SkBits2Float(0xc19ee9a3), SkBits2Float(0x42b01937), SkBits2Float(0xc2427547), SkBits2Float(0x42868bae));
  4671. path.cubicTo(SkBits2Float(0xc29abade), SkBits2Float(0x4239fc4c), SkBits2Float(0xc2b3780d), SkBits2Float(0x411bee16), SkBits2Float(0xc29ecbab), SkBits2Float(0xc1c17e4f));
  4672. path.cubicTo(SkBits2Float(0xc28a1f48), SkBits2Float(0xc26879d6), SkBits2Float(0xc2193674), SkBits2Float(0xc2a376c5), SkBits2Float(0xc0368c8c), SkBits2Float(0xc2a5e6e5));
  4673. path.lineTo(SkBits2Float(0xc003f6b5), SkBits2Float(0xc26fdbb6));
  4674. path.cubicTo(SkBits2Float(0xc1dd8323), SkBits2Float(0xc26c555a), SkBits2Float(0xc247b1d3), SkBits2Float(0xc2280e0b), SkBits2Float(0xc2659575), SkBits2Float(0xc18bdff2));
  4675. path.cubicTo(SkBits2Float(0xc281bc8c), SkBits2Float(0x40e170d0), SkBits2Float(0xc25fb4ae), SkBits2Float(0x42067283), SkBits2Float(0xc20c926e), SkBits2Float(0x42428613));
  4676. path.cubicTo(SkBits2Float(0xc165c0b5), SkBits2Float(0x427e99a3), SkBits2Float(0x415abda1), SkBits2Float(0x427f34a6), SkBits2Float(0x420a7686), SkBits2Float(0x424407d8));
  4677. path.lineTo(SkBits2Float(0x423f8a55), SkBits2Float(0x4287967f));
  4678. path.close();
  4679. SkPath path2(path);
  4680. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4681. }
  4682. // op end success 1
  4683. static void battleOp192(skiatest::Reporter* reporter, const char* filename) {
  4684. SkPath path;
  4685. path.setFillType((SkPath::FillType) 0);
  4686. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4687. path.cubicTo(SkBits2Float(0x4202fa25), SkBits2Float(0xc2a60000), SkBits2Float(0x4279b699), SkBits2Float(0xc27efea4), SkBits2Float(0x429790ee), SkBits2Float(0xc20767f9));
  4688. path.cubicTo(SkBits2Float(0x42b24690), SkBits2Float(0xc07d14fa), SkBits2Float(0x42a75587), SkBits2Float(0x41f80076), SkBits2Float(0x427743d2), SkBits2Float(0x425d8c9b));
  4689. path.lineTo(SkBits2Float(0x4232bee9), SkBits2Float(0x422027f2));
  4690. path.cubicTo(SkBits2Float(0x4271edc7), SkBits2Float(0x41b34741), SkBits2Float(0x4280dfbb), SkBits2Float(0xc036f37a), SkBits2Float(0x425b21bb), SkBits2Float(0xc1c3c49a));
  4691. path.cubicTo(SkBits2Float(0x423483ff), SkBits2Float(0xc2385562), SkBits2Float(0x41bd5d54), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  4692. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4693. path.close();
  4694. SkPath path1(path);
  4695. path.reset();
  4696. path.setFillType((SkPath::FillType) 0);
  4697. path.moveTo(SkBits2Float(0x427743d4), SkBits2Float(0x425d8c98));
  4698. path.cubicTo(SkBits2Float(0x4266401a), SkBits2Float(0x427089e5), SkBits2Float(0x42531ae2), SkBits2Float(0x4280c0a0), SkBits2Float(0x423e3514), SkBits2Float(0x42880e64));
  4699. path.lineTo(SkBits2Float(0x42097fd1), SkBits2Float(0x4244b531));
  4700. path.cubicTo(SkBits2Float(0x42189b26), SkBits2Float(0x423a25ea), SkBits2Float(0x42267233), SkBits2Float(0x422de224), SkBits2Float(0x4232beea), SkBits2Float(0x422027f3));
  4701. path.lineTo(SkBits2Float(0x427743d4), SkBits2Float(0x425d8c98));
  4702. path.close();
  4703. SkPath path2(path);
  4704. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4705. }
  4706. static void battleOp193(skiatest::Reporter* reporter, const char* filename) {
  4707. SkPath path;
  4708. path.setFillType((SkPath::FillType) 0);
  4709. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4710. path.cubicTo(SkBits2Float(0x3e15a675), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e95a67a), SkBits2Float(0xc2a5ffcd), SkBits2Float(0x3ee07980), SkBits2Float(0xc2a5ff68));
  4711. path.lineTo(SkBits2Float(0x3ea245bb), SkBits2Float(0xc26fff25));
  4712. path.cubicTo(SkBits2Float(0x3e585de0), SkBits2Float(0xc26fffb9), SkBits2Float(0x3dd85f11), SkBits2Float(0xc2700000), SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  4713. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4714. path.close();
  4715. SkPath path1(path);
  4716. path.reset();
  4717. path.setFillType((SkPath::FillType) 0);
  4718. path.moveTo(SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  4719. path.cubicTo(SkBits2Float(0x3ee7f565), SkBits2Float(0xc2a5ff5d), SkBits2Float(0x3eef70d9), SkBits2Float(0xc2a5ff52), SkBits2Float(0x3ef6ec4d), SkBits2Float(0xc2a5ff47));
  4720. path.lineTo(SkBits2Float(0x3eb27fdb), SkBits2Float(0xc26ffef6));
  4721. path.cubicTo(SkBits2Float(0x3ead1768), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea7aebe), SkBits2Float(0xc26fff17), SkBits2Float(0x3ea24612), SkBits2Float(0xc26fff26));
  4722. path.lineTo(SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  4723. path.close();
  4724. SkPath path2(path);
  4725. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4726. }
  4727. // op end success 1
  4728. static void battleOp194(skiatest::Reporter* reporter, const char* filename) {
  4729. SkPath path;
  4730. path.setFillType((SkPath::FillType) 1);
  4731. path.moveTo(SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  4732. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4733. path.cubicTo(SkBits2Float(0x3e15a675), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e95a67a), SkBits2Float(0xc2a5ffcd), SkBits2Float(0x3ee07a10), SkBits2Float(0xc2a5ff68));
  4734. path.lineTo(SkBits2Float(0x3ef6ec4d), SkBits2Float(0xc2a5ff47));
  4735. path.lineTo(SkBits2Float(0x3eb27fdb), SkBits2Float(0xc26ffef6));
  4736. path.cubicTo(SkBits2Float(0x3ead1768), SkBits2Float(0xc26fff07), SkBits2Float(0x3ea7aebe), SkBits2Float(0xc26fff17), SkBits2Float(0x3ea245bb), SkBits2Float(0xc26fff25));
  4737. path.cubicTo(SkBits2Float(0x3e585de0), SkBits2Float(0xc26fffb9), SkBits2Float(0x3dd85f11), SkBits2Float(0xc2700000), SkBits2Float(0x3691e768), SkBits2Float(0xc2700000));
  4738. path.close();
  4739. SkPath path1(path);
  4740. path.reset();
  4741. path.setFillType((SkPath::FillType) 0);
  4742. path.moveTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48));
  4743. path.cubicTo(SkBits2Float(0x3f3816c9), SkBits2Float(0xc2a5fe94), SkBits2Float(0x3f74b6e1), SkBits2Float(0xc2a5fd5b), SkBits2Float(0x3f98ab0b), SkBits2Float(0xc2a5fb9d));
  4744. path.lineTo(SkBits2Float(0x3f5cb973), SkBits2Float(0xc26ff9a8));
  4745. path.cubicTo(SkBits2Float(0x3f30e6e7), SkBits2Float(0xc26ffc2e), SkBits2Float(0x3f05138e), SkBits2Float(0xc26ffdf2), SkBits2Float(0x3eb27fc6), SkBits2Float(0xc26ffef7));
  4746. path.lineTo(SkBits2Float(0x3ef6ec9b), SkBits2Float(0xc2a5ff48));
  4747. path.close();
  4748. SkPath path2(path);
  4749. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4750. }
  4751. // op end success 1
  4752. static void battleOp195(skiatest::Reporter* reporter, const char* filename) {
  4753. SkPath path;
  4754. path.setFillType((SkPath::FillType) 0);
  4755. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4756. path.cubicTo(SkBits2Float(0x3f0607d9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3f860760), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc90825), SkBits2Float(0xc2a5f863));
  4757. path.lineTo(SkBits2Float(0x3f9152f7), SkBits2Float(0xc26ff500));
  4758. path.cubicTo(SkBits2Float(0x3f41c6b2), SkBits2Float(0xc26ffc55), SkBits2Float(0x3ec1c794), SkBits2Float(0xc26fffff), SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff));
  4759. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4760. path.close();
  4761. SkPath path1(path);
  4762. path.reset();
  4763. path.setFillType((SkPath::FillType) 0);
  4764. path.moveTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
  4765. path.cubicTo(SkBits2Float(0x3fcfbb75), SkBits2Float(0xc2a5f7e2), SkBits2Float(0x3fd66eab), SkBits2Float(0xc2a5f75a), SkBits2Float(0x3fdd21d8), SkBits2Float(0xc2a5f6cb));
  4766. path.lineTo(SkBits2Float(0x3f9fdac0), SkBits2Float(0xc26ff2b1));
  4767. path.cubicTo(SkBits2Float(0x3f9b02da), SkBits2Float(0xc26ff37f), SkBits2Float(0x3f962add), SkBits2Float(0xc26ff444), SkBits2Float(0x3f9152da), SkBits2Float(0xc26ff500));
  4768. path.lineTo(SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
  4769. path.close();
  4770. SkPath path2(path);
  4771. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4772. }
  4773. // op end success 1
  4774. static void battleOp196(skiatest::Reporter* reporter, const char* filename) {
  4775. SkPath path;
  4776. path.setFillType((SkPath::FillType) 1);
  4777. path.moveTo(SkBits2Float(0x36a51f4a), SkBits2Float(0xc26fffff));
  4778. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4779. path.cubicTo(SkBits2Float(0x3f0607d1), SkBits2Float(0xc2a60000), SkBits2Float(0x3f860758), SkBits2Float(0xc2a5fd76), SkBits2Float(0x3fc9081a), SkBits2Float(0xc2a5f864));
  4780. SkPath path1(path);
  4781. path.reset();
  4782. path.setFillType((SkPath::FillType) 0);
  4783. path.moveTo(SkBits2Float(0x3fdd21ce), SkBits2Float(0xc2a5f6cb));
  4784. path.cubicTo(SkBits2Float(0x4024daa1), SkBits2Float(0xc2a5edc0), SkBits2Float(0x405b1f05), SkBits2Float(0xc2a5de0d), SkBits2Float(0x4088aca3), SkBits2Float(0xc2a5c7b3));
  4785. path.lineTo(SkBits2Float(0x40459a01), SkBits2Float(0xc26fae99));
  4786. path.cubicTo(SkBits2Float(0x401e66a3), SkBits2Float(0xc26fceed), SkBits2Float(0x3fee57cd), SkBits2Float(0xc26fe5a0), SkBits2Float(0x3f9fdaba), SkBits2Float(0xc26ff2b3));
  4787. path.lineTo(SkBits2Float(0x3fdd21ce), SkBits2Float(0xc2a5f6cb));
  4788. path.close();
  4789. SkPath path2(path);
  4790. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4791. }
  4792. // op end success 1
  4793. static void battleOp197(skiatest::Reporter* reporter, const char* filename) {
  4794. SkPath path;
  4795. path.setFillType((SkPath::FillType) 0);
  4796. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4797. path.cubicTo(SkBits2Float(0x3fa0bd52), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4020babd), SkBits2Float(0xc2a5f168), SkBits2Float(0x40710446), SkBits2Float(0xc2a5d43c));
  4798. path.lineTo(SkBits2Float(0x402e3a94), SkBits2Float(0xc26fc0ba));
  4799. path.cubicTo(SkBits2Float(0x3fe86158), SkBits2Float(0xc26feae9), SkBits2Float(0x3f686554), SkBits2Float(0xc2700000), SkBits2Float(0x369bbf59), SkBits2Float(0xc2700000));
  4800. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4801. path.close();
  4802. SkPath path1(path);
  4803. path.reset();
  4804. path.setFillType((SkPath::FillType) 0);
  4805. path.moveTo(SkBits2Float(0x4071043c), SkBits2Float(0xc2a5d43c));
  4806. path.cubicTo(SkBits2Float(0x40790b78), SkBits2Float(0xc2a5d151), SkBits2Float(0x40808943), SkBits2Float(0xc2a5ce41), SkBits2Float(0x40848cac), SkBits2Float(0xc2a5cb0c));
  4807. path.lineTo(SkBits2Float(0x403fa34c), SkBits2Float(0xc26fb371));
  4808. path.cubicTo(SkBits2Float(0x4039d5dd), SkBits2Float(0xc26fb815), SkBits2Float(0x40340849), SkBits2Float(0xc26fbc83), SkBits2Float(0x402e3a8d), SkBits2Float(0xc26fc0bb));
  4809. path.lineTo(SkBits2Float(0x4071043c), SkBits2Float(0xc2a5d43c));
  4810. path.close();
  4811. SkPath path2(path);
  4812. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4813. }
  4814. // op end success 1
  4815. static void battleOp198(skiatest::Reporter* reporter, const char* filename) {
  4816. SkPath path;
  4817. path.setFillType((SkPath::FillType) 1);
  4818. path.moveTo(SkBits2Float(0x369bbf59), SkBits2Float(0xc2700000));
  4819. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4820. path.cubicTo(SkBits2Float(0x3fa0bd4b), SkBits2Float(0xc2a60000), SkBits2Float(0x4020bab6), SkBits2Float(0xc2a5f168), SkBits2Float(0x4071043c), SkBits2Float(0xc2a5d43c));
  4821. path.lineTo(SkBits2Float(0x40710446), SkBits2Float(0xc2a5d43c));
  4822. path.cubicTo(SkBits2Float(0x40790b7f), SkBits2Float(0xc2a5d151), SkBits2Float(0x40808945), SkBits2Float(0xc2a5ce41), SkBits2Float(0x40848cac), SkBits2Float(0xc2a5cb0c));
  4823. path.lineTo(SkBits2Float(0x403fa34c), SkBits2Float(0xc26fb371));
  4824. path.quadTo(SkBits2Float(0x4036ef2a), SkBits2Float(0xc26fba67), SkBits2Float(0x402e3a95), SkBits2Float(0xc26fc0bb));
  4825. path.lineTo(SkBits2Float(0x402e3a94), SkBits2Float(0xc26fc0ba));
  4826. path.cubicTo(SkBits2Float(0x3fe86158), SkBits2Float(0xc26feae9), SkBits2Float(0x3f686554), SkBits2Float(0xc2700000), SkBits2Float(0x369bbf59), SkBits2Float(0xc2700000));
  4827. path.close();
  4828. SkPath path1(path);
  4829. path.reset();
  4830. path.setFillType((SkPath::FillType) 0);
  4831. path.moveTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
  4832. path.cubicTo(SkBits2Float(0x40c597bc), SkBits2Float(0xc2a5970c), SkBits2Float(0x41033f43), SkBits2Float(0xc2a53cca), SkBits2Float(0x41238fb3), SkBits2Float(0xc2a4bc74));
  4833. path.lineTo(SkBits2Float(0x40ec7963), SkBits2Float(0xc26e2c38));
  4834. path.cubicTo(SkBits2Float(0x40bdc13f), SkBits2Float(0xc26ee5c4), SkBits2Float(0x408ed689), SkBits2Float(0xc26f6843), SkBits2Float(0x403fa341), SkBits2Float(0xc26fb372));
  4835. path.lineTo(SkBits2Float(0x40848cae), SkBits2Float(0xc2a5cb0c));
  4836. path.close();
  4837. SkPath path2(path);
  4838. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4839. }
  4840. // op end success 1
  4841. static void battleOp199(skiatest::Reporter* reporter, const char* filename) {
  4842. SkPath path;
  4843. path.setFillType((SkPath::FillType) 0);
  4844. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4845. path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d32), SkBits2Float(0xc2a592c7));
  4846. path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217));
  4847. path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc26fffff));
  4848. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4849. path.close();
  4850. SkPath path1(path);
  4851. path.reset();
  4852. path.setFillType((SkPath::FillType) 0);
  4853. path.moveTo(SkBits2Float(0x40be4d37), SkBits2Float(0xc2a592c7));
  4854. path.cubicTo(SkBits2Float(0x40c4a257), SkBits2Float(0xc2a58b80), SkBits2Float(0x40caf70c), SkBits2Float(0xc2a583db), SkBits2Float(0x40d14b4e), SkBits2Float(0xc2a57bda));
  4855. path.lineTo(SkBits2Float(0x40974c04), SkBits2Float(0xc26f40f2));
  4856. path.cubicTo(SkBits2Float(0x4092b8c1), SkBits2Float(0xc26f4c86), SkBits2Float(0x408e252c), SkBits2Float(0xc26f5792), SkBits2Float(0x4089914a), SkBits2Float(0xc26f6219));
  4857. path.lineTo(SkBits2Float(0x40be4d37), SkBits2Float(0xc2a592c7));
  4858. path.close();
  4859. SkPath path2(path);
  4860. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4861. }
  4862. // op end success 1
  4863. static void battleOp200(skiatest::Reporter* reporter, const char* filename) {
  4864. SkPath path;
  4865. path.setFillType((SkPath::FillType) 1);
  4866. path.moveTo(SkBits2Float(0x3673fea3), SkBits2Float(0xc26fffff));
  4867. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4868. path.cubicTo(SkBits2Float(0x3ffdfad4), SkBits2Float(0xc2a60000), SkBits2Float(0x407df074), SkBits2Float(0xc2a5db92), SkBits2Float(0x40be4d37), SkBits2Float(0xc2a592c7));
  4869. path.cubicTo(SkBits2Float(0x40c4a257), SkBits2Float(0xc2a58b80), SkBits2Float(0x40caf70c), SkBits2Float(0xc2a583db), SkBits2Float(0x40d14b4e), SkBits2Float(0xc2a57bda));
  4870. path.lineTo(SkBits2Float(0x40974c04), SkBits2Float(0xc26f40f2));
  4871. path.cubicTo(SkBits2Float(0x4092b8c1), SkBits2Float(0xc26f4c86), SkBits2Float(0x408e252c), SkBits2Float(0xc26f5792), SkBits2Float(0x4089914a), SkBits2Float(0xc26f6219));
  4872. path.lineTo(SkBits2Float(0x40899143), SkBits2Float(0xc26f6217));
  4873. path.cubicTo(SkBits2Float(0x40379219), SkBits2Float(0xc26fcb54), SkBits2Float(0x3fb799b8), SkBits2Float(0xc26fffff), SkBits2Float(0x3673fea3), SkBits2Float(0xc26fffff));
  4874. path.close();
  4875. SkPath path1(path);
  4876. path.reset();
  4877. path.setFillType((SkPath::FillType) 0);
  4878. path.moveTo(SkBits2Float(0x40d14b4a), SkBits2Float(0xc2a57bdb));
  4879. path.cubicTo(SkBits2Float(0x411bf161), SkBits2Float(0xc2a4fa1a), SkBits2Float(0x414ef5ad), SkBits2Float(0xc2a4190e), SkBits2Float(0x4180b83e), SkBits2Float(0xc2a2d9dc));
  4880. path.lineTo(SkBits2Float(0x413a19cf), SkBits2Float(0xc26b727f));
  4881. path.cubicTo(SkBits2Float(0x41159c04), SkBits2Float(0xc26d3fff), SkBits2Float(0x40e175a8), SkBits2Float(0xc26e855c), SkBits2Float(0x40974c02), SkBits2Float(0xc26f40f4));
  4882. path.lineTo(SkBits2Float(0x40d14b4a), SkBits2Float(0xc2a57bdb));
  4883. path.close();
  4884. SkPath path2(path);
  4885. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4886. }
  4887. // op end success 1
  4888. static void battleOp201(skiatest::Reporter* reporter, const char* filename) {
  4889. SkPath path;
  4890. path.setFillType((SkPath::FillType) 0);
  4891. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4892. path.cubicTo(SkBits2Float(0x4059d383), SkBits2Float(0xc2a5ffff), SkBits2Float(0x40d9b918), SkBits2Float(0xc2a594d0), SkBits2Float(0x4122e820), SkBits2Float(0xc2a4bf0c));
  4893. path.lineTo(SkBits2Float(0x40eb871c), SkBits2Float(0xc26e2ff8));
  4894. path.cubicTo(SkBits2Float(0x409d63e0), SkBits2Float(0xc26f6508), SkBits2Float(0x401d76fa), SkBits2Float(0xc2700000), SkBits2Float(0x35f7fd4a), SkBits2Float(0xc2700000));
  4895. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4896. path.close();
  4897. SkPath path1(path);
  4898. path.reset();
  4899. path.setFillType((SkPath::FillType) 0);
  4900. path.moveTo(SkBits2Float(0x4122e81e), SkBits2Float(0xc2a4bf0c));
  4901. path.cubicTo(SkBits2Float(0x41284f3c), SkBits2Float(0xc2a4a9ac), SkBits2Float(0x412db549), SkBits2Float(0xc2a4933e), SkBits2Float(0x41331a33), SkBits2Float(0xc2a47bbf));
  4902. path.lineTo(SkBits2Float(0x410178be), SkBits2Float(0xc26dceac));
  4903. path.cubicTo(SkBits2Float(0x40fb24f7), SkBits2Float(0xc26df0a4), SkBits2Float(0x40f356d1), SkBits2Float(0xc26e1114), SkBits2Float(0x40eb871f), SkBits2Float(0xc26e2ff8));
  4904. path.lineTo(SkBits2Float(0x4122e81e), SkBits2Float(0xc2a4bf0c));
  4905. path.close();
  4906. SkPath path2(path);
  4907. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4908. }
  4909. // op end success 1
  4910. static void battleOp202(skiatest::Reporter* reporter, const char* filename) {
  4911. SkPath path;
  4912. path.setFillType((SkPath::FillType) 1);
  4913. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4914. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4915. path.cubicTo(SkBits2Float(0x4059d380), SkBits2Float(0xc2a60000), SkBits2Float(0x40d9b915), SkBits2Float(0xc2a594d0), SkBits2Float(0x4122e81e), SkBits2Float(0xc2a4bf0c));
  4916. path.lineTo(SkBits2Float(0x4122e820), SkBits2Float(0xc2a4bf0c));
  4917. path.cubicTo(SkBits2Float(0x41284f3d), SkBits2Float(0xc2a4a9ac), SkBits2Float(0x412db54a), SkBits2Float(0xc2a4933e), SkBits2Float(0x41331a33), SkBits2Float(0xc2a47bbf));
  4918. path.lineTo(SkBits2Float(0x410178be), SkBits2Float(0xc26dceac));
  4919. path.cubicTo(SkBits2Float(0x40fb24f7), SkBits2Float(0xc26df0a4), SkBits2Float(0x40f356d1), SkBits2Float(0xc26e1114), SkBits2Float(0x40eb871f), SkBits2Float(0xc26e2ff8));
  4920. path.lineTo(SkBits2Float(0x40eb871c), SkBits2Float(0xc26e2ff8));
  4921. path.cubicTo(SkBits2Float(0x409d63e0), SkBits2Float(0xc26f6508), SkBits2Float(0x401d76fa), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  4922. path.close();
  4923. SkPath path1(path);
  4924. path.reset();
  4925. path.setFillType((SkPath::FillType) 0);
  4926. path.moveTo(SkBits2Float(0x41331a39), SkBits2Float(0xc2a47bc0));
  4927. path.cubicTo(SkBits2Float(0x41854b40), SkBits2Float(0xc2a2feb5), SkBits2Float(0x41b05576), SkBits2Float(0xc2a06b6c), SkBits2Float(0x41da0834), SkBits2Float(0xc29ccbb1));
  4928. path.lineTo(SkBits2Float(0x419d9d10), SkBits2Float(0xc262b148));
  4929. path.cubicTo(SkBits2Float(0x417ef0c0), SkBits2Float(0xc267ee96), SkBits2Float(0x4140b6cf), SkBits2Float(0xc26ba7c4), SkBits2Float(0x410178c0), SkBits2Float(0xc26dcead));
  4930. path.lineTo(SkBits2Float(0x41331a39), SkBits2Float(0xc2a47bc0));
  4931. path.close();
  4932. SkPath path2(path);
  4933. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4934. }
  4935. // op end success 1
  4936. static void battleOp203(skiatest::Reporter* reporter, const char* filename) {
  4937. SkPath path;
  4938. path.setFillType((SkPath::FillType) 0);
  4939. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4940. path.cubicTo(SkBits2Float(0x4087af55), SkBits2Float(0xc2a5ffff), SkBits2Float(0x410795c5), SkBits2Float(0xc2a559a4), SkBits2Float(0x414aa20a), SkBits2Float(0xc2a40e63));
  4941. path.lineTo(SkBits2Float(0x41127b4b), SkBits2Float(0xc26d308f));
  4942. path.cubicTo(SkBits2Float(0x40c406cd), SkBits2Float(0xc26f0f7b), SkBits2Float(0x40442bc2), SkBits2Float(0xc26fffff), SkBits2Float(0x36b5ff52), SkBits2Float(0xc26fffff));
  4943. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4944. path.close();
  4945. SkPath path1(path);
  4946. path.reset();
  4947. path.setFillType((SkPath::FillType) 0);
  4948. path.moveTo(SkBits2Float(0x414aa206), SkBits2Float(0xc2a40e63));
  4949. path.cubicTo(SkBits2Float(0x4151559c), SkBits2Float(0xc2a3ed46), SkBits2Float(0x41580726), SkBits2Float(0xc2a3ca86), SkBits2Float(0x415eb67b), SkBits2Float(0xc2a3a622));
  4950. path.lineTo(SkBits2Float(0x4120ff4d), SkBits2Float(0xc26c99d6));
  4951. path.cubicTo(SkBits2Float(0x411c2a2f), SkBits2Float(0xc26cce74), SkBits2Float(0x41175378), SkBits2Float(0xc26d00b1), SkBits2Float(0x41127b46), SkBits2Float(0xc26d308f));
  4952. path.lineTo(SkBits2Float(0x414aa206), SkBits2Float(0xc2a40e63));
  4953. path.close();
  4954. SkPath path2(path);
  4955. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4956. }
  4957. // op end success 1
  4958. static void battleOp204(skiatest::Reporter* reporter, const char* filename) {
  4959. SkPath path;
  4960. path.setFillType((SkPath::FillType) 1);
  4961. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc26fffff));
  4962. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  4963. path.cubicTo(SkBits2Float(0x4087af52), SkBits2Float(0xc2a60000), SkBits2Float(0x410795c2), SkBits2Float(0xc2a559a4), SkBits2Float(0x414aa206), SkBits2Float(0xc2a40e63));
  4964. path.lineTo(SkBits2Float(0x414aa20a), SkBits2Float(0xc2a40e63));
  4965. path.cubicTo(SkBits2Float(0x4151559f), SkBits2Float(0xc2a3ed46), SkBits2Float(0x41580727), SkBits2Float(0xc2a3ca86), SkBits2Float(0x415eb67b), SkBits2Float(0xc2a3a622));
  4966. path.lineTo(SkBits2Float(0x4120ff4d), SkBits2Float(0xc26c99d6));
  4967. path.cubicTo(SkBits2Float(0x411c2a31), SkBits2Float(0xc26cce74), SkBits2Float(0x4117537b), SkBits2Float(0xc26d00b1), SkBits2Float(0x41127b4b), SkBits2Float(0xc26d308f));
  4968. path.lineTo(SkBits2Float(0x41127b46), SkBits2Float(0xc26d308f));
  4969. path.cubicTo(SkBits2Float(0x40c406c6), SkBits2Float(0xc26f0f7b), SkBits2Float(0x40442bbb), SkBits2Float(0xc26fffff), SkBits2Float(0x36b5ff52), SkBits2Float(0xc26fffff));
  4970. path.close();
  4971. SkPath path1(path);
  4972. path.reset();
  4973. path.setFillType((SkPath::FillType) 0);
  4974. path.moveTo(SkBits2Float(0x415eb680), SkBits2Float(0xc2a3a623));
  4975. path.cubicTo(SkBits2Float(0x41a59721), SkBits2Float(0xc2a157ad), SkBits2Float(0x41da77ab), SkBits2Float(0xc29d5c25), SkBits2Float(0x420662d7), SkBits2Float(0xc297cafd));
  4976. path.lineTo(SkBits2Float(0x41c24b0d), SkBits2Float(0xc25b75ac));
  4977. path.cubicTo(SkBits2Float(0x419deda5), SkBits2Float(0xc2638226), SkBits2Float(0x416f6860), SkBits2Float(0xc269442a), SkBits2Float(0x4120ff4a), SkBits2Float(0xc26c99d9));
  4978. path.lineTo(SkBits2Float(0x415eb680), SkBits2Float(0xc2a3a623));
  4979. path.close();
  4980. SkPath path2(path);
  4981. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  4982. }
  4983. // op end success 1
  4984. static void battleOp205(skiatest::Reporter* reporter, const char* filename) {
  4985. SkPath path;
  4986. path.setFillType((SkPath::FillType) 0);
  4987. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4988. path.cubicTo(SkBits2Float(0x40a2e582), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4122b94f), SkBits2Float(0xc2a51039), SkBits2Float(0x4172cca0), SkBits2Float(0xc2a333b4));
  4989. path.lineTo(SkBits2Float(0x412f847d), SkBits2Float(0xc26bf464));
  4990. path.cubicTo(SkBits2Float(0x40eb4376), SkBits2Float(0xc26ea556), SkBits2Float(0x406b836d), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  4991. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  4992. path.close();
  4993. SkPath path1(path);
  4994. path.reset();
  4995. path.setFillType((SkPath::FillType) 0);
  4996. path.moveTo(SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  4997. path.cubicTo(SkBits2Float(0x417acd1a), SkBits2Float(0xc2a30415), SkBits2Float(0x41816508), SkBits2Float(0xc2a2d21d), SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcb));
  4998. path.lineTo(SkBits2Float(0x4140d724), SkBits2Float(0xc26b1ba8));
  4999. path.cubicTo(SkBits2Float(0x413b139d), SkBits2Float(0xc26b674c), SkBits2Float(0x41354d54), SkBits2Float(0xc26baf8b), SkBits2Float(0x412f847c), SkBits2Float(0xc26bf463));
  5000. path.lineTo(SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  5001. path.close();
  5002. SkPath path2(path);
  5003. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5004. }
  5005. // op end success 1
  5006. static void battleOp206(skiatest::Reporter* reporter, const char* filename) {
  5007. SkPath path;
  5008. path.setFillType((SkPath::FillType) 1);
  5009. path.moveTo(SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  5010. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5011. path.cubicTo(SkBits2Float(0x40a2e57f), SkBits2Float(0xc2a60000), SkBits2Float(0x4122b94c), SkBits2Float(0xc2a51039), SkBits2Float(0x4172cc9b), SkBits2Float(0xc2a333b4));
  5012. path.lineTo(SkBits2Float(0x4172cca0), SkBits2Float(0xc2a333b4));
  5013. path.cubicTo(SkBits2Float(0x417acd1d), SkBits2Float(0xc2a30415), SkBits2Float(0x41816509), SkBits2Float(0xc2a2d21d), SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcb));
  5014. path.lineTo(SkBits2Float(0x4140d724), SkBits2Float(0xc26b1ba8));
  5015. path.cubicTo(SkBits2Float(0x413b139d), SkBits2Float(0xc26b674c), SkBits2Float(0x41354d54), SkBits2Float(0xc26baf8b), SkBits2Float(0x412f847c), SkBits2Float(0xc26bf463));
  5016. path.lineTo(SkBits2Float(0x412f847d), SkBits2Float(0xc26bf464));
  5017. path.cubicTo(SkBits2Float(0x40eb4376), SkBits2Float(0xc26ea556), SkBits2Float(0x406b836d), SkBits2Float(0xc2700000), SkBits2Float(0x36b5ff52), SkBits2Float(0xc2700000));
  5018. path.close();
  5019. SkPath path1(path);
  5020. path.reset();
  5021. path.setFillType((SkPath::FillType) 0);
  5022. path.moveTo(SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcc));
  5023. path.cubicTo(SkBits2Float(0x41c61a92), SkBits2Float(0xc29f4c69), SkBits2Float(0x42023dd6), SkBits2Float(0xc299958f), SkBits2Float(0x421f3a98), SkBits2Float(0xc291a994));
  5024. path.lineTo(SkBits2Float(0x41e635e1), SkBits2Float(0xc25298a5));
  5025. path.cubicTo(SkBits2Float(0x41bc4d11), SkBits2Float(0xc25e0caa), SkBits2Float(0x418f3524), SkBits2Float(0xc2664fa2), SkBits2Float(0x4140d729), SkBits2Float(0xc26b1ba9));
  5026. path.lineTo(SkBits2Float(0x4185619b), SkBits2Float(0xc2a29dcc));
  5027. path.close();
  5028. SkPath path2(path);
  5029. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5030. }
  5031. // op end success 1
  5032. static void battleOp207(skiatest::Reporter* reporter, const char* filename) {
  5033. SkPath path;
  5034. path.setFillType((SkPath::FillType) 0);
  5035. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5036. path.cubicTo(SkBits2Float(0x40c39389), SkBits2Float(0xc2a60000), SkBits2Float(0x414346f4), SkBits2Float(0xc2a4a65f), SkBits2Float(0x419158cf), SkBits2Float(0xc2a1f965));
  5037. path.lineTo(SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  5038. path.cubicTo(SkBits2Float(0x410d2a0c), SkBits2Float(0xc26e0c4b), SkBits2Float(0x408d616c), SkBits2Float(0xc2700000), SkBits2Float(0x35bbfd46), SkBits2Float(0xc2700000));
  5039. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5040. path.close();
  5041. SkPath path1(path);
  5042. path.reset();
  5043. path.setFillType((SkPath::FillType) 0);
  5044. path.moveTo(SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  5045. path.cubicTo(SkBits2Float(0x41961cea), SkBits2Float(0xc2a1b4f6), SkBits2Float(0x419addf6), SkBits2Float(0xc2a16d2c), SkBits2Float(0x419f9bbb), SkBits2Float(0xc2a12207));
  5046. path.lineTo(SkBits2Float(0x4166c251), SkBits2Float(0xc268f69a));
  5047. path.cubicTo(SkBits2Float(0x415fe778), SkBits2Float(0xc269633e), SkBits2Float(0x415907e2), SkBits2Float(0xc269cb09), SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  5048. path.lineTo(SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  5049. path.close();
  5050. SkPath path2(path);
  5051. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5052. }
  5053. // op end success 1
  5054. static void battleOp208(skiatest::Reporter* reporter, const char* filename) {
  5055. SkPath path;
  5056. path.setFillType((SkPath::FillType) 1);
  5057. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5058. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5059. path.cubicTo(SkBits2Float(0x40c39389), SkBits2Float(0xc2a60000), SkBits2Float(0x414346f4), SkBits2Float(0xc2a4a65f), SkBits2Float(0x419158d0), SkBits2Float(0xc2a1f965));
  5060. path.cubicTo(SkBits2Float(0x41961cea), SkBits2Float(0xc2a1b4f6), SkBits2Float(0x419addf6), SkBits2Float(0xc2a16d2c), SkBits2Float(0x419f9bbb), SkBits2Float(0xc2a12207));
  5061. path.lineTo(SkBits2Float(0x4166c251), SkBits2Float(0xc268f69a));
  5062. path.cubicTo(SkBits2Float(0x415fe778), SkBits2Float(0xc269633e), SkBits2Float(0x415907e2), SkBits2Float(0xc269cb09), SkBits2Float(0x415223e0), SkBits2Float(0xc26a2df8));
  5063. path.cubicTo(SkBits2Float(0x410d2a0c), SkBits2Float(0xc26e0c4b), SkBits2Float(0x408d616c), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5064. path.close();
  5065. SkPath path1(path);
  5066. path.reset();
  5067. path.setFillType((SkPath::FillType) 0);
  5068. path.moveTo(SkBits2Float(0x419f9bbc), SkBits2Float(0xc2a12208));
  5069. path.cubicTo(SkBits2Float(0x41eca53e), SkBits2Float(0xc29c5d1a), SkBits2Float(0x421ad1be), SkBits2Float(0xc2942e2b), SkBits2Float(0x423b8fe1), SkBits2Float(0xc288f8a3));
  5070. path.lineTo(SkBits2Float(0x42079647), SkBits2Float(0xc24607dc));
  5071. path.cubicTo(SkBits2Float(0x41dfd5cc), SkBits2Float(0xc2563c94), SkBits2Float(0x41ab11aa), SkBits2Float(0xc2621167), SkBits2Float(0x4166c24e), SkBits2Float(0xc268f69b));
  5072. path.lineTo(SkBits2Float(0x419f9bbc), SkBits2Float(0xc2a12208));
  5073. path.close();
  5074. SkPath path2(path);
  5075. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5076. }
  5077. // op end success 1
  5078. static void battleOp209(skiatest::Reporter* reporter, const char* filename) {
  5079. SkPath path;
  5080. path.setFillType((SkPath::FillType) 0);
  5081. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5082. path.cubicTo(SkBits2Float(0x40e86425), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4167e385), SkBits2Float(0xc2a41801), SkBits2Float(0x41ac0ecd), SkBits2Float(0xc2a05484));
  5083. path.lineTo(SkBits2Float(0x4178c21d), SkBits2Float(0xc267cd79));
  5084. path.cubicTo(SkBits2Float(0x4127a168), SkBits2Float(0xc26d3e79), SkBits2Float(0x40a7fe68), SkBits2Float(0xc2700000), SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  5085. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5086. path.close();
  5087. SkPath path1(path);
  5088. path.reset();
  5089. path.setFillType((SkPath::FillType) 0);
  5090. path.moveTo(SkBits2Float(0x41ac0ecb), SkBits2Float(0xc2a05485));
  5091. path.cubicTo(SkBits2Float(0x41b1a941), SkBits2Float(0xc29ff44e), SkBits2Float(0x41b73ea0), SkBits2Float(0xc29f8f65), SkBits2Float(0x41bcce84), SkBits2Float(0xc29f25d1));
  5092. path.lineTo(SkBits2Float(0x41887c9d), SkBits2Float(0xc26617d6));
  5093. path.cubicTo(SkBits2Float(0x4184774a), SkBits2Float(0xc266b07c), SkBits2Float(0x41806e06), SkBits2Float(0xc2674260), SkBits2Float(0x4178c21e), SkBits2Float(0xc267cd7a));
  5094. path.lineTo(SkBits2Float(0x41ac0ecb), SkBits2Float(0xc2a05485));
  5095. path.close();
  5096. SkPath path2(path);
  5097. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5098. }
  5099. // op end success 1
  5100. static void battleOp210(skiatest::Reporter* reporter, const char* filename) {
  5101. SkPath path;
  5102. path.setFillType((SkPath::FillType) 1);
  5103. path.moveTo(SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  5104. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5105. path.cubicTo(SkBits2Float(0x40e86421), SkBits2Float(0xc2a60000), SkBits2Float(0x4167e381), SkBits2Float(0xc2a41801), SkBits2Float(0x41ac0eca), SkBits2Float(0xc2a05484));
  5106. path.lineTo(SkBits2Float(0x41ac0ecd), SkBits2Float(0xc2a05484));
  5107. path.lineTo(SkBits2Float(0x4178c21e), SkBits2Float(0xc267cd7a));
  5108. path.lineTo(SkBits2Float(0x41ac0ecb), SkBits2Float(0xc2a05485));
  5109. path.cubicTo(SkBits2Float(0x41b1a941), SkBits2Float(0xc29ff44e), SkBits2Float(0x41b73ea0), SkBits2Float(0xc29f8f65), SkBits2Float(0x41bcce84), SkBits2Float(0xc29f25d1));
  5110. path.lineTo(SkBits2Float(0x41887c9d), SkBits2Float(0xc26617d6));
  5111. path.cubicTo(SkBits2Float(0x4184774a), SkBits2Float(0xc266b07c), SkBits2Float(0x41806e06), SkBits2Float(0xc2674260), SkBits2Float(0x4178c21d), SkBits2Float(0xc267cd79));
  5112. path.cubicTo(SkBits2Float(0x4127a168), SkBits2Float(0xc26d3e79), SkBits2Float(0x40a7fe68), SkBits2Float(0xc2700000), SkBits2Float(0x3673fea3), SkBits2Float(0xc2700000));
  5113. path.close();
  5114. SkPath path1(path);
  5115. path.reset();
  5116. path.setFillType((SkPath::FillType) 0);
  5117. path.moveTo(SkBits2Float(0x41bcce83), SkBits2Float(0xc29f25d2));
  5118. path.cubicTo(SkBits2Float(0x420ba3b4), SkBits2Float(0xc2987080), SkBits2Float(0x42357f09), SkBits2Float(0xc28cfcb1), SkBits2Float(0x42592f07), SkBits2Float(0xc27b1ba7));
  5119. path.lineTo(SkBits2Float(0x421d0012), SkBits2Float(0xc235861c));
  5120. path.cubicTo(SkBits2Float(0x420333bc), SkBits2Float(0xc24bd636), SkBits2Float(0x41c9e36e), SkBits2Float(0xc25c64f6), SkBits2Float(0x41887c9c), SkBits2Float(0xc26617d7));
  5121. path.lineTo(SkBits2Float(0x41bcce83), SkBits2Float(0xc29f25d2));
  5122. path.close();
  5123. SkPath path2(path);
  5124. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5125. }
  5126. // op end success 1
  5127. static void battleOp211(skiatest::Reporter* reporter, const char* filename) {
  5128. SkPath path;
  5129. path.setFillType((SkPath::FillType) 0);
  5130. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5131. path.cubicTo(SkBits2Float(0x411e5541), SkBits2Float(0xc2a5ffff), SkBits2Float(0x419db1ee), SkBits2Float(0xc2a275ef), SkBits2Float(0x41e7e0a3), SkBits2Float(0xc29b8c98));
  5132. path.lineTo(SkBits2Float(0x41a79f51), SkBits2Float(0xc260e3f1));
  5133. path.cubicTo(SkBits2Float(0x4163fe32), SkBits2Float(0xc26ae208), SkBits2Float(0x40e4ea54), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  5134. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5135. path.close();
  5136. SkPath path1(path);
  5137. path.reset();
  5138. path.setFillType((SkPath::FillType) 0);
  5139. path.moveTo(SkBits2Float(0x41e7e0a8), SkBits2Float(0xc29b8c98));
  5140. path.cubicTo(SkBits2Float(0x41ef46bb), SkBits2Float(0xc29adc20), SkBits2Float(0x41f6a013), SkBits2Float(0xc29a2338), SkBits2Float(0x41fdebc8), SkBits2Float(0xc29961f8));
  5141. path.lineTo(SkBits2Float(0x41b78eb0), SkBits2Float(0xc25dc215));
  5142. path.cubicTo(SkBits2Float(0x41b2488a), SkBits2Float(0xc25ed97a), SkBits2Float(0x41acf889), SkBits2Float(0xc25fe4cd), SkBits2Float(0x41a79f51), SkBits2Float(0xc260e3f1));
  5143. path.lineTo(SkBits2Float(0x41e7e0a8), SkBits2Float(0xc29b8c98));
  5144. path.close();
  5145. SkPath path2(path);
  5146. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5147. }
  5148. // op end success 1
  5149. static void battleOp212(skiatest::Reporter* reporter, const char* filename) {
  5150. SkPath path;
  5151. path.setFillType((SkPath::FillType) 1);
  5152. path.moveTo(SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  5153. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5154. path.cubicTo(SkBits2Float(0x411e5541), SkBits2Float(0xc2a5ffff), SkBits2Float(0x419db1ee), SkBits2Float(0xc2a275ef), SkBits2Float(0x41e7e0a8), SkBits2Float(0xc29b8c98));
  5155. path.cubicTo(SkBits2Float(0x41ef46bb), SkBits2Float(0xc29adc20), SkBits2Float(0x41f6a013), SkBits2Float(0xc29a2338), SkBits2Float(0x41fdebc8), SkBits2Float(0xc29961f8));
  5156. path.lineTo(SkBits2Float(0x41b78eb0), SkBits2Float(0xc25dc215));
  5157. path.cubicTo(SkBits2Float(0x41b2488a), SkBits2Float(0xc25ed97a), SkBits2Float(0x41acf889), SkBits2Float(0xc25fe4cd), SkBits2Float(0x41a79f51), SkBits2Float(0xc260e3f1));
  5158. path.cubicTo(SkBits2Float(0x4163fe32), SkBits2Float(0xc26ae208), SkBits2Float(0x40e4ea54), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea3), SkBits2Float(0xc2700000));
  5159. path.close();
  5160. SkPath path1(path);
  5161. path.reset();
  5162. path.setFillType((SkPath::FillType) 0);
  5163. path.moveTo(SkBits2Float(0x41fdebc9), SkBits2Float(0xc29961f9));
  5164. path.cubicTo(SkBits2Float(0x423a7ccd), SkBits2Float(0xc28d1085), SkBits2Float(0x426d8f8d), SkBits2Float(0xc270b4b0), SkBits2Float(0x4288fa0c), SkBits2Float(0xc23b8bbf));
  5165. path.lineTo(SkBits2Float(0x424609e8), SkBits2Float(0xc207934a));
  5166. path.cubicTo(SkBits2Float(0x422bbb0d), SkBits2Float(0xc22e0114), SkBits2Float(0x4206cf6b), SkBits2Float(0xc24bf2e1), SkBits2Float(0x41b78eaf), SkBits2Float(0xc25dc216));
  5167. path.lineTo(SkBits2Float(0x41fdebc9), SkBits2Float(0xc29961f9));
  5168. path.close();
  5169. SkPath path2(path);
  5170. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5171. }
  5172. // op end success 1
  5173. static void battleOp213(skiatest::Reporter* reporter, const char* filename) {
  5174. SkPath path;
  5175. path.setFillType((SkPath::FillType) 0);
  5176. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5177. path.cubicTo(SkBits2Float(0x4151cd59), SkBits2Float(0xc2a5ffff), SkBits2Float(0x41d04f3f), SkBits2Float(0xc29fc954), SkBits2Float(0x4216e058), SkBits2Float(0xc293de54));
  5178. path.lineTo(SkBits2Float(0x41da226b), SkBits2Float(0xc255c926));
  5179. path.cubicTo(SkBits2Float(0x419695d1), SkBits2Float(0xc267043d), SkBits2Float(0x4117aa0a), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5180. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5181. path.close();
  5182. SkPath path1(path);
  5183. path.reset();
  5184. path.setFillType((SkPath::FillType) 0);
  5185. path.moveTo(SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  5186. path.cubicTo(SkBits2Float(0x421b86ea), SkBits2Float(0xc292aea0), SkBits2Float(0x42201eff), SkBits2Float(0xc29170ed), SkBits2Float(0x4224a79b), SkBits2Float(0xc290257e));
  5187. path.lineTo(SkBits2Float(0x41ee0e15), SkBits2Float(0xc2506790));
  5188. path.cubicTo(SkBits2Float(0x41e78019), SkBits2Float(0xc25246bf), SkBits2Float(0x41e0dbbc), SkBits2Float(0xc2541212), SkBits2Float(0x41da226b), SkBits2Float(0xc255c927));
  5189. path.lineTo(SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  5190. path.close();
  5191. SkPath path2(path);
  5192. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5193. }
  5194. // op end success 1
  5195. static void battleOp214(skiatest::Reporter* reporter, const char* filename) {
  5196. SkPath path;
  5197. path.setFillType((SkPath::FillType) 1);
  5198. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5199. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5200. path.cubicTo(SkBits2Float(0x4151cd58), SkBits2Float(0xc2a60000), SkBits2Float(0x41d04f3d), SkBits2Float(0xc29fc954), SkBits2Float(0x4216e057), SkBits2Float(0xc293de54));
  5201. path.lineTo(SkBits2Float(0x4216e058), SkBits2Float(0xc293de54));
  5202. path.cubicTo(SkBits2Float(0x421b86eb), SkBits2Float(0xc292aea0), SkBits2Float(0x42201eff), SkBits2Float(0xc29170ed), SkBits2Float(0x4224a79b), SkBits2Float(0xc290257e));
  5203. path.lineTo(SkBits2Float(0x41ee0e15), SkBits2Float(0xc2506790));
  5204. path.cubicTo(SkBits2Float(0x41e78019), SkBits2Float(0xc25246bf), SkBits2Float(0x41e0dbbc), SkBits2Float(0xc2541212), SkBits2Float(0x41da226b), SkBits2Float(0xc255c927));
  5205. path.lineTo(SkBits2Float(0x41da226b), SkBits2Float(0xc255c926));
  5206. path.cubicTo(SkBits2Float(0x419695d1), SkBits2Float(0xc267043d), SkBits2Float(0x4117aa0a), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5207. path.close();
  5208. SkPath path1(path);
  5209. path.reset();
  5210. path.setFillType((SkPath::FillType) 0);
  5211. path.moveTo(SkBits2Float(0x4224a79b), SkBits2Float(0xc290257f));
  5212. path.cubicTo(SkBits2Float(0x426f06c3), SkBits2Float(0xc275d105), SkBits2Float(0x42930d85), SkBits2Float(0xc2303df6), SkBits2Float(0x429f3103), SkBits2Float(0xc1bc373f));
  5213. path.lineTo(SkBits2Float(0x42662806), SkBits2Float(0xc1880f44));
  5214. path.cubicTo(SkBits2Float(0x42549b44), SkBits2Float(0xc1fececc), SkBits2Float(0x422cca4c), SkBits2Float(0xc231b2de), SkBits2Float(0x41ee0e18), SkBits2Float(0xc2506792));
  5215. path.lineTo(SkBits2Float(0x4224a79b), SkBits2Float(0xc290257f));
  5216. path.close();
  5217. SkPath path2(path);
  5218. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5219. }
  5220. // op end success 1
  5221. static void battleOp215(skiatest::Reporter* reporter, const char* filename) {
  5222. SkPath path;
  5223. path.setFillType((SkPath::FillType) 0);
  5224. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5225. path.cubicTo(SkBits2Float(0x41741cf0), SkBits2Float(0xc2a60000), SkBits2Float(0x41f1c060), SkBits2Float(0xc29d96da), SkBits2Float(0x422cf7a2), SkBits2Float(0xc28db11c));
  5226. path.lineTo(SkBits2Float(0x41fa12be), SkBits2Float(0xc24cdb0d));
  5227. path.cubicTo(SkBits2Float(0x41aec295), SkBits2Float(0xc263d704), SkBits2Float(0x413077a0), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5228. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5229. path.close();
  5230. SkPath path1(path);
  5231. path.reset();
  5232. path.setFillType((SkPath::FillType) 0);
  5233. path.moveTo(SkBits2Float(0x422cf7a1), SkBits2Float(0xc28db11c));
  5234. path.cubicTo(SkBits2Float(0x423224e7), SkBits2Float(0xc28c1ca8), SkBits2Float(0x42373bc3), SkBits2Float(0xc28a7620), SkBits2Float(0x423c3abd), SkBits2Float(0xc288bdfd));
  5235. path.lineTo(SkBits2Float(0x420811ca), SkBits2Float(0xc245b313));
  5236. path.cubicTo(SkBits2Float(0x4204753a), SkBits2Float(0xc2482f6b), SkBits2Float(0x4200c767), SkBits2Float(0xc24a924f), SkBits2Float(0x41fa12c1), SkBits2Float(0xc24cdb0e));
  5237. path.lineTo(SkBits2Float(0x422cf7a1), SkBits2Float(0xc28db11c));
  5238. path.close();
  5239. SkPath path2(path);
  5240. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5241. }
  5242. // op end success 1
  5243. static void battleOp216(skiatest::Reporter* reporter, const char* filename) {
  5244. SkPath path;
  5245. path.setFillType((SkPath::FillType) 1);
  5246. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5247. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5248. path.cubicTo(SkBits2Float(0x41741cef), SkBits2Float(0xc2a60000), SkBits2Float(0x41f1c05e), SkBits2Float(0xc29d96da), SkBits2Float(0x422cf7a1), SkBits2Float(0xc28db11c));
  5249. path.lineTo(SkBits2Float(0x422cf7a2), SkBits2Float(0xc28db11c));
  5250. path.cubicTo(SkBits2Float(0x423224e8), SkBits2Float(0xc28c1ca8), SkBits2Float(0x42373bc3), SkBits2Float(0xc28a7620), SkBits2Float(0x423c3abd), SkBits2Float(0xc288bdfd));
  5251. path.lineTo(SkBits2Float(0x420811ca), SkBits2Float(0xc245b313));
  5252. path.cubicTo(SkBits2Float(0x4204753a), SkBits2Float(0xc2482f6b), SkBits2Float(0x4200c767), SkBits2Float(0xc24a924f), SkBits2Float(0x41fa12c1), SkBits2Float(0xc24cdb0e));
  5253. path.lineTo(SkBits2Float(0x41fa12be), SkBits2Float(0xc24cdb0d));
  5254. path.cubicTo(SkBits2Float(0x41aec295), SkBits2Float(0xc263d704), SkBits2Float(0x413077a0), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5255. path.close();
  5256. SkPath path1(path);
  5257. path.reset();
  5258. path.setFillType((SkPath::FillType) 0);
  5259. path.moveTo(SkBits2Float(0x423c3abe), SkBits2Float(0xc288bdfe));
  5260. path.cubicTo(SkBits2Float(0x42874551), SkBits2Float(0xc258d4f5), SkBits2Float(0x42a17ace), SkBits2Float(0xc1fc3ce7), SkBits2Float(0x42a57844), SkBits2Float(0xc0d41d22));
  5261. path.lineTo(SkBits2Float(0x426f3bc1), SkBits2Float(0xc09955d3));
  5262. path.cubicTo(SkBits2Float(0x426976f3), SkBits2Float(0xc1b65735), SkBits2Float(0x4243927c), SkBits2Float(0xc21cbef5), SkBits2Float(0x420811ca), SkBits2Float(0xc245b314));
  5263. path.lineTo(SkBits2Float(0x423c3abe), SkBits2Float(0xc288bdfe));
  5264. path.close();
  5265. SkPath path2(path);
  5266. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5267. }
  5268. // op end success 1
  5269. static void battleOp217(skiatest::Reporter* reporter, const char* filename) {
  5270. SkPath path;
  5271. path.setFillType((SkPath::FillType) 0);
  5272. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5273. path.cubicTo(SkBits2Float(0x4188e880), SkBits2Float(0xc2a60000), SkBits2Float(0x42073c1a), SkBits2Float(0xc29b6b86), SkBits2Float(0x423f3295), SkBits2Float(0xc287b573));
  5274. path.lineTo(SkBits2Float(0x420a3712), SkBits2Float(0xc2443499));
  5275. path.cubicTo(SkBits2Float(0x41c3852b), SkBits2Float(0xc260b421), SkBits2Float(0x4145f08c), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5276. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5277. path.close();
  5278. SkPath path1(path);
  5279. path.reset();
  5280. path.setFillType((SkPath::FillType) 0);
  5281. path.moveTo(SkBits2Float(0x423f3294), SkBits2Float(0xc287b572));
  5282. path.cubicTo(SkBits2Float(0x4244c015), SkBits2Float(0xc285c0c3), SkBits2Float(0x424a2e84), SkBits2Float(0xc283b664), SkBits2Float(0x424f7bec), SkBits2Float(0xc281970f));
  5283. path.lineTo(SkBits2Float(0x4215fd0e), SkBits2Float(0xc23b5bf1));
  5284. path.cubicTo(SkBits2Float(0x421227cb), SkBits2Float(0xc23e6d7a), SkBits2Float(0x420e3aa9), SkBits2Float(0xc24160b8), SkBits2Float(0x420a3713), SkBits2Float(0xc2443498));
  5285. path.lineTo(SkBits2Float(0x423f3294), SkBits2Float(0xc287b572));
  5286. path.close();
  5287. SkPath path2(path);
  5288. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5289. }
  5290. // op end success 1
  5291. static void battleOp218(skiatest::Reporter* reporter, const char* filename) {
  5292. SkPath path;
  5293. path.setFillType((SkPath::FillType) 1);
  5294. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5295. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5296. path.cubicTo(SkBits2Float(0x4188e880), SkBits2Float(0xc2a60000), SkBits2Float(0x42073c1a), SkBits2Float(0xc29b6b86), SkBits2Float(0x423f3295), SkBits2Float(0xc287b573));
  5297. path.lineTo(SkBits2Float(0x424f7bec), SkBits2Float(0xc281970f));
  5298. path.lineTo(SkBits2Float(0x4215fd0e), SkBits2Float(0xc23b5bf1));
  5299. path.cubicTo(SkBits2Float(0x421227cb), SkBits2Float(0xc23e6d7a), SkBits2Float(0x420e3aa9), SkBits2Float(0xc24160b8), SkBits2Float(0x420a3713), SkBits2Float(0xc2443498));
  5300. path.lineTo(SkBits2Float(0x420a3712), SkBits2Float(0xc2443499));
  5301. path.cubicTo(SkBits2Float(0x41c3852b), SkBits2Float(0xc260b421), SkBits2Float(0x4145f08c), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5302. path.close();
  5303. SkPath path1(path);
  5304. path.reset();
  5305. path.setFillType((SkPath::FillType) 0);
  5306. path.moveTo(SkBits2Float(0x424f7bed), SkBits2Float(0xc281970f));
  5307. path.cubicTo(SkBits2Float(0x42939bdb), SkBits2Float(0xc23cf22a), SkBits2Float(0x42aabb70), SkBits2Float(0xc19e30f8), SkBits2Float(0x42a530dd), SkBits2Float(0x4102f5b1));
  5308. path.lineTo(SkBits2Float(0x426ed486), SkBits2Float(0x40bd56e4));
  5309. path.cubicTo(SkBits2Float(0x4276d778), SkBits2Float(0xc164b5d6), SkBits2Float(0x4255690c), SkBits2Float(0xc2089663), SkBits2Float(0x4215fd0d), SkBits2Float(0xc23b5bf2));
  5310. path.lineTo(SkBits2Float(0x424f7bed), SkBits2Float(0xc281970f));
  5311. path.close();
  5312. SkPath path2(path);
  5313. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5314. }
  5315. // op end success 1
  5316. static void battleOp219(skiatest::Reporter* reporter, const char* filename) {
  5317. SkPath path;
  5318. path.setFillType((SkPath::FillType) 0);
  5319. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5320. path.cubicTo(SkBits2Float(0x4198fc97), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4216a3e3), SkBits2Float(0xc298caff), SkBits2Float(0x4251e7a7), SkBits2Float(0xc2809c9b));
  5321. path.lineTo(SkBits2Float(0x4217bd0d), SkBits2Float(0xc239f1d8));
  5322. path.cubicTo(SkBits2Float(0x41d9cb04), SkBits2Float(0xc25ce7ce), SkBits2Float(0x415d2f7f), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  5323. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5324. path.close();
  5325. SkPath path1(path);
  5326. path.reset();
  5327. path.setFillType((SkPath::FillType) 0);
  5328. path.moveTo(SkBits2Float(0x4251e7a7), SkBits2Float(0xc2809c9c));
  5329. path.cubicTo(SkBits2Float(0x4257c623), SkBits2Float(0xc27c6f1e), SkBits2Float(0x425d7a38), SkBits2Float(0xc27771f7), SkBits2Float(0x42630157), SkBits2Float(0xc27243fd));
  5330. path.lineTo(SkBits2Float(0x422419a4), SkBits2Float(0xc22f21bb));
  5331. path.cubicTo(SkBits2Float(0x42201aab), SkBits2Float(0xc232e046), SkBits2Float(0x421bfb30), SkBits2Float(0xc2367b84), SkBits2Float(0x4217bd0d), SkBits2Float(0xc239f1d8));
  5332. path.lineTo(SkBits2Float(0x4251e7a7), SkBits2Float(0xc2809c9c));
  5333. path.close();
  5334. SkPath path2(path);
  5335. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5336. }
  5337. // op end success 1
  5338. static void battleOp220(skiatest::Reporter* reporter, const char* filename) {
  5339. SkPath path;
  5340. path.setFillType((SkPath::FillType) 1);
  5341. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  5342. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5343. path.cubicTo(SkBits2Float(0x4198fc97), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4216a3e3), SkBits2Float(0xc298caff), SkBits2Float(0x4251e7a7), SkBits2Float(0xc2809c9c));
  5344. path.cubicTo(SkBits2Float(0x4257c623), SkBits2Float(0xc27c6f1e), SkBits2Float(0x425d7a38), SkBits2Float(0xc27771f7), SkBits2Float(0x42630157), SkBits2Float(0xc27243fd));
  5345. path.lineTo(SkBits2Float(0x422419a4), SkBits2Float(0xc22f21bb));
  5346. path.cubicTo(SkBits2Float(0x42201aab), SkBits2Float(0xc232e046), SkBits2Float(0x421bfb30), SkBits2Float(0xc2367b84), SkBits2Float(0x4217bd0d), SkBits2Float(0xc239f1d8));
  5347. path.cubicTo(SkBits2Float(0x41d9cb04), SkBits2Float(0xc25ce7ce), SkBits2Float(0x415d2f7f), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  5348. path.close();
  5349. SkPath path1(path);
  5350. path.reset();
  5351. path.setFillType((SkPath::FillType) 0);
  5352. path.moveTo(SkBits2Float(0x42630157), SkBits2Float(0xc27243ff));
  5353. path.cubicTo(SkBits2Float(0x429f78af), SkBits2Float(0xc21c1e80), SkBits2Float(0x42b11918), SkBits2Float(0xc0cad7ee), SkBits2Float(0x429f0274), SkBits2Float(0x41bea8f4));
  5354. path.lineTo(SkBits2Float(0x4265e4b4), SkBits2Float(0x4189d394));
  5355. path.cubicTo(SkBits2Float(0x428005cc), SkBits2Float(0xc092a249), SkBits2Float(0x42668fa3), SkBits2Float(0xc1e1b6e5), SkBits2Float(0x422419a4), SkBits2Float(0xc22f21bb));
  5356. path.lineTo(SkBits2Float(0x42630157), SkBits2Float(0xc27243ff));
  5357. path.close();
  5358. SkPath path2(path);
  5359. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5360. }
  5361. // op end success 1
  5362. static void battleOp221(skiatest::Reporter* reporter, const char* filename) {
  5363. SkPath path;
  5364. path.setFillType((SkPath::FillType) 0);
  5365. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5366. path.cubicTo(SkBits2Float(0x41ae0130), SkBits2Float(0xc2a5ffff), SkBits2Float(0x422a8737), SkBits2Float(0xc294ec91), SkBits2Float(0x42689b67), SkBits2Float(0xc26ce46c));
  5367. path.lineTo(SkBits2Float(0x42282651), SkBits2Float(0xc22b3f58));
  5368. path.cubicTo(SkBits2Float(0x41f68bfb), SkBits2Float(0xc2574fdc), SkBits2Float(0x417b92b3), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  5369. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5370. path.close();
  5371. SkPath path1(path);
  5372. path.reset();
  5373. path.setFillType((SkPath::FillType) 0);
  5374. path.moveTo(SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  5375. path.cubicTo(SkBits2Float(0x426ebcd2), SkBits2Float(0xc266df67), SkBits2Float(0x4274a1d2), SkBits2Float(0xc2609e09), SkBits2Float(0x427a4701), SkBits2Float(0xc25a23f2));
  5376. path.lineTo(SkBits2Float(0x4234ec64), SkBits2Float(0xc21db11e));
  5377. path.cubicTo(SkBits2Float(0x4230d7ae), SkBits2Float(0xc2225fbc), SkBits2Float(0x422c94d6), SkBits2Float(0xc226e55a), SkBits2Float(0x42282652), SkBits2Float(0xc22b3f58));
  5378. path.lineTo(SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  5379. path.close();
  5380. SkPath path2(path);
  5381. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5382. }
  5383. // op end success 1
  5384. static void battleOp222(skiatest::Reporter* reporter, const char* filename) {
  5385. SkPath path;
  5386. path.setFillType((SkPath::FillType) 1);
  5387. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5388. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5389. path.cubicTo(SkBits2Float(0x41ae0130), SkBits2Float(0xc2a5ffff), SkBits2Float(0x422a8737), SkBits2Float(0xc294ec91), SkBits2Float(0x42689b68), SkBits2Float(0xc26ce46d));
  5390. path.cubicTo(SkBits2Float(0x426ebcd2), SkBits2Float(0xc266df67), SkBits2Float(0x4274a1d2), SkBits2Float(0xc2609e09), SkBits2Float(0x427a4701), SkBits2Float(0xc25a23f2));
  5391. path.lineTo(SkBits2Float(0x4234ec64), SkBits2Float(0xc21db11e));
  5392. path.cubicTo(SkBits2Float(0x4230d7ae), SkBits2Float(0xc2225fbc), SkBits2Float(0x422c94d6), SkBits2Float(0xc226e55a), SkBits2Float(0x42282651), SkBits2Float(0xc22b3f58));
  5393. path.cubicTo(SkBits2Float(0x41f68bfb), SkBits2Float(0xc2574fdc), SkBits2Float(0x417b92b3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5394. path.close();
  5395. SkPath path1(path);
  5396. path.reset();
  5397. path.setFillType((SkPath::FillType) 0);
  5398. path.moveTo(SkBits2Float(0x427a4702), SkBits2Float(0xc25a23f2));
  5399. path.cubicTo(SkBits2Float(0x42ac7185), SkBits2Float(0xc1db2f83), SkBits2Float(0x42b35ed0), SkBits2Float(0x413e447a), SkBits2Float(0x428e4a3d), SkBits2Float(0x422afde8));
  5400. path.lineTo(SkBits2Float(0x424db871), SkBits2Float(0x41f73799));
  5401. path.cubicTo(SkBits2Float(0x4281aa54), SkBits2Float(0x41098afa), SkBits2Float(0x427950da), SkBits2Float(0xc19e728d), SkBits2Float(0x4234ec66), SkBits2Float(0xc21db120));
  5402. path.lineTo(SkBits2Float(0x427a4702), SkBits2Float(0xc25a23f2));
  5403. path.close();
  5404. SkPath path2(path);
  5405. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5406. }
  5407. // op end success 1
  5408. static void battleOp223(skiatest::Reporter* reporter, const char* filename) {
  5409. SkPath path;
  5410. path.setFillType((SkPath::FillType) 0);
  5411. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5412. path.cubicTo(SkBits2Float(0x41c50a2c), SkBits2Float(0xc2a60000), SkBits2Float(0x423ff37f), SkBits2Float(0xc2901f4e), SkBits2Float(0x427f077c), SkBits2Float(0xc25490c6));
  5413. path.lineTo(SkBits2Float(0x42385bc5), SkBits2Float(0xc219a96d));
  5414. path.cubicTo(SkBits2Float(0x420ac287), SkBits2Float(0xc2505e9c), SkBits2Float(0x418e7039), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5415. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5416. path.close();
  5417. SkPath path1(path);
  5418. path.reset();
  5419. path.setFillType((SkPath::FillType) 0);
  5420. path.moveTo(SkBits2Float(0x427f077b), SkBits2Float(0xc25490c6));
  5421. path.cubicTo(SkBits2Float(0x42829e52), SkBits2Float(0xc24d1e28), SkBits2Float(0x42858ec1), SkBits2Float(0xc24566d6), SkBits2Float(0x428852e3), SkBits2Float(0xc23d7081));
  5422. path.lineTo(SkBits2Float(0x42451839), SkBits2Float(0xc208f1b7));
  5423. path.cubicTo(SkBits2Float(0x4241186a), SkBits2Float(0xc20eb335), SkBits2Float(0x423cd88e), SkBits2Float(0xc2144725), SkBits2Float(0x42385bc4), SkBits2Float(0xc219a96c));
  5424. path.lineTo(SkBits2Float(0x427f077b), SkBits2Float(0xc25490c6));
  5425. path.close();
  5426. SkPath path2(path);
  5427. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5428. }
  5429. // op end success 1
  5430. static void battleOp224(skiatest::Reporter* reporter, const char* filename) {
  5431. SkPath path;
  5432. path.setFillType((SkPath::FillType) 1);
  5433. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5434. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5435. path.cubicTo(SkBits2Float(0x41c50a2c), SkBits2Float(0xc2a60000), SkBits2Float(0x423ff37f), SkBits2Float(0xc2901f4e), SkBits2Float(0x427f077c), SkBits2Float(0xc25490c6));
  5436. path.lineTo(SkBits2Float(0x428852e3), SkBits2Float(0xc23d7081));
  5437. path.lineTo(SkBits2Float(0x42451839), SkBits2Float(0xc208f1b7));
  5438. path.cubicTo(SkBits2Float(0x4241186a), SkBits2Float(0xc20eb335), SkBits2Float(0x423cd88e), SkBits2Float(0xc2144725), SkBits2Float(0x42385bc4), SkBits2Float(0xc219a96c));
  5439. path.lineTo(SkBits2Float(0x42385bc5), SkBits2Float(0xc219a96d));
  5440. path.cubicTo(SkBits2Float(0x420ac287), SkBits2Float(0xc2505e9c), SkBits2Float(0x418e7039), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5441. path.close();
  5442. SkPath path1(path);
  5443. path.reset();
  5444. path.setFillType((SkPath::FillType) 0);
  5445. path.moveTo(SkBits2Float(0x428852e3), SkBits2Float(0xc23d7081));
  5446. path.cubicTo(SkBits2Float(0x42b71f8a), SkBits2Float(0xc15aea65), SkBits2Float(0x42adb77f), SkBits2Float(0x42002593), SkBits2Float(0x42645e8b), SkBits2Float(0x4270faee));
  5447. path.lineTo(SkBits2Float(0x42251616), SkBits2Float(0x422e33d9));
  5448. path.cubicTo(SkBits2Float(0x427b2825), SkBits2Float(0x41b945be), SkBits2Float(0x428460d4), SkBits2Float(0xc11e4099), SkBits2Float(0x4245183a), SkBits2Float(0xc208f1b8));
  5449. path.lineTo(SkBits2Float(0x428852e3), SkBits2Float(0xc23d7081));
  5450. path.close();
  5451. SkPath path2(path);
  5452. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5453. }
  5454. // op end success 1
  5455. static void battleOp225(skiatest::Reporter* reporter, const char* filename) {
  5456. SkPath path;
  5457. path.setFillType((SkPath::FillType) 0);
  5458. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5459. path.cubicTo(SkBits2Float(0x41d8749b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4251a993), SkBits2Float(0xc28b9f9f), SkBits2Float(0x4287e789), SkBits2Float(0xc23ea40d));
  5460. path.lineTo(SkBits2Float(0x42447d05), SkBits2Float(0xc209d00a));
  5461. path.cubicTo(SkBits2Float(0x4217902d), SkBits2Float(0xc249dd89), SkBits2Float(0x419c7951), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  5462. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5463. path.close();
  5464. SkPath path1(path);
  5465. path.reset();
  5466. path.setFillType((SkPath::FillType) 0);
  5467. path.moveTo(SkBits2Float(0x4287e78a), SkBits2Float(0xc23ea40e));
  5468. path.cubicTo(SkBits2Float(0x428af3dc), SkBits2Float(0xc235f2f3), SkBits2Float(0x428dca5e), SkBits2Float(0xc22cf844), SkBits2Float(0x4290688d), SkBits2Float(0xc223bbef));
  5469. path.lineTo(SkBits2Float(0x4250c881), SkBits2Float(0xc1ecb95a));
  5470. path.cubicTo(SkBits2Float(0x424cff91), SkBits2Float(0xc1fa13ac), SkBits2Float(0x4248e532), SkBits2Float(0xc2038788), SkBits2Float(0x42447d06), SkBits2Float(0xc209d00a));
  5471. path.lineTo(SkBits2Float(0x4287e78a), SkBits2Float(0xc23ea40e));
  5472. path.close();
  5473. SkPath path2(path);
  5474. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5475. }
  5476. // op end success 1
  5477. static void battleOp226(skiatest::Reporter* reporter, const char* filename) {
  5478. SkPath path;
  5479. path.setFillType((SkPath::FillType) 1);
  5480. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5481. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5482. path.cubicTo(SkBits2Float(0x41d8749b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4251a993), SkBits2Float(0xc28b9f9f), SkBits2Float(0x4287e78a), SkBits2Float(0xc23ea40e));
  5483. path.cubicTo(SkBits2Float(0x428af3dc), SkBits2Float(0xc235f2f3), SkBits2Float(0x428dca5e), SkBits2Float(0xc22cf844), SkBits2Float(0x4290688d), SkBits2Float(0xc223bbef));
  5484. path.lineTo(SkBits2Float(0x4250c881), SkBits2Float(0xc1ecb95a));
  5485. path.cubicTo(SkBits2Float(0x424cff91), SkBits2Float(0xc1fa13ac), SkBits2Float(0x4248e532), SkBits2Float(0xc2038788), SkBits2Float(0x42447d05), SkBits2Float(0xc209d00a));
  5486. path.cubicTo(SkBits2Float(0x4217902d), SkBits2Float(0xc249dd89), SkBits2Float(0x419c7951), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5487. path.close();
  5488. SkPath path1(path);
  5489. path.reset();
  5490. path.setFillType((SkPath::FillType) 0);
  5491. path.moveTo(SkBits2Float(0x4290688d), SkBits2Float(0xc223bbef));
  5492. path.cubicTo(SkBits2Float(0x42bd187d), SkBits2Float(0xbfc2a74a), SkBits2Float(0x42a250ed), SkBits2Float(0x42421cbf), SkBits2Float(0x42287a28), SkBits2Float(0x428f09b7));
  5493. path.lineTo(SkBits2Float(0x41f394da), SkBits2Float(0x424ecd48));
  5494. path.cubicTo(SkBits2Float(0x426aac8a), SkBits2Float(0x420c527b), SkBits2Float(0x4288b219), SkBits2Float(0xbf8cb68f), SkBits2Float(0x4250c882), SkBits2Float(0xc1ecb95c));
  5495. path.lineTo(SkBits2Float(0x4290688d), SkBits2Float(0xc223bbef));
  5496. path.close();
  5497. SkPath path2(path);
  5498. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5499. }
  5500. // op end success 1
  5501. static void battleOp227(skiatest::Reporter* reporter, const char* filename) {
  5502. SkPath path;
  5503. path.setFillType((SkPath::FillType) 0);
  5504. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5505. path.cubicTo(SkBits2Float(0x41f1efaa), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42685cb5), SkBits2Float(0xc2851a3e), SkBits2Float(0x429160d2), SkBits2Float(0xc22043b6));
  5506. path.lineTo(SkBits2Float(0x42522f73), SkBits2Float(0xc1e7b52d));
  5507. path.cubicTo(SkBits2Float(0x4227f8ff), SkBits2Float(0xc2406ff8), SkBits2Float(0x41aee4c7), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  5508. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5509. path.close();
  5510. SkPath path1(path);
  5511. path.reset();
  5512. path.setFillType((SkPath::FillType) 0);
  5513. path.moveTo(SkBits2Float(0x429160d2), SkBits2Float(0xc22043b7));
  5514. path.cubicTo(SkBits2Float(0x42943aa0), SkBits2Float(0xc215eba6), SkBits2Float(0x4296cd42), SkBits2Float(0xc20b4794), SkBits2Float(0x429915e6), SkBits2Float(0xc200631e));
  5515. path.lineTo(SkBits2Float(0x425d5418), SkBits2Float(0xc1b99eb9));
  5516. path.cubicTo(SkBits2Float(0x425a06d4), SkBits2Float(0xc1c95e3a), SkBits2Float(0x42564e98), SkBits2Float(0xc1d8c0a6), SkBits2Float(0x42522f74), SkBits2Float(0xc1e7b52e));
  5517. path.lineTo(SkBits2Float(0x429160d2), SkBits2Float(0xc22043b7));
  5518. path.close();
  5519. SkPath path2(path);
  5520. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5521. }
  5522. // op end success 1
  5523. static void battleOp228(skiatest::Reporter* reporter, const char* filename) {
  5524. SkPath path;
  5525. path.setFillType((SkPath::FillType) 1);
  5526. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5527. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5528. path.cubicTo(SkBits2Float(0x41f1efa9), SkBits2Float(0xc2a60000), SkBits2Float(0x42685cb5), SkBits2Float(0xc2851a3e), SkBits2Float(0x429160d2), SkBits2Float(0xc22043b7));
  5529. path.lineTo(SkBits2Float(0x429160d2), SkBits2Float(0xc22043b6));
  5530. path.cubicTo(SkBits2Float(0x42943aa0), SkBits2Float(0xc215eba5), SkBits2Float(0x4296cd42), SkBits2Float(0xc20b4794), SkBits2Float(0x429915e6), SkBits2Float(0xc200631e));
  5531. path.lineTo(SkBits2Float(0x425d5418), SkBits2Float(0xc1b99eb9));
  5532. path.cubicTo(SkBits2Float(0x425a06d4), SkBits2Float(0xc1c95e3a), SkBits2Float(0x42564e98), SkBits2Float(0xc1d8c0a6), SkBits2Float(0x42522f74), SkBits2Float(0xc1e7b52e));
  5533. path.lineTo(SkBits2Float(0x42522f73), SkBits2Float(0xc1e7b52d));
  5534. path.cubicTo(SkBits2Float(0x4227f8ff), SkBits2Float(0xc2406ff8), SkBits2Float(0x41aee4c7), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5535. path.close();
  5536. SkPath path1(path);
  5537. path.reset();
  5538. path.setFillType((SkPath::FillType) 0);
  5539. path.moveTo(SkBits2Float(0x429915e6), SkBits2Float(0xc200631e));
  5540. path.cubicTo(SkBits2Float(0x42abe101), SkBits2Float(0xc11b0235), SkBits2Float(0x42aa16bb), SkBits2Float(0x417b685c), SkBits2Float(0x42942fff), SkBits2Float(0x42159e77));
  5541. path.cubicTo(SkBits2Float(0x427c9284), SkBits2Float(0x426c62d8), SkBits2Float(0x422cf27d), SkBits2Float(0x4295ccdb), SkBits2Float(0x419d039e), SkBits2Float(0x42a14aca));
  5542. path.lineTo(SkBits2Float(0x4163022c), SkBits2Float(0x42693188));
  5543. path.cubicTo(SkBits2Float(0x41fa0b56), SkBits2Float(0x42589424), SkBits2Float(0x4236951c), SkBits2Float(0x422ae1ad), SkBits2Float(0x42563f3c), SkBits2Float(0x41d85112));
  5544. path.cubicTo(SkBits2Float(0x4275e95c), SkBits2Float(0x4135bd94), SkBits2Float(0x42787fea), SkBits2Float(0xc0e01be1), SkBits2Float(0x425d5419), SkBits2Float(0xc1b99eba));
  5545. path.lineTo(SkBits2Float(0x429915e6), SkBits2Float(0xc200631e));
  5546. path.close();
  5547. SkPath path2(path);
  5548. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5549. }
  5550. // op end success 1
  5551. static void battleOp229(skiatest::Reporter* reporter, const char* filename) {
  5552. SkPath path;
  5553. path.setFillType((SkPath::FillType) 0);
  5554. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5555. path.cubicTo(SkBits2Float(0x4206c976), SkBits2Float(0xc2a60000), SkBits2Float(0x42801937), SkBits2Float(0xc27a823c), SkBits2Float(0x4299a0d7), SkBits2Float(0xc1fb88d1));
  5556. path.lineTo(SkBits2Float(0x425e1cfa), SkBits2Float(0xc1b5d505));
  5557. path.cubicTo(SkBits2Float(0x423933e1), SkBits2Float(0xc2351735), SkBits2Float(0x41c2df6b), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  5558. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5559. path.close();
  5560. SkPath path1(path);
  5561. path.reset();
  5562. path.setFillType((SkPath::FillType) 0);
  5563. path.moveTo(SkBits2Float(0x4299a0d8), SkBits2Float(0xc1fb88d0));
  5564. path.cubicTo(SkBits2Float(0x429c1b73), SkBits2Float(0xc1e34f53), SkBits2Float(0x429e39d2), SkBits2Float(0xc1ca8528), SkBits2Float(0x429ff920), SkBits2Float(0xc1b14b8c));
  5565. path.lineTo(SkBits2Float(0x42674955), SkBits2Float(0xc1802a45));
  5566. path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfb), SkBits2Float(0xc1b5d506));
  5567. path.lineTo(SkBits2Float(0x4299a0d8), SkBits2Float(0xc1fb88d0));
  5568. path.close();
  5569. SkPath path2(path);
  5570. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5571. }
  5572. // op end success 1
  5573. static void battleOp230(skiatest::Reporter* reporter, const char* filename) {
  5574. SkPath path;
  5575. path.setFillType((SkPath::FillType) 1);
  5576. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5577. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5578. path.cubicTo(SkBits2Float(0x4206c976), SkBits2Float(0xc2a60000), SkBits2Float(0x42801937), SkBits2Float(0xc27a823c), SkBits2Float(0x4299a0d8), SkBits2Float(0xc1fb88d0));
  5579. path.cubicTo(SkBits2Float(0x429c1b73), SkBits2Float(0xc1e34f53), SkBits2Float(0x429e39d2), SkBits2Float(0xc1ca8528), SkBits2Float(0x429ff920), SkBits2Float(0xc1b14b8c));
  5580. path.lineTo(SkBits2Float(0x42674955), SkBits2Float(0xc1802a45));
  5581. path.cubicTo(SkBits2Float(0x4264c2a3), SkBits2Float(0xc192666d), SkBits2Float(0x4261b27b), SkBits2Float(0xc1a45204), SkBits2Float(0x425e1cfa), SkBits2Float(0xc1b5d505));
  5582. path.cubicTo(SkBits2Float(0x423933e1), SkBits2Float(0xc2351735), SkBits2Float(0x41c2df6b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5583. path.close();
  5584. SkPath path1(path);
  5585. path.reset();
  5586. path.setFillType((SkPath::FillType) 0);
  5587. path.moveTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
  5588. path.cubicTo(SkBits2Float(0x42ae673b), SkBits2Float(0x40783c41), SkBits2Float(0x42a293c2), SkBits2Float(0x41fe6960), SkBits2Float(0x4280464e), SkBits2Float(0x4252ba7b));
  5589. path.cubicTo(SkBits2Float(0x423bf1b3), SkBits2Float(0x42932023), SkBits2Float(0x41a5f32c), SkBits2Float(0x42a99309), SkBits2Float(0xc0c67989), SkBits2Float(0x42a5892f));
  5590. path.lineTo(SkBits2Float(0xc08f79c7), SkBits2Float(0x426f5437));
  5591. path.cubicTo(SkBits2Float(0x416fed74), SkBits2Float(0x42752af2), SkBits2Float(0x4207dcfc), SkBits2Float(0x4254b62d), SkBits2Float(0x42397512), SkBits2Float(0x42185575));
  5592. path.cubicTo(SkBits2Float(0x426b0d26), SkBits2Float(0x41b7e97d), SkBits2Float(0x427c2639), SkBits2Float(0x40337286), SkBits2Float(0x42674956), SkBits2Float(0xc1802a46));
  5593. path.lineTo(SkBits2Float(0x429ff91f), SkBits2Float(0xc1b14b8a));
  5594. path.close();
  5595. SkPath path2(path);
  5596. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5597. }
  5598. // op end success 1
  5599. static void battleOp231(skiatest::Reporter* reporter, const char* filename) {
  5600. SkPath path;
  5601. path.setFillType((SkPath::FillType) 0);
  5602. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5603. path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a5ffff), SkBits2Float(0x428b6da4), SkBits2Float(0xc26973d7), SkBits2Float(0x429fb179), SkBits2Float(0xc1b54986));
  5604. path.lineTo(SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  5605. path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  5606. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5607. path.close();
  5608. SkPath path1(path);
  5609. path.reset();
  5610. path.setFillType((SkPath::FillType) 0);
  5611. path.moveTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  5612. path.cubicTo(SkBits2Float(0x42a1a632), SkBits2Float(0xc199b837), SkBits2Float(0x42a3282f), SkBits2Float(0xc17b594e), SkBits2Float(0x42a43501), SkBits2Float(0xc142a7ba));
  5613. path.lineTo(SkBits2Float(0x426d6865), SkBits2Float(0xc10cb6f0));
  5614. path.cubicTo(SkBits2Float(0x426be3bc), SkBits2Float(0xc135b2ae), SkBits2Float(0x4269b5af), SkBits2Float(0xc15e3ec8), SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  5615. path.lineTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  5616. path.close();
  5617. SkPath path2(path);
  5618. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5619. }
  5620. // op end success 1
  5621. static void battleOp232(skiatest::Reporter* reporter, const char* filename) {
  5622. SkPath path;
  5623. path.setFillType((SkPath::FillType) 1);
  5624. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5625. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5626. path.cubicTo(SkBits2Float(0x421472e7), SkBits2Float(0xc2a60000), SkBits2Float(0x428b6da4), SkBits2Float(0xc26973d8), SkBits2Float(0x429fb179), SkBits2Float(0xc1b54988));
  5627. path.lineTo(SkBits2Float(0x429fb179), SkBits2Float(0xc1b54986));
  5628. path.cubicTo(SkBits2Float(0x42a1a632), SkBits2Float(0xc199b836), SkBits2Float(0x42a3282f), SkBits2Float(0xc17b594d), SkBits2Float(0x42a43501), SkBits2Float(0xc142a7ba));
  5629. path.lineTo(SkBits2Float(0x426d6865), SkBits2Float(0xc10cb6f0));
  5630. path.cubicTo(SkBits2Float(0x426be3bc), SkBits2Float(0xc135b2ae), SkBits2Float(0x4269b5af), SkBits2Float(0xc15e3ec8), SkBits2Float(0x4266e1be), SkBits2Float(0xc1830d0f));
  5631. path.cubicTo(SkBits2Float(0x42499544), SkBits2Float(0xc228c2c8), SkBits2Float(0x41d69ff6), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5632. path.close();
  5633. SkPath path1(path);
  5634. path.reset();
  5635. path.setFillType((SkPath::FillType) 0);
  5636. path.moveTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb));
  5637. path.cubicTo(SkBits2Float(0x42ace9b0), SkBits2Float(0x4189ae79), SkBits2Float(0x429590d6), SkBits2Float(0x423ab1c1), SkBits2Float(0x424df762), SkBits2Float(0x428231a6));
  5638. path.cubicTo(SkBits2Float(0x41e19a31), SkBits2Float(0x42a70a69), SkBits2Float(0xc04a3289), SkBits2Float(0x42b03133), SkBits2Float(0xc1f5f36e), SkBits2Float(0x429a3139));
  5639. path.lineTo(SkBits2Float(0xc1b1cbb9), SkBits2Float(0x425eedb9));
  5640. path.cubicTo(SkBits2Float(0xc0122aac), SkBits2Float(0x427ebc5a), SkBits2Float(0x41a31606), SkBits2Float(0x42718130), SkBits2Float(0x4214e430), SkBits2Float(0x423c3b73));
  5641. path.cubicTo(SkBits2Float(0x42583d5c), SkBits2Float(0x4206f5b6), SkBits2Float(0x4279fe97), SkBits2Float(0x41470ec8), SkBits2Float(0x426d6866), SkBits2Float(0xc10cb6eb));
  5642. path.lineTo(SkBits2Float(0x42a43502), SkBits2Float(0xc142a7bb));
  5643. path.close();
  5644. SkPath path2(path);
  5645. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5646. }
  5647. // op end success 1
  5648. static void battleOp233(skiatest::Reporter* reporter, const char* filename) {
  5649. SkPath path;
  5650. path.setFillType((SkPath::FillType) 0);
  5651. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5652. path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f68), SkBits2Float(0xc16b5614));
  5653. path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
  5654. path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5655. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5656. path.close();
  5657. SkPath path1(path);
  5658. path.reset();
  5659. path.setFillType((SkPath::FillType) 0);
  5660. path.moveTo(SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  5661. path.cubicTo(SkBits2Float(0x42a4bd24), SkBits2Float(0xc12ea3c2), SkBits2Float(0x42a59325), SkBits2Float(0xc0e282d6), SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  5662. path.lineTo(SkBits2Float(0x426fd18d), SkBits2Float(0xc0154a48));
  5663. path.cubicTo(SkBits2Float(0x426f62a1), SkBits2Float(0xc0a3be33), SkBits2Float(0x426e2d39), SkBits2Float(0xc0fc7dbb), SkBits2Float(0x426c3397), SkBits2Float(0xc12a1f63));
  5664. path.lineTo(SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  5665. path.close();
  5666. SkPath path2(path);
  5667. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5668. }
  5669. // op end success 1
  5670. static void battleOp234(skiatest::Reporter* reporter, const char* filename) {
  5671. SkPath path;
  5672. path.setFillType((SkPath::FillType) 1);
  5673. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5674. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5675. path.cubicTo(SkBits2Float(0x4220aa02), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42952310), SkBits2Float(0xc258f48d), SkBits2Float(0x42a35f69), SkBits2Float(0xc16b5613));
  5676. path.cubicTo(SkBits2Float(0x42a4bd24), SkBits2Float(0xc12ea3c2), SkBits2Float(0x42a59325), SkBits2Float(0xc0e282d6), SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  5677. path.lineTo(SkBits2Float(0x426fd18d), SkBits2Float(0xc0154a48));
  5678. path.cubicTo(SkBits2Float(0x426f62a1), SkBits2Float(0xc0a3be33), SkBits2Float(0x426e2d39), SkBits2Float(0xc0fc7dbb), SkBits2Float(0x426c3397), SkBits2Float(0xc12a1f63));
  5679. path.lineTo(SkBits2Float(0x426c3395), SkBits2Float(0xc12a1f61));
  5680. path.cubicTo(SkBits2Float(0x42579ea8), SkBits2Float(0xc21cd5ce), SkBits2Float(0x41e84916), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5681. path.close();
  5682. SkPath path1(path);
  5683. path.reset();
  5684. path.setFillType((SkPath::FillType) 0);
  5685. path.moveTo(SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  5686. path.cubicTo(SkBits2Float(0x42a85e4f), SkBits2Float(0x41e6959e), SkBits2Float(0x4285b4e3), SkBits2Float(0x426ae44f), SkBits2Float(0x4219b105), SkBits2Float(0x42932450));
  5687. path.cubicTo(SkBits2Float(0x411fe111), SkBits2Float(0x42b0d679), SkBits2Float(0xc1c3966b), SkBits2Float(0x42ab1d42), SkBits2Float(0xc2482755), SkBits2Float(0x428470e8));
  5688. path.lineTo(SkBits2Float(0xc210b07c), SkBits2Float(0x423f7b24));
  5689. path.cubicTo(SkBits2Float(0xc18d6382), SkBits2Float(0x427764e8), SkBits2Float(0x40e72680), SkBits2Float(0x427fab4e), SkBits2Float(0x41de345e), SkBits2Float(0x4254bc3b));
  5690. path.cubicTo(SkBits2Float(0x42414f8e), SkBits2Float(0x4229cd28), SkBits2Float(0x42736c9d), SkBits2Float(0x41a6b008), SkBits2Float(0x426fd18e), SkBits2Float(0xc0154a3f));
  5691. path.lineTo(SkBits2Float(0x42a5dfdf), SkBits2Float(0xc04e84a0));
  5692. path.close();
  5693. SkPath path2(path);
  5694. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5695. }
  5696. // op end success 1
  5697. static void battleOp235(skiatest::Reporter* reporter, const char* filename) {
  5698. SkPath path;
  5699. path.setFillType((SkPath::FillType) 0);
  5700. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5701. path.cubicTo(SkBits2Float(0x422e5e2d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x429f82f2), SkBits2Float(0xc2451c35), SkBits2Float(0x42a59867), SkBits2Float(0xc0b956c5));
  5702. path.lineTo(SkBits2Float(0x426f6a3b), SkBits2Float(0xc085fae3));
  5703. path.cubicTo(SkBits2Float(0x42669e7e), SkBits2Float(0xc20e7d42), SkBits2Float(0x41fc1920), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5704. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5705. path.close();
  5706. SkPath path1(path);
  5707. path.reset();
  5708. path.setFillType((SkPath::FillType) 0);
  5709. path.moveTo(SkBits2Float(0x42a59868), SkBits2Float(0xc0b956ca));
  5710. path.cubicTo(SkBits2Float(0x42a62cd8), SkBits2Float(0xbfd2dd07), SkBits2Float(0x42a621be), SkBits2Float(0x4020d557), SkBits2Float(0x42a57734), SkBits2Float(0x40d4ef9c));
  5711. path.lineTo(SkBits2Float(0x426f3a3b), SkBits2Float(0x4099edfc));
  5712. path.cubicTo(SkBits2Float(0x427030cb), SkBits2Float(0x3fe887ba), SkBits2Float(0x427040d6), SkBits2Float(0xbf986e77), SkBits2Float(0x426f6a3b), SkBits2Float(0xc085fae4));
  5713. path.lineTo(SkBits2Float(0x42a59868), SkBits2Float(0xc0b956ca));
  5714. path.close();
  5715. SkPath path2(path);
  5716. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5717. }
  5718. // op end success 1
  5719. static void battleOp236(skiatest::Reporter* reporter, const char* filename) {
  5720. SkPath path;
  5721. path.setFillType((SkPath::FillType) 1);
  5722. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5723. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5724. path.cubicTo(SkBits2Float(0x422e5e2d), SkBits2Float(0xc2a5ffff), SkBits2Float(0x429f82f2), SkBits2Float(0xc2451c35), SkBits2Float(0x42a59868), SkBits2Float(0xc0b956ca));
  5725. path.cubicTo(SkBits2Float(0x42a62cd8), SkBits2Float(0xbfd2dd07), SkBits2Float(0x42a621be), SkBits2Float(0x4020d557), SkBits2Float(0x42a57734), SkBits2Float(0x40d4ef9c));
  5726. path.lineTo(SkBits2Float(0x426f3a3b), SkBits2Float(0x4099edfc));
  5727. path.cubicTo(SkBits2Float(0x427030cb), SkBits2Float(0x3fe887bb), SkBits2Float(0x427040d6), SkBits2Float(0xbf986e74), SkBits2Float(0x426f6a3b), SkBits2Float(0xc085fae3));
  5728. path.lineTo(SkBits2Float(0x426f6a3b), SkBits2Float(0xc085fae4));
  5729. path.cubicTo(SkBits2Float(0x42669e7e), SkBits2Float(0xc20e7d42), SkBits2Float(0x41fc1920), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5730. path.close();
  5731. SkPath path1(path);
  5732. path.reset();
  5733. path.setFillType((SkPath::FillType) 0);
  5734. path.moveTo(SkBits2Float(0x42a57735), SkBits2Float(0x40d4ef9d));
  5735. path.cubicTo(SkBits2Float(0x429fe5e1), SkBits2Float(0x4225104d), SkBits2Float(0x425fa7d9), SkBits2Float(0x428cf91a), SkBits2Float(0x41b3ea58), SkBits2Float(0x429fca49));
  5736. path.cubicTo(SkBits2Float(0xc12ef606), SkBits2Float(0x42b29b77), SkBits2Float(0xc23abc07), SkBits2Float(0x4299d29d), SkBits2Float(0xc2863a28), SkBits2Float(0x42435615));
  5737. path.lineTo(SkBits2Float(0xc242103b), SkBits2Float(0x420d34fa));
  5738. path.cubicTo(SkBits2Float(0xc206fd22), SkBits2Float(0x425e64f1), SkBits2Float(0xc0fcf4a4), SkBits2Float(0x42811d1e), SkBits2Float(0x41820f34), SkBits2Float(0x426705a2));
  5739. path.cubicTo(SkBits2Float(0x4221adc8), SkBits2Float(0x424bd107), SkBits2Float(0x42672d88), SkBits2Float(0x41eea576), SkBits2Float(0x426f3a3c), SkBits2Float(0x4099edfe));
  5740. path.lineTo(SkBits2Float(0x42a57735), SkBits2Float(0x40d4ef9d));
  5741. path.close();
  5742. SkPath path2(path);
  5743. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5744. }
  5745. // op end success 1
  5746. static void battleOp237(skiatest::Reporter* reporter, const char* filename) {
  5747. SkPath path;
  5748. path.setFillType((SkPath::FillType) 0);
  5749. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5750. path.cubicTo(SkBits2Float(0x41b25a1b), SkBits2Float(0xc2a60000), SkBits2Float(0x422e9a51), SkBits2Float(0xc294100b), SkBits2Float(0x426d0a79), SkBits2Float(0xc26874a1));
  5751. path.cubicTo(SkBits2Float(0x4295bd51), SkBits2Float(0xc228c92e), SkBits2Float(0x42a6d6d5), SkBits2Float(0xc1a5596e), SkBits2Float(0x42a5f7e5), SkBits2Float(0x3fcf7f4c));
  5752. path.lineTo(SkBits2Float(0x426ff448), SkBits2Float(0x3f95ff69));
  5753. path.cubicTo(SkBits2Float(0x4271369b), SkBits2Float(0xc16f0f30), SkBits2Float(0x42587daa), SkBits2Float(0xc1f4071e), SkBits2Float(0x422b5ada), SkBits2Float(0xc2280a4b));
  5754. path.cubicTo(SkBits2Float(0x41fc7014), SkBits2Float(0xc2561107), SkBits2Float(0x4180eddd), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5755. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5756. path.close();
  5757. SkPath path1(path);
  5758. path.reset();
  5759. path.setFillType((SkPath::FillType) 0);
  5760. path.moveTo(SkBits2Float(0x42a5f7e5), SkBits2Float(0x3fcf7f2e));
  5761. path.cubicTo(SkBits2Float(0x42a5cbdf), SkBits2Float(0x40c0b7f8), SkBits2Float(0x42a4eca2), SkBits2Float(0x41268f7d), SkBits2Float(0x42a35c4c), SkBits2Float(0x416be04e));
  5762. path.lineTo(SkBits2Float(0x426c2f14), SkBits2Float(0x412a834e));
  5763. path.cubicTo(SkBits2Float(0x426e71e2), SkBits2Float(0x40f0cf74), SkBits2Float(0x426fb4a3), SkBits2Float(0x408b5090), SkBits2Float(0x426ff449), SkBits2Float(0x3f95ff6b));
  5764. path.lineTo(SkBits2Float(0x42a5f7e5), SkBits2Float(0x3fcf7f2e));
  5765. path.close();
  5766. SkPath path2(path);
  5767. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5768. }
  5769. // op end success 1
  5770. static void battleOp238(skiatest::Reporter* reporter, const char* filename) {
  5771. SkPath path;
  5772. path.setFillType((SkPath::FillType) 1);
  5773. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5774. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5775. path.cubicTo(SkBits2Float(0x41b25a1b), SkBits2Float(0xc2a60000), SkBits2Float(0x422e9a51), SkBits2Float(0xc294100b), SkBits2Float(0x426d0a79), SkBits2Float(0xc26874a1));
  5776. path.cubicTo(SkBits2Float(0x4295bd51), SkBits2Float(0xc228c92e), SkBits2Float(0x42a6d6d5), SkBits2Float(0xc1a5596f), SkBits2Float(0x42a5f7e5), SkBits2Float(0x3fcf7f2e));
  5777. path.lineTo(SkBits2Float(0x426c2f14), SkBits2Float(0x412a834e));
  5778. path.cubicTo(SkBits2Float(0x426e71e2), SkBits2Float(0x40f0cf74), SkBits2Float(0x426fb4a3), SkBits2Float(0x408b5090), SkBits2Float(0x426ff449), SkBits2Float(0x3f95ff6b));
  5779. path.lineTo(SkBits2Float(0x426ff448), SkBits2Float(0x3f95ff69));
  5780. path.cubicTo(SkBits2Float(0x4271369b), SkBits2Float(0xc16f0f30), SkBits2Float(0x42587daa), SkBits2Float(0xc1f4071e), SkBits2Float(0x422b5ada), SkBits2Float(0xc2280a4b));
  5781. path.cubicTo(SkBits2Float(0x41fc7014), SkBits2Float(0xc2561107), SkBits2Float(0x4180eddd), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5782. path.close();
  5783. SkPath path1(path);
  5784. path.reset();
  5785. path.setFillType((SkPath::FillType) 0);
  5786. path.moveTo(SkBits2Float(0x42a35c4c), SkBits2Float(0x416be04e));
  5787. path.cubicTo(SkBits2Float(0x42963d3f), SkBits2Float(0x424c5e0d), SkBits2Float(0x42354f77), SkBits2Float(0x429d76d6), SkBits2Float(0x41096c90), SkBits2Float(0x42a51bdb));
  5788. path.cubicTo(SkBits2Float(0xc1e1325f), SkBits2Float(0x42acc0e0), SkBits2Float(0xc27bf938), SkBits2Float(0x4282ec23), SkBits2Float(0xc299cad8), SkBits2Float(0x41f9ecd8));
  5789. path.lineTo(SkBits2Float(0xc25e59b3), SkBits2Float(0x41b4ab36));
  5790. path.cubicTo(SkBits2Float(0xc2362649), SkBits2Float(0x423d4911), SkBits2Float(0xc1a2caf7), SkBits2Float(0x4279c398), SkBits2Float(0x40c6af7d), SkBits2Float(0x426eb62b));
  5791. path.cubicTo(SkBits2Float(0x4203115b), SkBits2Float(0x4263a8be), SkBits2Float(0x425936a2), SkBits2Float(0x4213bc4a), SkBits2Float(0x426c2f16), SkBits2Float(0x412a8350));
  5792. path.lineTo(SkBits2Float(0x42a35c4c), SkBits2Float(0x416be04e));
  5793. path.close();
  5794. SkPath path2(path);
  5795. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5796. }
  5797. // op end success 1
  5798. static void battleOp239(skiatest::Reporter* reporter, const char* filename) {
  5799. SkPath path;
  5800. path.setFillType((SkPath::FillType) 0);
  5801. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5802. path.cubicTo(SkBits2Float(0x41ba3f99), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4235f79d), SkBits2Float(0xc29271cf), SkBits2Float(0x4274db3f), SkBits2Float(0xc260354d));
  5803. path.cubicTo(SkBits2Float(0x4299df70), SkBits2Float(0xc21b86fd), SkBits2Float(0x42a97305), SkBits2Float(0xc17e5d7a), SkBits2Float(0x42a55ba0), SkBits2Float(0x40e961b4));
  5804. path.lineTo(SkBits2Float(0x426f1259), SkBits2Float(0x40a8b5ae));
  5805. path.cubicTo(SkBits2Float(0x4274fca8), SkBits2Float(0xc137e0e1), SkBits2Float(0x425e777b), SkBits2Float(0xc1e0dbdb), SkBits2Float(0x42310131), SkBits2Float(0xc2221408));
  5806. path.cubicTo(SkBits2Float(0x42038ae6), SkBits2Float(0xc253ba22), SkBits2Float(0x4186a32c), SkBits2Float(0xc2700000), SkBits2Float(0xb560056c), SkBits2Float(0xc2700000));
  5807. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5808. path.close();
  5809. SkPath path1(path);
  5810. path.reset();
  5811. path.setFillType((SkPath::FillType) 0);
  5812. path.moveTo(SkBits2Float(0x42a55ba0), SkBits2Float(0x40e961b9));
  5813. path.cubicTo(SkBits2Float(0x42a48d09), SkBits2Float(0x413de0a1), SkBits2Float(0x42a2fc74), SkBits2Float(0x41833376), SkBits2Float(0x42a0adff), SkBits2Float(0x41a6c250));
  5814. path.lineTo(SkBits2Float(0x42684ed9), SkBits2Float(0x417118ef));
  5815. path.cubicTo(SkBits2Float(0x426ba483), SkBits2Float(0x413db02f), SkBits2Float(0x426de7aa), SkBits2Float(0x410942c3), SkBits2Float(0x426f1258), SkBits2Float(0x40a8b5ad));
  5816. path.lineTo(SkBits2Float(0x42a55ba0), SkBits2Float(0x40e961b9));
  5817. path.close();
  5818. SkPath path2(path);
  5819. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5820. }
  5821. // op end success 1
  5822. static void battleOp240(skiatest::Reporter* reporter, const char* filename) {
  5823. SkPath path;
  5824. path.setFillType((SkPath::FillType) 1);
  5825. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5826. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5827. path.cubicTo(SkBits2Float(0x41ba3f99), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4235f79d), SkBits2Float(0xc29271cf), SkBits2Float(0x4274db3f), SkBits2Float(0xc260354d));
  5828. path.cubicTo(SkBits2Float(0x4299df70), SkBits2Float(0xc21b86fd), SkBits2Float(0x42a97305), SkBits2Float(0xc17e5d7a), SkBits2Float(0x42a55ba0), SkBits2Float(0x40e961b9));
  5829. path.cubicTo(SkBits2Float(0x42a48d09), SkBits2Float(0x413de0a1), SkBits2Float(0x42a2fc74), SkBits2Float(0x41833376), SkBits2Float(0x42a0adff), SkBits2Float(0x41a6c250));
  5830. path.lineTo(SkBits2Float(0x42684ed9), SkBits2Float(0x417118ef));
  5831. path.cubicTo(SkBits2Float(0x426ba483), SkBits2Float(0x413db02f), SkBits2Float(0x426de7aa), SkBits2Float(0x410942c3), SkBits2Float(0x426f1259), SkBits2Float(0x40a8b5ae));
  5832. path.cubicTo(SkBits2Float(0x4274fca8), SkBits2Float(0xc137e0e1), SkBits2Float(0x425e777b), SkBits2Float(0xc1e0dbdb), SkBits2Float(0x42310131), SkBits2Float(0xc2221408));
  5833. path.cubicTo(SkBits2Float(0x42038ae6), SkBits2Float(0xc253ba22), SkBits2Float(0x4186a32c), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  5834. path.close();
  5835. SkPath path1(path);
  5836. path.reset();
  5837. path.setFillType((SkPath::FillType) 0);
  5838. path.moveTo(SkBits2Float(0x42a0ae00), SkBits2Float(0x41a6c250));
  5839. path.cubicTo(SkBits2Float(0x428d4422), SkBits2Float(0x4269069e), SkBits2Float(0x42118d33), SkBits2Float(0x42a8086f), SkBits2Float(0xc00fe376), SkBits2Float(0x42a5f066));
  5840. path.cubicTo(SkBits2Float(0xc22389a2), SkBits2Float(0x42a3d85e), SkBits2Float(0xc2935e5d), SkBits2Float(0x42596224), SkBits2Float(0xc2a2b39d), SkBits2Float(0x4183b53a));
  5841. path.lineTo(SkBits2Float(0xc26b3b33), SkBits2Float(0x413e6bca));
  5842. path.cubicTo(SkBits2Float(0xc2551027), SkBits2Float(0x421d2508), SkBits2Float(0xc1ec70a3), SkBits2Float(0x426ce27d), SkBits2Float(0xbfd007ff), SkBits2Float(0x426fe979));
  5843. path.cubicTo(SkBits2Float(0x41d26fa4), SkBits2Float(0x4272f076), SkBits2Float(0x424c3d84), SkBits2Float(0x422873d5), SkBits2Float(0x42684eda), SkBits2Float(0x417118ee));
  5844. path.lineTo(SkBits2Float(0x42a0ae00), SkBits2Float(0x41a6c250));
  5845. path.close();
  5846. SkPath path2(path);
  5847. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5848. }
  5849. // op end success 1
  5850. static void battleOp241(skiatest::Reporter* reporter, const char* filename) {
  5851. SkPath path;
  5852. path.setFillType((SkPath::FillType) 0);
  5853. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5854. path.cubicTo(SkBits2Float(0x41c2abe0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423dc4ab), SkBits2Float(0xc290a493), SkBits2Float(0x427cd8fd), SkBits2Float(0xc25727eb));
  5855. path.cubicTo(SkBits2Float(0x429df6a6), SkBits2Float(0xc20d06b1), SkBits2Float(0x42aba628), SkBits2Float(0xc12bcbe5), SkBits2Float(0x42a3dc46), SkBits2Float(0x4154872f));
  5856. path.lineTo(SkBits2Float(0x426ce81c), SkBits2Float(0x4119a283));
  5857. path.cubicTo(SkBits2Float(0x42782ad8), SkBits2Float(0xc0f86165), SkBits2Float(0x42646188), SkBits2Float(0xc1cbe4ab), SkBits2Float(0x4236c80c), SkBits2Float(0xc21b88d1));
  5858. path.cubicTo(SkBits2Float(0x42092e8f), SkBits2Float(0xc2511f4c), SkBits2Float(0x418cb9f2), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5859. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5860. path.close();
  5861. SkPath path1(path);
  5862. path.reset();
  5863. path.setFillType((SkPath::FillType) 0);
  5864. path.moveTo(SkBits2Float(0x42a3dc46), SkBits2Float(0x41548735));
  5865. path.cubicTo(SkBits2Float(0x42a2537f), SkBits2Float(0x41901e3f), SkBits2Float(0x429ff996), SkBits2Float(0x41b55e92), SkBits2Float(0x429cd549), SkBits2Float(0x41d999a0));
  5866. path.lineTo(SkBits2Float(0x4262bf29), SkBits2Float(0x419d4d21));
  5867. path.cubicTo(SkBits2Float(0x42674a02), SkBits2Float(0x41831c46), SkBits2Float(0x426ab03e), SkBits2Float(0x41505d16), SkBits2Float(0x426ce81d), SkBits2Float(0x4119a283));
  5868. path.lineTo(SkBits2Float(0x42a3dc46), SkBits2Float(0x41548735));
  5869. path.close();
  5870. SkPath path2(path);
  5871. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5872. }
  5873. // op end success 1
  5874. static void battleOp242(skiatest::Reporter* reporter, const char* filename) {
  5875. SkPath path;
  5876. path.setFillType((SkPath::FillType) 1);
  5877. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5878. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5879. path.cubicTo(SkBits2Float(0x41c2abe0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x423dc4ab), SkBits2Float(0xc290a493), SkBits2Float(0x427cd8fd), SkBits2Float(0xc25727eb));
  5880. path.cubicTo(SkBits2Float(0x429df6a6), SkBits2Float(0xc20d06b1), SkBits2Float(0x42aba628), SkBits2Float(0xc12bcbe5), SkBits2Float(0x42a3dc46), SkBits2Float(0x41548735));
  5881. path.cubicTo(SkBits2Float(0x42a2537f), SkBits2Float(0x41901e3f), SkBits2Float(0x429ff996), SkBits2Float(0x41b55e92), SkBits2Float(0x429cd549), SkBits2Float(0x41d999a0));
  5882. path.lineTo(SkBits2Float(0x4262bf29), SkBits2Float(0x419d4d21));
  5883. path.cubicTo(SkBits2Float(0x42674a02), SkBits2Float(0x41831c46), SkBits2Float(0x426ab03e), SkBits2Float(0x41505d16), SkBits2Float(0x426ce81c), SkBits2Float(0x4119a283));
  5884. path.cubicTo(SkBits2Float(0x42782ad8), SkBits2Float(0xc0f86165), SkBits2Float(0x42646188), SkBits2Float(0xc1cbe4ab), SkBits2Float(0x4236c80c), SkBits2Float(0xc21b88d1));
  5885. path.cubicTo(SkBits2Float(0x42092e8f), SkBits2Float(0xc2511f4c), SkBits2Float(0x418cb9f2), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  5886. path.close();
  5887. SkPath path1(path);
  5888. path.reset();
  5889. path.setFillType((SkPath::FillType) 0);
  5890. path.moveTo(SkBits2Float(0x429cd549), SkBits2Float(0x41d999a0));
  5891. path.cubicTo(SkBits2Float(0x42824b9e), SkBits2Float(0x4282e841), SkBits2Float(0x41d1b597), SkBits2Float(0x42b119ff), SkBits2Float(0xc15b80c3), SkBits2Float(0x42a3b776));
  5892. path.cubicTo(SkBits2Float(0xc2569b2d), SkBits2Float(0x429654ee), SkBits2Float(0xc2a5db0b), SkBits2Float(0x42228c64), SkBits2Float(0xc2a5ffee), SkBits2Float(0x3e172efd));
  5893. path.lineTo(SkBits2Float(0xc26fffe7), SkBits2Float(0x3dda91a4));
  5894. path.cubicTo(SkBits2Float(0xc26fca99), SkBits2Float(0x41eb0285), SkBits2Float(0xc21b2317), SkBits2Float(0x425958e5), SkBits2Float(0xc11ead4d), SkBits2Float(0x426cb2ed));
  5895. path.cubicTo(SkBits2Float(0x419798e1), SkBits2Float(0x4280067a), SkBits2Float(0x423c6102), SkBits2Float(0x423d4379), SkBits2Float(0x4262bf29), SkBits2Float(0x419d4d1f));
  5896. path.lineTo(SkBits2Float(0x429cd549), SkBits2Float(0x41d999a0));
  5897. path.close();
  5898. SkPath path2(path);
  5899. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5900. }
  5901. // op end success 1
  5902. static void battleOp243(skiatest::Reporter* reporter, const char* filename) {
  5903. SkPath path;
  5904. path.setFillType((SkPath::FillType) 0);
  5905. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5906. path.cubicTo(SkBits2Float(0x41caf078), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42455e40), SkBits2Float(0xc28ecc78), SkBits2Float(0x42822b31), SkBits2Float(0xc24e07b4));
  5907. path.cubicTo(SkBits2Float(0x42a1a743), SkBits2Float(0xc1fcecee), SkBits2Float(0x42ad3753), SkBits2Float(0xc0b3be45), SkBits2Float(0x42a18eed), SkBits2Float(0x419892cb));
  5908. path.lineTo(SkBits2Float(0x42699409), SkBits2Float(0x415c9689));
  5909. path.cubicTo(SkBits2Float(0x427a6ed6), SkBits2Float(0xc081ef5b), SkBits2Float(0x4269b739), SkBits2Float(0xc1b6d67a), SkBits2Float(0x423c321c), SkBits2Float(0xc214effc));
  5910. path.cubicTo(SkBits2Float(0x420eacff), SkBits2Float(0xc24e74bc), SkBits2Float(0x4192b3ff), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  5911. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5912. path.close();
  5913. SkPath path1(path);
  5914. path.reset();
  5915. path.setFillType((SkPath::FillType) 0);
  5916. path.moveTo(SkBits2Float(0x42a18eed), SkBits2Float(0x419892ca));
  5917. path.cubicTo(SkBits2Float(0x429f43c9), SkBits2Float(0x41bf6e44), SkBits2Float(0x429c198b), SkBits2Float(0x41e561a5), SkBits2Float(0x42981a0b), SkBits2Float(0x4204fb6e));
  5918. path.lineTo(SkBits2Float(0x425be7f8), SkBits2Float(0x41c0436a));
  5919. path.cubicTo(SkBits2Float(0x4261afba), SkBits2Float(0x41a5d162), SkBits2Float(0x42664329), SkBits2Float(0x418a6237), SkBits2Float(0x4269940a), SkBits2Float(0x415c968a));
  5920. path.lineTo(SkBits2Float(0x42a18eed), SkBits2Float(0x419892ca));
  5921. path.close();
  5922. SkPath path2(path);
  5923. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5924. }
  5925. // op end success 1
  5926. static void battleOp244(skiatest::Reporter* reporter, const char* filename) {
  5927. SkPath path;
  5928. path.setFillType((SkPath::FillType) 1);
  5929. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  5930. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5931. path.cubicTo(SkBits2Float(0x41caf078), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42455e40), SkBits2Float(0xc28ecc78), SkBits2Float(0x42822b31), SkBits2Float(0xc24e07b4));
  5932. path.cubicTo(SkBits2Float(0x42a1a743), SkBits2Float(0xc1fcecee), SkBits2Float(0x42ad3753), SkBits2Float(0xc0b3be48), SkBits2Float(0x42a18eed), SkBits2Float(0x419892ca));
  5933. path.lineTo(SkBits2Float(0x42a18eed), SkBits2Float(0x419892cb));
  5934. path.cubicTo(SkBits2Float(0x429f43c9), SkBits2Float(0x41bf6e45), SkBits2Float(0x429c198b), SkBits2Float(0x41e561a5), SkBits2Float(0x42981a0b), SkBits2Float(0x4204fb6e));
  5935. path.lineTo(SkBits2Float(0x425be7f8), SkBits2Float(0x41c0436a));
  5936. path.cubicTo(SkBits2Float(0x4261afba), SkBits2Float(0x41a5d162), SkBits2Float(0x42664329), SkBits2Float(0x418a6237), SkBits2Float(0x4269940a), SkBits2Float(0x415c968a));
  5937. path.lineTo(SkBits2Float(0x42699409), SkBits2Float(0x415c9689));
  5938. path.cubicTo(SkBits2Float(0x427a6ed6), SkBits2Float(0xc081ef5b), SkBits2Float(0x4269b739), SkBits2Float(0xc1b6d67a), SkBits2Float(0x423c321c), SkBits2Float(0xc214effc));
  5939. path.cubicTo(SkBits2Float(0x420eacff), SkBits2Float(0xc24e74bc), SkBits2Float(0x4192b3ff), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  5940. path.close();
  5941. SkPath path1(path);
  5942. path.reset();
  5943. path.setFillType((SkPath::FillType) 0);
  5944. path.moveTo(SkBits2Float(0x42981a0b), SkBits2Float(0x4204fb6e));
  5945. path.cubicTo(SkBits2Float(0x426c6b55), SkBits2Float(0x42900555), SkBits2Float(0x417b6a9f), SkBits2Float(0x42b7a6c3), SkBits2Float(0xc1c57072), SkBits2Float(0x429e7dd7));
  5946. path.cubicTo(SkBits2Float(0xc282258c), SkBits2Float(0x428554eb), SkBits2Float(0xc2b314c4), SkBits2Float(0x41cdbc89), SkBits2Float(0xc2a2f571), SkBits2Float(0xc17d09b6));
  5947. path.lineTo(SkBits2Float(0xc26b9a61), SkBits2Float(0xc136eb32));
  5948. path.cubicTo(SkBits2Float(0xc28174d0), SkBits2Float(0x4194b9b3), SkBits2Float(0xc23c29fc), SkBits2Float(0x4240c4dc), SkBits2Float(0xc18eba2f), SkBits2Float(0x4265250a));
  5949. path.cubicTo(SkBits2Float(0x4135bf41), SkBits2Float(0x4284c29d), SkBits2Float(0x422ae7d8), SkBits2Float(0x42503918), SkBits2Float(0x425be7f9), SkBits2Float(0x41c04367));
  5950. path.lineTo(SkBits2Float(0x42981a0b), SkBits2Float(0x4204fb6e));
  5951. path.close();
  5952. SkPath path2(path);
  5953. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5954. }
  5955. // op end success 1
  5956. static void battleOp245(skiatest::Reporter* reporter, const char* filename) {
  5957. SkPath path;
  5958. path.setFillType((SkPath::FillType) 0);
  5959. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5960. path.cubicTo(SkBits2Float(0x41d28773), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424c4acf), SkBits2Float(0xc28d0a47), SkBits2Float(0x428572fc), SkBits2Float(0xc24574fc));
  5961. path.cubicTo(SkBits2Float(0x42a4c090), SkBits2Float(0xc1e1aad9), SkBits2Float(0x42ae2294), SkBits2Float(0xbf62367e), SkBits2Float(0x429ebce0), SkBits2Float(0x41c23fec));
  5962. path.lineTo(SkBits2Float(0x4265801d), SkBits2Float(0x418c6be6));
  5963. path.cubicTo(SkBits2Float(0x427bc2fb), SkBits2Float(0xbf238720), SkBits2Float(0x426e322e), SkBits2Float(0xc1a32211), SkBits2Float(0x4240f046), SkBits2Float(0xc20ebd71));
  5964. path.cubicTo(SkBits2Float(0x4213ae61), SkBits2Float(0xc24be9da), SkBits2Float(0x41983095), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5965. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  5966. path.close();
  5967. SkPath path1(path);
  5968. path.reset();
  5969. path.setFillType((SkPath::FillType) 0);
  5970. path.moveTo(SkBits2Float(0x429ebce1), SkBits2Float(0x41c23fee));
  5971. path.cubicTo(SkBits2Float(0x429bb658), SkBits2Float(0x41e9cedc), SkBits2Float(0x4297c4ea), SkBits2Float(0x4208130e), SkBits2Float(0x4292f5c0), SkBits2Float(0x421a62d5));
  5972. path.lineTo(SkBits2Float(0x425478e6), SkBits2Float(0x41df3573));
  5973. path.cubicTo(SkBits2Float(0x425b6ce6), SkBits2Float(0x41c4bbf1), SkBits2Float(0x42612050), SkBits2Float(0x41a90494), SkBits2Float(0x4265801e), SkBits2Float(0x418c6be6));
  5974. path.lineTo(SkBits2Float(0x429ebce1), SkBits2Float(0x41c23fee));
  5975. path.close();
  5976. SkPath path2(path);
  5977. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  5978. }
  5979. // op end success 1
  5980. static void battleOp246(skiatest::Reporter* reporter, const char* filename) {
  5981. SkPath path;
  5982. path.setFillType((SkPath::FillType) 1);
  5983. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5984. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  5985. path.cubicTo(SkBits2Float(0x41d28773), SkBits2Float(0xc2a5ffff), SkBits2Float(0x424c4acf), SkBits2Float(0xc28d0a47), SkBits2Float(0x428572fc), SkBits2Float(0xc24574fc));
  5986. path.cubicTo(SkBits2Float(0x42a4c090), SkBits2Float(0xc1e1aad9), SkBits2Float(0x42ae2294), SkBits2Float(0xbf62367e), SkBits2Float(0x429ebce1), SkBits2Float(0x41c23fee));
  5987. path.cubicTo(SkBits2Float(0x429bb658), SkBits2Float(0x41e9cedc), SkBits2Float(0x4297c4ea), SkBits2Float(0x4208130e), SkBits2Float(0x4292f5c0), SkBits2Float(0x421a62d5));
  5988. path.lineTo(SkBits2Float(0x425478e6), SkBits2Float(0x41df3573));
  5989. path.cubicTo(SkBits2Float(0x425b6ce6), SkBits2Float(0x41c4bbf1), SkBits2Float(0x42612050), SkBits2Float(0x41a90494), SkBits2Float(0x4265801d), SkBits2Float(0x418c6be6));
  5990. path.cubicTo(SkBits2Float(0x427bc2fb), SkBits2Float(0xbf238720), SkBits2Float(0x426e322e), SkBits2Float(0xc1a32211), SkBits2Float(0x4240f046), SkBits2Float(0xc20ebd71));
  5991. path.cubicTo(SkBits2Float(0x4213ae61), SkBits2Float(0xc24be9da), SkBits2Float(0x41983095), SkBits2Float(0xc2700000), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  5992. path.close();
  5993. SkPath path1(path);
  5994. path.reset();
  5995. path.setFillType((SkPath::FillType) 0);
  5996. path.moveTo(SkBits2Float(0x4292f5c1), SkBits2Float(0x421a62d6));
  5997. path.cubicTo(SkBits2Float(0x42541a09), SkBits2Float(0x429b1363), SkBits2Float(0x40b7c75d), SkBits2Float(0x42bb84d6), SkBits2Float(0xc2093cef), SkBits2Float(0x42972755));
  5998. path.cubicTo(SkBits2Float(0xc294b966), SkBits2Float(0x426593a9), SkBits2Float(0xc2ba8c7c), SkBits2Float(0x4131f51c), SkBits2Float(0xc29ad8fe), SkBits2Float(0xc1ef45cd));
  5999. path.lineTo(SkBits2Float(0xc25fe048), SkBits2Float(0xc1acf7d7));
  6000. path.cubicTo(SkBits2Float(0xc286dac7), SkBits2Float(0x4100a4f0), SkBits2Float(0xc25705ec), SkBits2Float(0x4225f597), SkBits2Float(0xc1c66aa8), SkBits2Float(0x425a891e));
  6001. path.cubicTo(SkBits2Float(0x4084da24), SkBits2Float(0x42878e54), SkBits2Float(0x4219539e), SkBits2Float(0x426034bf), SkBits2Float(0x425478e7), SkBits2Float(0x41df3571));
  6002. path.lineTo(SkBits2Float(0x4292f5c1), SkBits2Float(0x421a62d6));
  6003. path.close();
  6004. SkPath path2(path);
  6005. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6006. }
  6007. // op end success 1
  6008. static void battleOp247(skiatest::Reporter* reporter, const char* filename) {
  6009. SkPath path;
  6010. path.setFillType((SkPath::FillType) 0);
  6011. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6012. path.cubicTo(SkBits2Float(0x41d91350), SkBits2Float(0xc2a5ffff), SkBits2Float(0x425238e3), SkBits2Float(0xc28b791f), SkBits2Float(0x428827e4), SkBits2Float(0xc23dec02));
  6013. path.cubicTo(SkBits2Float(0x42a73357), SkBits2Float(0xc1c9cb8b), SkBits2Float(0x42ae86ff), SkBits2Float(0x404daf5b), SkBits2Float(0x429bc6e8), SkBits2Float(0x41e56ae9));
  6014. path.lineTo(SkBits2Float(0x42613841), SkBits2Float(0x41a5d816));
  6015. path.cubicTo(SkBits2Float(0x427c5425), SkBits2Float(0x4014b024), SkBits2Float(0x4271bc5c), SkBits2Float(0xc191e03e), SkBits2Float(0x4244da12), SkBits2Float(0xc2094aff));
  6016. path.cubicTo(SkBits2Float(0x4217f7c8), SkBits2Float(0xc249a5df), SkBits2Float(0x419cec09), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  6017. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6018. path.close();
  6019. SkPath path1(path);
  6020. path.reset();
  6021. path.setFillType((SkPath::FillType) 0);
  6022. path.moveTo(SkBits2Float(0x429bc6e9), SkBits2Float(0x41e56aeb));
  6023. path.cubicTo(SkBits2Float(0x429818bd), SkBits2Float(0x4206b36a), SkBits2Float(0x42937671), SkBits2Float(0x4219f01e), SkBits2Float(0x428df070), SkBits2Float(0x422c2771));
  6024. path.lineTo(SkBits2Float(0x424d369d), SkBits2Float(0x41f8e5bf));
  6025. path.cubicTo(SkBits2Float(0x425532f6), SkBits2Float(0x41de8f99), SkBits2Float(0x425be616), SkBits2Float(0x41c2bf8b), SkBits2Float(0x42613843), SkBits2Float(0x41a5d816));
  6026. path.lineTo(SkBits2Float(0x429bc6e9), SkBits2Float(0x41e56aeb));
  6027. path.close();
  6028. SkPath path2(path);
  6029. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6030. }
  6031. // op end success 1
  6032. static void battleOp248(skiatest::Reporter* reporter, const char* filename) {
  6033. SkPath path;
  6034. path.setFillType((SkPath::FillType) 1);
  6035. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  6036. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6037. path.cubicTo(SkBits2Float(0x41d91350), SkBits2Float(0xc2a5ffff), SkBits2Float(0x425238e3), SkBits2Float(0xc28b791f), SkBits2Float(0x428827e4), SkBits2Float(0xc23dec02));
  6038. path.cubicTo(SkBits2Float(0x42a73357), SkBits2Float(0xc1c9cb8b), SkBits2Float(0x42ae86ff), SkBits2Float(0x404daf5b), SkBits2Float(0x429bc6e9), SkBits2Float(0x41e56aeb));
  6039. path.cubicTo(SkBits2Float(0x429818bd), SkBits2Float(0x4206b36a), SkBits2Float(0x42937671), SkBits2Float(0x4219f01e), SkBits2Float(0x428df070), SkBits2Float(0x422c2771));
  6040. path.lineTo(SkBits2Float(0x424d369d), SkBits2Float(0x41f8e5bf));
  6041. path.cubicTo(SkBits2Float(0x425532f6), SkBits2Float(0x41de8f99), SkBits2Float(0x425be616), SkBits2Float(0x41c2bf8b), SkBits2Float(0x42613843), SkBits2Float(0x41a5d816));
  6042. path.lineTo(SkBits2Float(0x42613841), SkBits2Float(0x41a5d816));
  6043. path.cubicTo(SkBits2Float(0x427c5425), SkBits2Float(0x4014b024), SkBits2Float(0x4271bc5c), SkBits2Float(0xc191e03e), SkBits2Float(0x4244da12), SkBits2Float(0xc2094aff));
  6044. path.cubicTo(SkBits2Float(0x4217f7c8), SkBits2Float(0xc249a5df), SkBits2Float(0x419cec09), SkBits2Float(0xc2700000), SkBits2Float(0xb630015b), SkBits2Float(0xc2700000));
  6045. path.close();
  6046. SkPath path1(path);
  6047. path.reset();
  6048. path.setFillType((SkPath::FillType) 0);
  6049. path.moveTo(SkBits2Float(0x428df071), SkBits2Float(0x422c2771));
  6050. path.cubicTo(SkBits2Float(0x423d9ebb), SkBits2Float(0x42a3ca6a), SkBits2Float(0xc041a78f), SkBits2Float(0x42bd279e), SkBits2Float(0xc228abe7), SkBits2Float(0x428efaad));
  6051. path.cubicTo(SkBits2Float(0xc2a29eac), SkBits2Float(0x42419b78), SkBits2Float(0xc2bd3710), SkBits2Float(0xbfef63d4), SkBits2Float(0xc2900003), SkBits2Float(0xc2252a98));
  6052. path.lineTo(SkBits2Float(0xc250315d), SkBits2Float(0xc1eecb7c));
  6053. path.cubicTo(SkBits2Float(0xc288c864), SkBits2Float(0xbfad0c79), SkBits2Float(0xc26b1d6b), SkBits2Float(0x420bf56b), SkBits2Float(0xc1f3dd5d), SkBits2Float(0x424eb80d));
  6054. path.cubicTo(SkBits2Float(0xc00bff34), SkBits2Float(0x4288bd57), SkBits2Float(0x4209134e), SkBits2Float(0x426ccea7), SkBits2Float(0x424d369e), SkBits2Float(0x41f8e5bd));
  6055. path.lineTo(SkBits2Float(0x428df071), SkBits2Float(0x422c2771));
  6056. path.close();
  6057. SkPath path2(path);
  6058. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6059. }
  6060. // op end success 1
  6061. static void battleOp249(skiatest::Reporter* reporter, const char* filename) {
  6062. SkPath path;
  6063. path.setFillType((SkPath::FillType) 0);
  6064. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6065. path.cubicTo(SkBits2Float(0x41df6bc7), SkBits2Float(0xc2a60000), SkBits2Float(0x4257ee8b), SkBits2Float(0xc289e8f6), SkBits2Float(0x428aab73), SkBits2Float(0xc2368066));
  6066. path.cubicTo(SkBits2Float(0x42a95fa1), SkBits2Float(0xc1b25dc1), SkBits2Float(0x42ae8dc1), SkBits2Float(0x40e61789), SkBits2Float(0x42987459), SkBits2Float(0x42035b41));
  6067. path.lineTo(SkBits2Float(0x425c6a87), SkBits2Float(0x41bde9b7));
  6068. path.cubicTo(SkBits2Float(0x427c5dea), SkBits2Float(0x40a654db), SkBits2Float(0x4274e0a0), SkBits2Float(0xc180f082), SkBits2Float(0x42487c82), SkBits2Float(0xc203edca));
  6069. path.cubicTo(SkBits2Float(0x421c1865), SkBits2Float(0xc2476353), SkBits2Float(0x41a18256), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6070. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6071. path.close();
  6072. SkPath path1(path);
  6073. path.reset();
  6074. path.setFillType((SkPath::FillType) 0);
  6075. path.moveTo(SkBits2Float(0x42987459), SkBits2Float(0x42035b41));
  6076. path.cubicTo(SkBits2Float(0x42941f1a), SkBits2Float(0x421778e1), SkBits2Float(0x428ecdc9), SkBits2Float(0x422aae55), SkBits2Float(0x42889449), SkBits2Float(0x423cb3b9));
  6077. path.lineTo(SkBits2Float(0x424576c5), SkBits2Float(0x4208693e));
  6078. path.cubicTo(SkBits2Float(0x424e76a2), SkBits2Float(0x41f6c488), SkBits2Float(0x425626ce), SkBits2Float(0x41dafef6), SkBits2Float(0x425c6a88), SkBits2Float(0x41bde9b8));
  6079. path.lineTo(SkBits2Float(0x42987459), SkBits2Float(0x42035b41));
  6080. path.close();
  6081. SkPath path2(path);
  6082. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6083. }
  6084. // op end success 1
  6085. static void battleOp250(skiatest::Reporter* reporter, const char* filename) {
  6086. SkPath path;
  6087. path.setFillType((SkPath::FillType) 1);
  6088. path.moveTo(SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6089. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6090. path.cubicTo(SkBits2Float(0x41df6bc7), SkBits2Float(0xc2a60000), SkBits2Float(0x4257ee8b), SkBits2Float(0xc289e8f6), SkBits2Float(0x428aab73), SkBits2Float(0xc2368066));
  6091. path.cubicTo(SkBits2Float(0x42a95fa1), SkBits2Float(0xc1b25dc1), SkBits2Float(0x42ae8dc1), SkBits2Float(0x40e61789), SkBits2Float(0x42987459), SkBits2Float(0x42035b41));
  6092. path.cubicTo(SkBits2Float(0x42941f1a), SkBits2Float(0x421778e1), SkBits2Float(0x428ecdc9), SkBits2Float(0x422aae55), SkBits2Float(0x42889449), SkBits2Float(0x423cb3b9));
  6093. path.lineTo(SkBits2Float(0x424576c5), SkBits2Float(0x4208693e));
  6094. path.cubicTo(SkBits2Float(0x424e76a2), SkBits2Float(0x41f6c488), SkBits2Float(0x425626ce), SkBits2Float(0x41dafef6), SkBits2Float(0x425c6a87), SkBits2Float(0x41bde9b7));
  6095. path.cubicTo(SkBits2Float(0x427c5dea), SkBits2Float(0x40a654db), SkBits2Float(0x4274e0a0), SkBits2Float(0xc180f082), SkBits2Float(0x42487c82), SkBits2Float(0xc203edca));
  6096. path.cubicTo(SkBits2Float(0x421c1865), SkBits2Float(0xc2476353), SkBits2Float(0x41a18256), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6097. path.close();
  6098. SkPath path1(path);
  6099. path.reset();
  6100. path.setFillType((SkPath::FillType) 0);
  6101. path.moveTo(SkBits2Float(0x42889449), SkBits2Float(0x423cb3b8));
  6102. path.cubicTo(SkBits2Float(0x424c5291), SkBits2Float(0x42902c61), SkBits2Float(0x41ad609d), SkBits2Float(0x42ab4d26), SkBits2Float(0xc1072a9c), SkBits2Float(0x42a52356));
  6103. path.cubicTo(SkBits2Float(0xc21a459c), SkBits2Float(0x429ef985), SkBits2Float(0xc2813d9b), SkBits2Float(0x4270fef6), SkBits2Float(0xc298db30), SkBits2Float(0x420179e4));
  6104. path.cubicTo(SkBits2Float(0xc2b078c6), SkBits2Float(0x408fa686), SkBits2Float(0xc2a7d9d7), SkBits2Float(0xc1dcde62), SkBits2Float(0xc2825c7e), SkBits2Float(0xc24d8ae0));
  6105. path.lineTo(SkBits2Float(0xc23c7965), SkBits2Float(0xc21495bd));
  6106. path.cubicTo(SkBits2Float(0xc272ad07), SkBits2Float(0xc19fa9fe), SkBits2Float(0xc27f23bc), SkBits2Float(0x404faf9e), SkBits2Float(0xc25cff22), SkBits2Float(0x41bb31a8));
  6107. path.cubicTo(SkBits2Float(0xc23ada86), SkBits2Float(0x422e36b1), SkBits2Float(0xc1df0b0c), SkBits2Float(0x4265d7b2), SkBits2Float(0xc0c36b6f), SkBits2Float(0x426ec0e0));
  6108. path.cubicTo(SkBits2Float(0x417aaa9e), SkBits2Float(0x4277aa0e), SkBits2Float(0x4213b3f9), SkBits2Float(0x42507175), SkBits2Float(0x424576c8), SkBits2Float(0x4208693c));
  6109. path.lineTo(SkBits2Float(0x42889449), SkBits2Float(0x423cb3b8));
  6110. path.close();
  6111. SkPath path2(path);
  6112. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6113. }
  6114. // op end success 1
  6115. static void battleOp251(skiatest::Reporter* reporter, const char* filename) {
  6116. SkPath path;
  6117. path.setFillType((SkPath::FillType) 0);
  6118. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6119. path.cubicTo(SkBits2Float(0x41e529f0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x425d10b2), SkBits2Float(0xc2887541), SkBits2Float(0x428cd9cf), SkBits2Float(0xc22fb184));
  6120. path.cubicTo(SkBits2Float(0x42ab2b45), SkBits2Float(0xc19cf10c), SkBits2Float(0x42ae472d), SkBits2Float(0x412c96c0), SkBits2Float(0x42951360), SkBits2Float(0x42120c0d));
  6121. path.lineTo(SkBits2Float(0x425787f7), SkBits2Float(0x41d32707));
  6122. path.cubicTo(SkBits2Float(0x427bf7e0), SkBits2Float(0x40f986c2), SkBits2Float(0x4277792b), SkBits2Float(0xc162e746), SkBits2Float(0x424ba3c8), SkBits2Float(0xc1fe03ba));
  6123. path.cubicTo(SkBits2Float(0x421fce66), SkBits2Float(0xc24549e8), SkBits2Float(0x41a5a922), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6124. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6125. path.close();
  6126. SkPath path1(path);
  6127. path.reset();
  6128. path.setFillType((SkPath::FillType) 0);
  6129. path.moveTo(SkBits2Float(0x42951360), SkBits2Float(0x42120c0f));
  6130. path.cubicTo(SkBits2Float(0x429023a5), SkBits2Float(0x422633cd), SkBits2Float(0x428a3193), SkBits2Float(0x42394df4), SkBits2Float(0x42835484), SkBits2Float(0x424b0f7e));
  6131. path.lineTo(SkBits2Float(0x423ddffa), SkBits2Float(0x4212ca6e));
  6132. path.cubicTo(SkBits2Float(0x4247cc4f), SkBits2Float(0x4205f480), SkBits2Float(0x425064e4), SkBits2Float(0x41f04ae6), SkBits2Float(0x425787f8), SkBits2Float(0x41d32708));
  6133. path.lineTo(SkBits2Float(0x42951360), SkBits2Float(0x42120c0f));
  6134. path.close();
  6135. SkPath path2(path);
  6136. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6137. }
  6138. // op end success 1
  6139. static void battleOp252(skiatest::Reporter* reporter, const char* filename) {
  6140. SkPath path;
  6141. path.setFillType((SkPath::FillType) 1);
  6142. path.moveTo(SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6143. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6144. path.cubicTo(SkBits2Float(0x41e529f0), SkBits2Float(0xc2a5ffff), SkBits2Float(0x425d10b2), SkBits2Float(0xc2887541), SkBits2Float(0x428cd9cf), SkBits2Float(0xc22fb184));
  6145. path.cubicTo(SkBits2Float(0x42ab2b45), SkBits2Float(0xc19cf10c), SkBits2Float(0x42ae472d), SkBits2Float(0x412c96c0), SkBits2Float(0x42951360), SkBits2Float(0x42120c0f));
  6146. path.cubicTo(SkBits2Float(0x429023a5), SkBits2Float(0x422633cd), SkBits2Float(0x428a3193), SkBits2Float(0x42394df4), SkBits2Float(0x42835484), SkBits2Float(0x424b0f7e));
  6147. path.lineTo(SkBits2Float(0x423ddffa), SkBits2Float(0x4212ca6e));
  6148. path.cubicTo(SkBits2Float(0x4247cc4f), SkBits2Float(0x4205f480), SkBits2Float(0x425064e4), SkBits2Float(0x41f04ae6), SkBits2Float(0x425787f7), SkBits2Float(0x41d32707));
  6149. path.cubicTo(SkBits2Float(0x427bf7e0), SkBits2Float(0x40f986c2), SkBits2Float(0x4277792b), SkBits2Float(0xc162e746), SkBits2Float(0x424ba3c8), SkBits2Float(0xc1fe03ba));
  6150. path.cubicTo(SkBits2Float(0x421fce66), SkBits2Float(0xc24549e8), SkBits2Float(0x41a5a922), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6151. path.close();
  6152. SkPath path1(path);
  6153. path.reset();
  6154. path.setFillType((SkPath::FillType) 0);
  6155. path.moveTo(SkBits2Float(0x42835484), SkBits2Float(0x424b0f7e));
  6156. path.cubicTo(SkBits2Float(0x423aab34), SkBits2Float(0x4296ad9b), SkBits2Float(0x41789cf4), SkBits2Float(0x42ae7f70), SkBits2Float(0xc1702bd2), SkBits2Float(0x42a3434e));
  6157. path.cubicTo(SkBits2Float(0xc2363d27), SkBits2Float(0x4298072c), SkBits2Float(0xc28cd4c4), SkBits2Float(0x42573cf7), SkBits2Float(0xc29edb8e), SkBits2Float(0x41c0adb0));
  6158. path.cubicTo(SkBits2Float(0xc2b0e257), SkBits2Float(0xc0b47a14), SkBits2Float(0xc2a03550), SkBits2Float(0xc217a35b), SkBits2Float(0xc2674746), SkBits2Float(0xc26e3089));
  6159. path.lineTo(SkBits2Float(0xc2273070), SkBits2Float(0xc22c2f6e));
  6160. path.cubicTo(SkBits2Float(0xc267a050), SkBits2Float(0xc1db3c5e), SkBits2Float(0xc27fbc5f), SkBits2Float(0xc0827737), SkBits2Float(0xc265ac62), SkBits2Float(0x418b490c));
  6161. path.cubicTo(SkBits2Float(0xc24b9c64), SkBits2Float(0x421b97f2), SkBits2Float(0xc203bd1c), SkBits2Float(0x425bcc95), SkBits2Float(0xc12d9e08), SkBits2Float(0x426c0adc));
  6162. path.cubicTo(SkBits2Float(0x4133b85e), SkBits2Float(0x427c4921), SkBits2Float(0x4206f0f2), SkBits2Float(0x4259d90a), SkBits2Float(0x423ddff7), SkBits2Float(0x4212ca73));
  6163. path.lineTo(SkBits2Float(0x42835484), SkBits2Float(0x424b0f7e));
  6164. path.close();
  6165. SkPath path2(path);
  6166. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6167. }
  6168. // op end success 1
  6169. static void battleOp253(skiatest::Reporter* reporter, const char* filename) {
  6170. SkPath path;
  6171. path.setFillType((SkPath::FillType) 0);
  6172. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6173. path.cubicTo(SkBits2Float(0x41ea9e19), SkBits2Float(0xc2a60000), SkBits2Float(0x4261e8db), SkBits2Float(0xc2870be6), SkBits2Float(0x428ed6bc), SkBits2Float(0xc22926d7));
  6174. path.cubicTo(SkBits2Float(0x42acb90a), SkBits2Float(0xc1886bc1), SkBits2Float(0x42adc0f7), SkBits2Float(0x41631db6), SkBits2Float(0x42918cff), SkBits2Float(0x421fa302));
  6175. path.lineTo(SkBits2Float(0x42526f53), SkBits2Float(0x41e6ccd4));
  6176. path.cubicTo(SkBits2Float(0x427b35d6), SkBits2Float(0x41242e26), SkBits2Float(0x4279b842), SkBits2Float(0xc1453c2f), SkBits2Float(0x424e8393), SkBits2Float(0xc1f48e84));
  6177. path.cubicTo(SkBits2Float(0x42234ee4), SkBits2Float(0xc2433f78), SkBits2Float(0x41a99a66), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6178. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6179. path.close();
  6180. SkPath path1(path);
  6181. path.reset();
  6182. path.setFillType((SkPath::FillType) 0);
  6183. path.moveTo(SkBits2Float(0x42918d00), SkBits2Float(0x421fa301));
  6184. path.cubicTo(SkBits2Float(0x428c0830), SkBits2Float(0x4233c399), SkBits2Float(0x42857bfe), SkBits2Float(0x4246b13f), SkBits2Float(0x427c06a0), SkBits2Float(0x42581e30));
  6185. path.lineTo(SkBits2Float(0x42362ff8), SkBits2Float(0x421c3ad6));
  6186. path.cubicTo(SkBits2Float(0x4240fd4a), SkBits2Float(0x420fa210), SkBits2Float(0x424a74b5), SkBits2Float(0x4201f32f), SkBits2Float(0x42526f54), SkBits2Float(0x41e6ccd5));
  6187. path.lineTo(SkBits2Float(0x42918d00), SkBits2Float(0x421fa301));
  6188. path.close();
  6189. SkPath path2(path);
  6190. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6191. }
  6192. // op end success 1
  6193. static void battleOp254(skiatest::Reporter* reporter, const char* filename) {
  6194. SkPath path;
  6195. path.setFillType((SkPath::FillType) 1);
  6196. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6197. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6198. path.cubicTo(SkBits2Float(0x41ea9e19), SkBits2Float(0xc2a60000), SkBits2Float(0x4261e8db), SkBits2Float(0xc2870be6), SkBits2Float(0x428ed6bc), SkBits2Float(0xc22926d7));
  6199. path.cubicTo(SkBits2Float(0x42acb90a), SkBits2Float(0xc1886bc1), SkBits2Float(0x42adc0f7), SkBits2Float(0x41631db6), SkBits2Float(0x42918d00), SkBits2Float(0x421fa301));
  6200. path.cubicTo(SkBits2Float(0x428c0830), SkBits2Float(0x4233c399), SkBits2Float(0x42857bfe), SkBits2Float(0x4246b13f), SkBits2Float(0x427c06a0), SkBits2Float(0x42581e30));
  6201. path.lineTo(SkBits2Float(0x42362ff8), SkBits2Float(0x421c3ad6));
  6202. path.cubicTo(SkBits2Float(0x4240fd4a), SkBits2Float(0x420fa210), SkBits2Float(0x424a74b5), SkBits2Float(0x4201f32f), SkBits2Float(0x42526f53), SkBits2Float(0x41e6ccd4));
  6203. path.cubicTo(SkBits2Float(0x427b35d6), SkBits2Float(0x41242e26), SkBits2Float(0x4279b842), SkBits2Float(0xc1453c2f), SkBits2Float(0x424e8393), SkBits2Float(0xc1f48e84));
  6204. path.cubicTo(SkBits2Float(0x42234ee4), SkBits2Float(0xc2433f78), SkBits2Float(0x41a99a66), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6205. path.close();
  6206. SkPath path1(path);
  6207. path.reset();
  6208. path.setFillType((SkPath::FillType) 0);
  6209. path.moveTo(SkBits2Float(0x427c069f), SkBits2Float(0x42581e31));
  6210. path.cubicTo(SkBits2Float(0x4229355f), SkBits2Float(0x429c5901), SkBits2Float(0x4119ef9b), SkBits2Float(0x42b0b9f6), SkBits2Float(0xc1a91754), SkBits2Float(0x42a086fc));
  6211. path.cubicTo(SkBits2Float(0xc24f933a), SkBits2Float(0x42905402), SkBits2Float(0xc296a2af), SkBits2Float(0x423cccf9), SkBits2Float(0xc2a2e3f0), SkBits2Float(0x417fd713));
  6212. path.cubicTo(SkBits2Float(0xc2af2532), SkBits2Float(0xc17385be), SkBits2Float(0xc296a6d5), SkBits2Float(0xc23cbfbd), SkBits2Float(0xc247a7c9), SkBits2Float(0xc284a101));
  6213. path.lineTo(SkBits2Float(0xc210544b), SkBits2Float(0xc23fc0ab));
  6214. path.cubicTo(SkBits2Float(0xc259cf4c), SkBits2Float(0xc20871e9), SkBits2Float(0xc27d38da), SkBits2Float(0xc1300a36), SkBits2Float(0xc26b810f), SkBits2Float(0x4138f1f1));
  6215. path.cubicTo(SkBits2Float(0xc259c944), SkBits2Float(0x42087b85), SkBits2Float(0xc2160de3), SkBits2Float(0x4250aad1), SkBits2Float(0xc174780b), SkBits2Float(0x42681670));
  6216. path.cubicTo(SkBits2Float(0x40de8efd), SkBits2Float(0x427f820e), SkBits2Float(0x41f4a392), SkBits2Float(0x42620b79), SkBits2Float(0x42362ffc), SkBits2Float(0x421c3ad2));
  6217. path.lineTo(SkBits2Float(0x427c069f), SkBits2Float(0x42581e31));
  6218. path.close();
  6219. SkPath path2(path);
  6220. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6221. }
  6222. // op end success 1
  6223. static void battleOp255(skiatest::Reporter* reporter, const char* filename) {
  6224. SkPath path;
  6225. path.setFillType((SkPath::FillType) 0);
  6226. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6227. path.cubicTo(SkBits2Float(0x41eeb164), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42658277), SkBits2Float(0xc285f892), SkBits2Float(0x42904565), SkBits2Float(0xc22437b5));
  6228. path.cubicTo(SkBits2Float(0x42adc98d), SkBits2Float(0xc171f916), SkBits2Float(0x42ad3226), SkBits2Float(0x4185deb6), SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bae));
  6229. path.lineTo(SkBits2Float(0x424e5857), SkBits2Float(0x41f5204e));
  6230. path.cubicTo(SkBits2Float(0x427a675d), SkBits2Float(0x41418c03), SkBits2Float(0x427b4242), SkBits2Float(0xc12eeb9a), SkBits2Float(0x425095b0), SkBits2Float(0xc1ed6c50));
  6231. path.cubicTo(SkBits2Float(0x4225e91e), SkBits2Float(0xc241b169), SkBits2Float(0x41ac8c92), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6232. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6233. path.close();
  6234. SkPath path1(path);
  6235. path.reset();
  6236. path.setFillType((SkPath::FillType) 0);
  6237. path.moveTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bad));
  6238. path.cubicTo(SkBits2Float(0x4288c365), SkBits2Float(0x423d9c15), SkBits2Float(0x4281c36f), SkBits2Float(0x42505c7e), SkBits2Float(0x4273ad50), SkBits2Float(0x42617d52));
  6239. path.lineTo(SkBits2Float(0x423026ec), SkBits2Float(0x42230126));
  6240. path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41f5204d));
  6241. path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bad));
  6242. path.close();
  6243. SkPath path2(path);
  6244. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6245. }
  6246. // op end success 1
  6247. static void battleOp256(skiatest::Reporter* reporter, const char* filename) {
  6248. SkPath path;
  6249. path.setFillType((SkPath::FillType) 1);
  6250. path.moveTo(SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6251. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6252. path.cubicTo(SkBits2Float(0x41eeb164), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42658277), SkBits2Float(0xc285f892), SkBits2Float(0x42904565), SkBits2Float(0xc22437b5));
  6253. path.cubicTo(SkBits2Float(0x42adc98d), SkBits2Float(0xc171f917), SkBits2Float(0x42ad3226), SkBits2Float(0x4185deb4), SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bad));
  6254. path.lineTo(SkBits2Float(0x428eb8d5), SkBits2Float(0x42298bae));
  6255. path.cubicTo(SkBits2Float(0x4288c365), SkBits2Float(0x423d9c16), SkBits2Float(0x4281c36f), SkBits2Float(0x42505c7e), SkBits2Float(0x4273ad50), SkBits2Float(0x42617d52));
  6256. path.lineTo(SkBits2Float(0x423026ec), SkBits2Float(0x42230126));
  6257. path.cubicTo(SkBits2Float(0x423b9c18), SkBits2Float(0x42169f65), SkBits2Float(0x4245bae4), SkBits2Float(0x42091136), SkBits2Float(0x424e5858), SkBits2Float(0x41f5204d));
  6258. path.cubicTo(SkBits2Float(0x427a675e), SkBits2Float(0x41418c02), SkBits2Float(0x427b4242), SkBits2Float(0xc12eeb9b), SkBits2Float(0x425095b0), SkBits2Float(0xc1ed6c50));
  6259. path.cubicTo(SkBits2Float(0x4225e91e), SkBits2Float(0xc241b169), SkBits2Float(0x41ac8c92), SkBits2Float(0xc2700000), SkBits2Float(0xb69400ae), SkBits2Float(0xc2700000));
  6260. path.close();
  6261. SkPath path1(path);
  6262. path.reset();
  6263. path.setFillType((SkPath::FillType) 0);
  6264. path.moveTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52));
  6265. path.cubicTo(SkBits2Float(0x421bc173), SkBits2Float(0x42a0404f), SkBits2Float(0x40a50405), SkBits2Float(0x42b1dfaa), SkBits2Float(0xc1cd0022), SkBits2Float(0x429de3fd));
  6266. path.cubicTo(SkBits2Float(0xc261a0a2), SkBits2Float(0x4289e850), SkBits2Float(0xc29d25ee), SkBits2Float(0x4227ed4e), SkBits2Float(0xc2a4d3d8), SkBits2Float(0x411d8f80));
  6267. path.cubicTo(SkBits2Float(0xc2ac81c3), SkBits2Float(0xc1b24b1c), SkBits2Float(0xc28e216c), SkBits2Float(0xc256e38c), SkBits2Float(0xc22e0453), SkBits2Float(0xc28d5ec3));
  6268. path.lineTo(SkBits2Float(0xc1fb9743), SkBits2Float(0xc24c63fd));
  6269. path.cubicTo(SkBits2Float(0xc24d7d6b), SkBits2Float(0xc21b575f), SkBits2Float(0xc279684a), SkBits2Float(0xc180e302), SkBits2Float(0xc26e4dff), SkBits2Float(0x40e3cc4e));
  6270. path.cubicTo(SkBits2Float(0xc26333b4), SkBits2Float(0x41f2c929), SkBits2Float(0xc2231aa4), SkBits2Float(0x42476256), SkBits2Float(0xc1943166), SkBits2Float(0x4264467e));
  6271. path.cubicTo(SkBits2Float(0x406e93d1), SkBits2Float(0x42809553), SkBits2Float(0x41e1305a), SkBits2Float(0x4267b03c), SkBits2Float(0x423026ed), SkBits2Float(0x42230127));
  6272. path.lineTo(SkBits2Float(0x4273ad4f), SkBits2Float(0x42617d52));
  6273. path.close();
  6274. SkPath path2(path);
  6275. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6276. }
  6277. // op end success 1
  6278. static void battleOp257(skiatest::Reporter* reporter, const char* filename) {
  6279. SkPath path;
  6280. path.setFillType((SkPath::FillType) 0);
  6281. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6282. path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc21f2e53));
  6283. path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0fe), SkBits2Float(0x42335ba0));
  6284. path.lineTo(SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806));
  6285. path.cubicTo(SkBits2Float(0x427960d2), SkBits2Float(0x415f325f), SkBits2Float(0x427cb22e), SkBits2Float(0xc11832b1), SkBits2Float(0x42529d7e), SkBits2Float(0xc1e62422));
  6286. path.cubicTo(SkBits2Float(0x422888ce), SkBits2Float(0xc2401775), SkBits2Float(0x41af88b3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  6287. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6288. path.close();
  6289. SkPath path1(path);
  6290. path.reset();
  6291. path.setFillType((SkPath::FillType) 0);
  6292. path.moveTo(SkBits2Float(0x428bb0ff), SkBits2Float(0x42335ba2));
  6293. path.cubicTo(SkBits2Float(0x4285489d), SkBits2Float(0x42475206), SkBits2Float(0x427ba631), SkBits2Float(0x4259da14), SkBits2Float(0x426ae250), SkBits2Float(0x426aa282));
  6294. path.lineTo(SkBits2Float(0x4229cbb3), SkBits2Float(0x42299d92));
  6295. path.cubicTo(SkBits2Float(0x4235ea43), SkBits2Float(0x421d7bb7), SkBits2Float(0x4240b302), SkBits2Float(0x42101649), SkBits2Float(0x4249f6a5), SkBits2Float(0x4201a807));
  6296. path.lineTo(SkBits2Float(0x428bb0ff), SkBits2Float(0x42335ba2));
  6297. path.close();
  6298. SkPath path2(path);
  6299. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6300. }
  6301. // op end success 1
  6302. static void battleOp258(skiatest::Reporter* reporter, const char* filename) {
  6303. SkPath path;
  6304. path.setFillType((SkPath::FillType) 1);
  6305. path.moveTo(SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  6306. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6307. path.cubicTo(SkBits2Float(0x41f2d268), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426923a2), SkBits2Float(0xc284dd06), SkBits2Float(0x4291aced), SkBits2Float(0xc21f2e53));
  6308. path.cubicTo(SkBits2Float(0x42aec809), SkBits2Float(0xc1528a66), SkBits2Float(0x42ac7c90), SkBits2Float(0x419a60b1), SkBits2Float(0x428bb0ff), SkBits2Float(0x42335ba2));
  6309. path.cubicTo(SkBits2Float(0x4285489d), SkBits2Float(0x42475206), SkBits2Float(0x427ba631), SkBits2Float(0x4259da14), SkBits2Float(0x426ae250), SkBits2Float(0x426aa282));
  6310. path.lineTo(SkBits2Float(0x4229cbb3), SkBits2Float(0x42299d92));
  6311. path.cubicTo(SkBits2Float(0x4235ea43), SkBits2Float(0x421d7bb7), SkBits2Float(0x4240b302), SkBits2Float(0x42101649), SkBits2Float(0x4249f6a4), SkBits2Float(0x4201a806));
  6312. path.cubicTo(SkBits2Float(0x427960d2), SkBits2Float(0x415f325f), SkBits2Float(0x427cb22e), SkBits2Float(0xc11832b1), SkBits2Float(0x42529d7e), SkBits2Float(0xc1e62422));
  6313. path.cubicTo(SkBits2Float(0x422888ce), SkBits2Float(0xc2401775), SkBits2Float(0x41af88b3), SkBits2Float(0xc2700000), SkBits2Float(0x36d3ff52), SkBits2Float(0xc2700000));
  6314. path.close();
  6315. SkPath path1(path);
  6316. path.reset();
  6317. path.setFillType((SkPath::FillType) 0);
  6318. path.moveTo(SkBits2Float(0x426ae251), SkBits2Float(0x426aa281));
  6319. path.cubicTo(SkBits2Float(0x420dcd2c), SkBits2Float(0x42a3e87c), SkBits2Float(0x3f1c0197), SkBits2Float(0x42b294d6), SkBits2Float(0xc1f0a2ab), SkBits2Float(0x429ab731));
  6320. path.cubicTo(SkBits2Float(0xc27312b1), SkBits2Float(0x4282d98e), SkBits2Float(0xc2a300b1), SkBits2Float(0x4211eaa7), SkBits2Float(0xc2a5d865), SkBits2Float(0x40654aaf));
  6321. path.cubicTo(SkBits2Float(0xc2a8b018), SkBits2Float(0xc1ea82a2), SkBits2Float(0xc2845e8a), SkBits2Float(0xc26fc272), SkBits2Float(0xc2128ebb), SkBits2Float(0xc294f34d));
  6322. path.lineTo(SkBits2Float(0xc1d3e3ef), SkBits2Float(0xc2575999));
  6323. path.cubicTo(SkBits2Float(0xc23f6093), SkBits2Float(0xc22d51f6), SkBits2Float(0xc273e2d0), SkBits2Float(0xc1a9868a), SkBits2Float(0xc26fc6b5), SkBits2Float(0x4025c090));
  6324. path.cubicTo(SkBits2Float(0xc26baa9a), SkBits2Float(0x41d2f6ae), SkBits2Float(0xc22fb71e), SkBits2Float(0x423d2e2a), SkBits2Float(0xc1adf403), SkBits2Float(0x425faf61));
  6325. path.cubicTo(SkBits2Float(0x3ee18e9e), SkBits2Float(0x4281184d), SkBits2Float(0x41cd03a3), SkBits2Float(0x426cf9bf), SkBits2Float(0x4229cbb7), SkBits2Float(0x42299d90));
  6326. path.lineTo(SkBits2Float(0x426ae251), SkBits2Float(0x426aa281));
  6327. path.close();
  6328. SkPath path2(path);
  6329. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6330. }
  6331. // op end success 1
  6332. static void battleOp259(skiatest::Reporter* reporter, const char* filename) {
  6333. SkPath path;
  6334. path.setFillType((SkPath::FillType) 0);
  6335. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6336. path.cubicTo(SkBits2Float(0x41f70d18), SkBits2Float(0xc2a60000), SkBits2Float(0x426cd682), SkBits2Float(0xc283b5d2), SkBits2Float(0x429310ae), SkBits2Float(0xc219fc22));
  6337. path.cubicTo(SkBits2Float(0x42afb61c), SkBits2Float(0xc132327f), SkBits2Float(0x42ab9c4e), SkBits2Float(0x41af4ab2), SkBits2Float(0x42886baa), SkBits2Float(0x423d2918));
  6338. path.lineTo(SkBits2Float(0x42453c0d), SkBits2Float(0x4208be17));
  6339. path.cubicTo(SkBits2Float(0x42781c98), SkBits2Float(0x417d6f0f), SkBits2Float(0x427e0a5e), SkBits2Float(0xc100d142), SkBits2Float(0x42549fd3), SkBits2Float(0xc1dea0fa));
  6340. path.cubicTo(SkBits2Float(0x422b3547), SkBits2Float(0xc23e6ca9), SkBits2Float(0x41b29756), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  6341. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6342. path.close();
  6343. SkPath path1(path);
  6344. path.reset();
  6345. path.setFillType((SkPath::FillType) 0);
  6346. path.moveTo(SkBits2Float(0x42886bab), SkBits2Float(0x423d2917));
  6347. path.cubicTo(SkBits2Float(0x42818ce6), SkBits2Float(0x4250fab6), SkBits2Float(0x42733ded), SkBits2Float(0x42633df9), SkBits2Float(0x42618b96), SkBits2Float(0x4273a01b));
  6348. path.lineTo(SkBits2Float(0x42230b75), SkBits2Float(0x42301d61));
  6349. path.cubicTo(SkBits2Float(0x422fd668), SkBits2Float(0x4224457a), SkBits2Float(0x423b4d41), SkBits2Float(0x421711c6), SkBits2Float(0x42453c0e), SkBits2Float(0x4208be17));
  6350. path.lineTo(SkBits2Float(0x42886bab), SkBits2Float(0x423d2917));
  6351. path.close();
  6352. SkPath path2(path);
  6353. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6354. }
  6355. // op end success 1
  6356. static void battleOp260(skiatest::Reporter* reporter, const char* filename) {
  6357. SkPath path;
  6358. path.setFillType((SkPath::FillType) 1);
  6359. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  6360. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6361. path.cubicTo(SkBits2Float(0x41f70d18), SkBits2Float(0xc2a60000), SkBits2Float(0x426cd682), SkBits2Float(0xc283b5d2), SkBits2Float(0x429310ae), SkBits2Float(0xc219fc22));
  6362. path.cubicTo(SkBits2Float(0x42afb61c), SkBits2Float(0xc132327f), SkBits2Float(0x42ab9c4e), SkBits2Float(0x41af4ab2), SkBits2Float(0x42886bab), SkBits2Float(0x423d2917));
  6363. path.cubicTo(SkBits2Float(0x42818ce6), SkBits2Float(0x4250fab6), SkBits2Float(0x42733ded), SkBits2Float(0x42633df9), SkBits2Float(0x42618b96), SkBits2Float(0x4273a01b));
  6364. path.lineTo(SkBits2Float(0x42230b75), SkBits2Float(0x42301d61));
  6365. path.cubicTo(SkBits2Float(0x422fd668), SkBits2Float(0x4224457a), SkBits2Float(0x423b4d41), SkBits2Float(0x421711c6), SkBits2Float(0x42453c0d), SkBits2Float(0x4208be17));
  6366. path.cubicTo(SkBits2Float(0x42781c98), SkBits2Float(0x417d6f0f), SkBits2Float(0x427e0a5e), SkBits2Float(0xc100d142), SkBits2Float(0x42549fd3), SkBits2Float(0xc1dea0fa));
  6367. path.cubicTo(SkBits2Float(0x422b3547), SkBits2Float(0xc23e6ca9), SkBits2Float(0x41b29756), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  6368. path.close();
  6369. SkPath path1(path);
  6370. path.reset();
  6371. path.setFillType((SkPath::FillType) 0);
  6372. path.moveTo(SkBits2Float(0x42618b95), SkBits2Float(0x4273a01c));
  6373. path.cubicTo(SkBits2Float(0x41fe659e), SkBits2Float(0x42a75638), SkBits2Float(0xc081f8cf), SkBits2Float(0x42b2d4b3), SkBits2Float(0xc20a1eaa), SkBits2Float(0x4296f3e7));
  6374. path.cubicTo(SkBits2Float(0xc281ff1e), SkBits2Float(0x42762634), SkBits2Float(0xc2a8320c), SkBits2Float(0x41f52b39), SkBits2Float(0xc2a5e71e), SkBits2Float(0xc035be80));
  6375. path.cubicTo(SkBits2Float(0xc2a39c30), SkBits2Float(0xc2114d6a), SkBits2Float(0xc2728d06), SkBits2Float(0xc283ad37), SkBits2Float(0xc1ea4cbe), SkBits2Float(0xc29b5279));
  6376. path.lineTo(SkBits2Float(0xc1a95f99), SkBits2Float(0xc2608fe9));
  6377. path.cubicTo(SkBits2Float(0xc22f5688), SkBits2Float(0xc23e6034), SkBits2Float(0xc26c8b72), SkBits2Float(0xc1d2135a), SkBits2Float(0xc26fdc03), SkBits2Float(0xc003615b));
  6378. path.cubicTo(SkBits2Float(0xc2732c96), SkBits2Float(0x41b13b02), SkBits2Float(0xc23bf25c), SkBits2Float(0x4231f06e), SkBits2Float(0xc1c7b0f0), SkBits2Float(0x425a3eb1));
  6379. path.cubicTo(SkBits2Float(0xc03be91a), SkBits2Float(0x4281467b), SkBits2Float(0x41b7e6c5), SkBits2Float(0x4271eec4), SkBits2Float(0x42230b77), SkBits2Float(0x42301d61));
  6380. path.lineTo(SkBits2Float(0x42618b95), SkBits2Float(0x4273a01c));
  6381. path.close();
  6382. SkPath path2(path);
  6383. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6384. }
  6385. // op end success 1
  6386. static void battleOp261(skiatest::Reporter* reporter, const char* filename) {
  6387. SkPath path;
  6388. path.setFillType((SkPath::FillType) 0);
  6389. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6390. path.cubicTo(SkBits2Float(0x41f9750b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426eeefa), SkBits2Float(0xc2830bb8), SkBits2Float(0x4293d569), SkBits2Float(0xc2170343));
  6391. path.cubicTo(SkBits2Float(0x42b03354), SkBits2Float(0xc11fbc55), SkBits2Float(0x42ab0b89), SkBits2Float(0x41bb247a), SkBits2Float(0x42867c8e), SkBits2Float(0x42429f12));
  6392. path.lineTo(SkBits2Float(0x42427039), SkBits2Float(0x420cb0ae));
  6393. path.cubicTo(SkBits2Float(0x42774b4a), SkBits2Float(0x418748a6), SkBits2Float(0x427ebf70), SkBits2Float(0xc0e6f16a), SkBits2Float(0x4255bc46), SkBits2Float(0xc1da54e8));
  6394. path.cubicTo(SkBits2Float(0x422cb91b), SkBits2Float(0xc23d76ba), SkBits2Float(0x41b454a4), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6395. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6396. path.close();
  6397. SkPath path1(path);
  6398. path.reset();
  6399. path.setFillType((SkPath::FillType) 0);
  6400. path.moveTo(SkBits2Float(0x42867c8e), SkBits2Float(0x42429f13));
  6401. path.cubicTo(SkBits2Float(0x427eb473), SkBits2Float(0x4256572c), SkBits2Float(0x426e4fbb), SkBits2Float(0x42686e49), SkBits2Float(0x425c16a2), SkBits2Float(0x427890ea));
  6402. path.lineTo(SkBits2Float(0x421f199c), SkBits2Float(0x4233afb3));
  6403. path.cubicTo(SkBits2Float(0x422c45f9), SkBits2Float(0x422805b5), SkBits2Float(0x42381fbf), SkBits2Float(0x421af1ea), SkBits2Float(0x4242703a), SkBits2Float(0x420cb0af));
  6404. path.lineTo(SkBits2Float(0x42867c8e), SkBits2Float(0x42429f13));
  6405. path.close();
  6406. SkPath path2(path);
  6407. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6408. }
  6409. // op end success 1
  6410. static void battleOp262(skiatest::Reporter* reporter, const char* filename) {
  6411. SkPath path;
  6412. path.setFillType((SkPath::FillType) 1);
  6413. path.moveTo(SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6414. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6415. path.cubicTo(SkBits2Float(0x41f9750b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x426eeefa), SkBits2Float(0xc2830bb8), SkBits2Float(0x4293d569), SkBits2Float(0xc2170343));
  6416. path.cubicTo(SkBits2Float(0x42b03354), SkBits2Float(0xc11fbc55), SkBits2Float(0x42ab0b89), SkBits2Float(0x41bb247a), SkBits2Float(0x42867c8e), SkBits2Float(0x42429f13));
  6417. path.cubicTo(SkBits2Float(0x427eb473), SkBits2Float(0x4256572c), SkBits2Float(0x426e4fbb), SkBits2Float(0x42686e49), SkBits2Float(0x425c16a2), SkBits2Float(0x427890ea));
  6418. path.lineTo(SkBits2Float(0x421f199c), SkBits2Float(0x4233afb3));
  6419. path.cubicTo(SkBits2Float(0x422c45f9), SkBits2Float(0x422805b5), SkBits2Float(0x42381fbf), SkBits2Float(0x421af1ea), SkBits2Float(0x42427039), SkBits2Float(0x420cb0ae));
  6420. path.cubicTo(SkBits2Float(0x42774b4a), SkBits2Float(0x418748a6), SkBits2Float(0x427ebf70), SkBits2Float(0xc0e6f16a), SkBits2Float(0x4255bc46), SkBits2Float(0xc1da54e8));
  6421. path.cubicTo(SkBits2Float(0x422cb91b), SkBits2Float(0xc23d76ba), SkBits2Float(0x41b454a4), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6422. path.close();
  6423. SkPath path1(path);
  6424. path.reset();
  6425. path.setFillType((SkPath::FillType) 0);
  6426. path.moveTo(SkBits2Float(0x425c16a1), SkBits2Float(0x427890eb));
  6427. path.cubicTo(SkBits2Float(0x41ed85e5), SkBits2Float(0x42a9245e), SkBits2Float(0xc0d70d9a), SkBits2Float(0x42b2c211), SkBits2Float(0xc2140612), SkBits2Float(0x42949665));
  6428. path.cubicTo(SkBits2Float(0xc2869539), SkBits2Float(0x426cd56f), SkBits2Float(0xc2aac701), SkBits2Float(0x41d9ff9c), SkBits2Float(0xc2a57e3b), SkBits2Float(0xc0cf6824));
  6429. path.cubicTo(SkBits2Float(0xc2a03574), SkBits2Float(0xc220d9d7), SkBits2Float(0xc26501e3), SkBits2Float(0xc289ed78), SkBits2Float(0xc1c7e516), SkBits2Float(0xc29e4c97));
  6430. path.lineTo(SkBits2Float(0xc190809e), SkBits2Float(0xc264ddc3));
  6431. path.cubicTo(SkBits2Float(0xc2258c2b), SkBits2Float(0xc24769d4), SkBits2Float(0xc267a08f), SkBits2Float(0xc1e88e39), SkBits2Float(0xc26f4461), SkBits2Float(0xc095eec9));
  6432. path.cubicTo(SkBits2Float(0xc276e835), SkBits2Float(0x419d96da), SkBits2Float(0xc24293e3), SkBits2Float(0x422b3483), SkBits2Float(0xc1d60298), SkBits2Float(0x4256d347));
  6433. path.cubicTo(SkBits2Float(0xc09b75b0), SkBits2Float(0x42813905), SkBits2Float(0x41abb417), SkBits2Float(0x42748af0), SkBits2Float(0x421f199e), SkBits2Float(0x4233afb2));
  6434. path.lineTo(SkBits2Float(0x425c16a1), SkBits2Float(0x427890eb));
  6435. path.close();
  6436. SkPath path2(path);
  6437. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6438. }
  6439. // op end success 1
  6440. static void battleOp263(skiatest::Reporter* reporter, const char* filename) {
  6441. SkPath path;
  6442. path.setFillType((SkPath::FillType) 0);
  6443. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6444. path.cubicTo(SkBits2Float(0x41fc38da), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4271556b), SkBits2Float(0xc2824656), SkBits2Float(0x4294b266), SkBits2Float(0xc213956f));
  6445. path.cubicTo(SkBits2Float(0x42b0ba15), SkBits2Float(0xc10a78c9), SkBits2Float(0x42aa55de), SkBits2Float(0x41c8b65d), SkBits2Float(0x42843343), SkBits2Float(0x4248ca15));
  6446. path.lineTo(SkBits2Float(0x423f2206), SkBits2Float(0x42112621));
  6447. path.cubicTo(SkBits2Float(0x427644a6), SkBits2Float(0x419117e2), SkBits2Float(0x427f8241), SkBits2Float(0xc0c83353), SkBits2Float(0x4256fbc4), SkBits2Float(0xc1d55fc8));
  6448. path.cubicTo(SkBits2Float(0x422e7546), SkBits2Float(0xc23c595d), SkBits2Float(0x41b6544b), SkBits2Float(0xc2700002), SkBits2Float(0x357ffa8c), SkBits2Float(0xc2700000));
  6449. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6450. path.close();
  6451. SkPath path1(path);
  6452. path.reset();
  6453. path.setFillType((SkPath::FillType) 0);
  6454. path.moveTo(SkBits2Float(0x42843344), SkBits2Float(0x4248ca14));
  6455. path.cubicTo(SkBits2Float(0x4279865a), SkBits2Float(0x425c60b2), SkBits2Float(0x426884b7), SkBits2Float(0x426e4097), SkBits2Float(0x4255b1c1), SkBits2Float(0x427e1584));
  6456. path.lineTo(SkBits2Float(0x421a7a55), SkBits2Float(0x4237acdc));
  6457. path.cubicTo(SkBits2Float(0x422815ec), SkBits2Float(0x422c3b08), SkBits2Float(0x42346121), SkBits2Float(0x421f4f28), SkBits2Float(0x423f2207), SkBits2Float(0x42112621));
  6458. path.lineTo(SkBits2Float(0x42843344), SkBits2Float(0x4248ca14));
  6459. path.close();
  6460. SkPath path2(path);
  6461. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6462. }
  6463. // op end success 1
  6464. static void battleOp264(skiatest::Reporter* reporter, const char* filename) {
  6465. SkPath path;
  6466. path.setFillType((SkPath::FillType) 1);
  6467. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6468. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6469. path.cubicTo(SkBits2Float(0x41fc38da), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4271556b), SkBits2Float(0xc2824656), SkBits2Float(0x4294b266), SkBits2Float(0xc213956f));
  6470. path.cubicTo(SkBits2Float(0x42b0ba15), SkBits2Float(0xc10a78c9), SkBits2Float(0x42aa55de), SkBits2Float(0x41c8b65d), SkBits2Float(0x42843344), SkBits2Float(0x4248ca14));
  6471. path.cubicTo(SkBits2Float(0x4279865a), SkBits2Float(0x425c60b2), SkBits2Float(0x426884b7), SkBits2Float(0x426e4097), SkBits2Float(0x4255b1c1), SkBits2Float(0x427e1584));
  6472. path.lineTo(SkBits2Float(0x421a7a55), SkBits2Float(0x4237acdc));
  6473. path.cubicTo(SkBits2Float(0x422815ec), SkBits2Float(0x422c3b08), SkBits2Float(0x42346121), SkBits2Float(0x421f4f28), SkBits2Float(0x423f2206), SkBits2Float(0x42112621));
  6474. path.cubicTo(SkBits2Float(0x427644a6), SkBits2Float(0x419117e2), SkBits2Float(0x427f8241), SkBits2Float(0xc0c83353), SkBits2Float(0x4256fbc4), SkBits2Float(0xc1d55fc8));
  6475. path.cubicTo(SkBits2Float(0x422e7546), SkBits2Float(0xc23c595d), SkBits2Float(0x41b6544b), SkBits2Float(0xc2700002), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6476. path.close();
  6477. SkPath path1(path);
  6478. path.reset();
  6479. path.setFillType((SkPath::FillType) 0);
  6480. path.moveTo(SkBits2Float(0x4255b1c2), SkBits2Float(0x427e1586));
  6481. path.cubicTo(SkBits2Float(0x41d9eb88), SkBits2Float(0x42ab15b8), SkBits2Float(0xc11c5ee2), SkBits2Float(0x42b27b8c), SkBits2Float(0xc21f2fec), SkBits2Float(0x4291ac82));
  6482. path.cubicTo(SkBits2Float(0xc28ba40f), SkBits2Float(0x4261baf0), SkBits2Float(0xc2ad6782), SkBits2Float(0x41ba4aab), SkBits2Float(0xc2a4a120), SkBits2Float(0xc12a4d95));
  6483. path.cubicTo(SkBits2Float(0xc29bdabd), SkBits2Float(0xc2324c20), SkBits2Float(0xc254adab), SkBits2Float(0xc290ac19), SkBits2Float(0xc19fafc0), SkBits2Float(0xc2a120ca));
  6484. path.lineTo(SkBits2Float(0xc166df50), SkBits2Float(0xc268f4ce));
  6485. path.cubicTo(SkBits2Float(0xc219be54), SkBits2Float(0xc2512a28), SkBits2Float(0xc26154eb), SkBits2Float(0xc200e3bb), SkBits2Float(0xc26e04b2), SkBits2Float(0xc0f6387e));
  6486. path.cubicTo(SkBits2Float(0xc27ab479), SkBits2Float(0x4186ab35), SkBits2Float(0xc249e3ea), SkBits2Float(0x42232db1), SkBits2Float(0xc1e62664), SkBits2Float(0x42529ce0));
  6487. path.cubicTo(SkBits2Float(0xc0e213c9), SkBits2Float(0x42810608), SkBits2Float(0x419d8860), SkBits2Float(0x427759fd), SkBits2Float(0x421a7a58), SkBits2Float(0x4237acda));
  6488. path.lineTo(SkBits2Float(0x4255b1c2), SkBits2Float(0x427e1586));
  6489. path.close();
  6490. SkPath path2(path);
  6491. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6492. }
  6493. // op end success 1
  6494. static void battleOp265(skiatest::Reporter* reporter, const char* filename) {
  6495. SkPath path;
  6496. path.setFillType((SkPath::FillType) 0);
  6497. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6498. path.cubicTo(SkBits2Float(0x41fe7454), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427343e8), SkBits2Float(0xc281a57b), SkBits2Float(0x429560d9), SkBits2Float(0xc210ce12));
  6499. path.cubicTo(SkBits2Float(0x42b11fbd), SkBits2Float(0xc0f2896e), SkBits2Float(0x42a9b750), SkBits2Float(0x41d3a0ba), SkBits2Float(0x42824e39), SkBits2Float(0x424daf12));
  6500. path.lineTo(SkBits2Float(0x423c64bf), SkBits2Float(0x4214afea));
  6501. path.cubicTo(SkBits2Float(0x42755f66), SkBits2Float(0x4198fbec), SkBits2Float(0x42800a9d), SkBits2Float(0xc0af53e2), SkBits2Float(0x4257f7fc), SkBits2Float(0xc1d15b49));
  6502. path.cubicTo(SkBits2Float(0x422fdabc), SkBits2Float(0xc23b70cc), SkBits2Float(0x41b7f168), SkBits2Float(0xc2700002), SkBits2Float(0xb5600574), SkBits2Float(0xc2700000));
  6503. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6504. path.close();
  6505. SkPath path1(path);
  6506. path.reset();
  6507. path.setFillType((SkPath::FillType) 0);
  6508. path.moveTo(SkBits2Float(0x42824e38), SkBits2Float(0x424daf15));
  6509. path.cubicTo(SkBits2Float(0x42753e9a), SkBits2Float(0x4261276c), SkBits2Float(0x4263be9a), SkBits2Float(0x4272d73c), SkBits2Float(0x4250704b), SkBits2Float(0x428134df));
  6510. path.lineTo(SkBits2Float(0x4216adb6), SkBits2Float(0x423acdfc));
  6511. path.cubicTo(SkBits2Float(0x4224a276), SkBits2Float(0x422f8c2c), SkBits2Float(0x42314905), SkBits2Float(0x4222c30f), SkBits2Float(0x423c64c0), SkBits2Float(0x4214afec));
  6512. path.lineTo(SkBits2Float(0x42824e38), SkBits2Float(0x424daf15));
  6513. path.close();
  6514. SkPath path2(path);
  6515. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6516. }
  6517. // op end success 1
  6518. static void battleOp266(skiatest::Reporter* reporter, const char* filename) {
  6519. SkPath path;
  6520. path.setFillType((SkPath::FillType) 1);
  6521. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6522. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6523. path.cubicTo(SkBits2Float(0x41fe7454), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427343e8), SkBits2Float(0xc281a57b), SkBits2Float(0x429560d9), SkBits2Float(0xc210ce12));
  6524. path.cubicTo(SkBits2Float(0x42b11fbd), SkBits2Float(0xc0f2896e), SkBits2Float(0x42a9b750), SkBits2Float(0x41d3a0ba), SkBits2Float(0x42824e39), SkBits2Float(0x424daf12));
  6525. path.lineTo(SkBits2Float(0x42824e38), SkBits2Float(0x424daf15));
  6526. path.cubicTo(SkBits2Float(0x42753e9a), SkBits2Float(0x4261276c), SkBits2Float(0x4263be9a), SkBits2Float(0x4272d73c), SkBits2Float(0x4250704b), SkBits2Float(0x428134df));
  6527. path.lineTo(SkBits2Float(0x4216adb6), SkBits2Float(0x423acdfc));
  6528. path.cubicTo(SkBits2Float(0x4224a276), SkBits2Float(0x422f8c2c), SkBits2Float(0x42314905), SkBits2Float(0x4222c30f), SkBits2Float(0x423c64c0), SkBits2Float(0x4214afec));
  6529. path.lineTo(SkBits2Float(0x423c64bf), SkBits2Float(0x4214afea));
  6530. path.cubicTo(SkBits2Float(0x42755f66), SkBits2Float(0x4198fbec), SkBits2Float(0x42800a9d), SkBits2Float(0xc0af53e2), SkBits2Float(0x4257f7fc), SkBits2Float(0xc1d15b49));
  6531. path.cubicTo(SkBits2Float(0x422fdabc), SkBits2Float(0xc23b70cc), SkBits2Float(0x41b7f168), SkBits2Float(0xc2700002), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6532. path.close();
  6533. SkPath path1(path);
  6534. path.reset();
  6535. path.setFillType((SkPath::FillType) 0);
  6536. path.moveTo(SkBits2Float(0x4250704d), SkBits2Float(0x428134e0));
  6537. path.cubicTo(SkBits2Float(0x41c9effb), SkBits2Float(0x42ac8cba), SkBits2Float(0xc143bd6b), SkBits2Float(0x42b21c58), SkBits2Float(0xc2280561), SkBits2Float(0x428f2c0c));
  6538. path.cubicTo(SkBits2Float(0xc28f8db2), SkBits2Float(0x42587782), SkBits2Float(0xc2af41ba), SkBits2Float(0x41a05b8a), SkBits2Float(0xc2a3a0d2), SkBits2Float(0xc15fb01a));
  6539. path.cubicTo(SkBits2Float(0xc297ffea), SkBits2Float(0xc24005d3), SkBits2Float(0xc246ef26), SkBits2Float(0xc295c2d5), SkBits2Float(0xc17d9b57), SkBits2Float(0xc2a2f1e8));
  6540. path.lineTo(SkBits2Float(0xc1375488), SkBits2Float(0xc26b9543));
  6541. path.cubicTo(SkBits2Float(0xc20fcecd), SkBits2Float(0xc25885a3), SkBits2Float(0xc25bc22e), SkBits2Float(0xc20acfc5), SkBits2Float(0xc26c9222), SkBits2Float(0xc121b3b7));
  6542. path.cubicTo(SkBits2Float(0xc27d6216), SkBits2Float(0x4167d7a5), SkBits2Float(0xc24f8c13), SkBits2Float(0x421c7b68), SkBits2Float(0xc1f2ebf9), SkBits2Float(0x424efee8));
  6543. path.cubicTo(SkBits2Float(0xc10d7f99), SkBits2Float(0x4280c134), SkBits2Float(0x4191fa9e), SkBits2Float(0x4279782f), SkBits2Float(0x4216adb8), SkBits2Float(0x423acdfc));
  6544. path.lineTo(SkBits2Float(0x4250704d), SkBits2Float(0x428134e0));
  6545. path.close();
  6546. SkPath path2(path);
  6547. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6548. }
  6549. // op end success 1
  6550. static void battleOp267(skiatest::Reporter* reporter, const char* filename) {
  6551. SkPath path;
  6552. path.setFillType((SkPath::FillType) 0);
  6553. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6554. path.cubicTo(SkBits2Float(0x42003b3a), SkBits2Float(0xc2a60000), SkBits2Float(0x4274ff8d), SkBits2Float(0xc28113a0), SkBits2Float(0x4295fac2), SkBits2Float(0xc20e4c24));
  6555. path.cubicTo(SkBits2Float(0x42b175be), SkBits2Float(0xc0d38840), SkBits2Float(0x42a91fa3), SkBits2Float(0x41dd6a3d), SkBits2Float(0x42809081), SkBits2Float(0x4252054f));
  6556. path.lineTo(SkBits2Float(0x4239e059), SkBits2Float(0x4217d27c));
  6557. path.cubicTo(SkBits2Float(0x4274841b), SkBits2Float(0x41a00f1c), SkBits2Float(0x428048c8), SkBits2Float(0xc098ea38), SkBits2Float(0x4258d681), SkBits2Float(0xc1cdbb32));
  6558. path.cubicTo(SkBits2Float(0x42311b71), SkBits2Float(0xc23a9deb), SkBits2Float(0x41b96511), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6559. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6560. path.close();
  6561. SkPath path1(path);
  6562. path.reset();
  6563. path.setFillType((SkPath::FillType) 0);
  6564. path.moveTo(SkBits2Float(0x42809082), SkBits2Float(0x4252054e));
  6565. path.cubicTo(SkBits2Float(0x4271521d), SkBits2Float(0x42655feb), SkBits2Float(0x425f60c7), SkBits2Float(0x4276e1ca), SkBits2Float(0x424ba43f), SkBits2Float(0x42831ae1));
  6566. path.lineTo(SkBits2Float(0x421335f7), SkBits2Float(0x423d8ca7));
  6567. path.cubicTo(SkBits2Float(0x42217a65), SkBits2Float(0x4232780c), SkBits2Float(0x422e72e3), SkBits2Float(0x4225d023), SkBits2Float(0x4239e05a), SkBits2Float(0x4217d27c));
  6568. path.lineTo(SkBits2Float(0x42809082), SkBits2Float(0x4252054e));
  6569. path.close();
  6570. SkPath path2(path);
  6571. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6572. }
  6573. // op end success 1
  6574. static void battleOp268(skiatest::Reporter* reporter, const char* filename) {
  6575. SkPath path;
  6576. path.setFillType((SkPath::FillType) 1);
  6577. path.moveTo(SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6578. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6579. path.cubicTo(SkBits2Float(0x42003b3a), SkBits2Float(0xc2a60000), SkBits2Float(0x4274ff8d), SkBits2Float(0xc28113a0), SkBits2Float(0x4295fac2), SkBits2Float(0xc20e4c24));
  6580. path.cubicTo(SkBits2Float(0x42b175be), SkBits2Float(0xc0d38840), SkBits2Float(0x42a91fa3), SkBits2Float(0x41dd6a3d), SkBits2Float(0x42809082), SkBits2Float(0x4252054e));
  6581. path.cubicTo(SkBits2Float(0x4271521d), SkBits2Float(0x42655feb), SkBits2Float(0x425f60c7), SkBits2Float(0x4276e1ca), SkBits2Float(0x424ba43f), SkBits2Float(0x42831ae1));
  6582. path.lineTo(SkBits2Float(0x421335f7), SkBits2Float(0x423d8ca7));
  6583. path.cubicTo(SkBits2Float(0x42217a65), SkBits2Float(0x4232780c), SkBits2Float(0x422e72e3), SkBits2Float(0x4225d023), SkBits2Float(0x4239e059), SkBits2Float(0x4217d27c));
  6584. path.cubicTo(SkBits2Float(0x4274841b), SkBits2Float(0x41a00f1c), SkBits2Float(0x428048c8), SkBits2Float(0xc098ea38), SkBits2Float(0x4258d681), SkBits2Float(0xc1cdbb32));
  6585. path.cubicTo(SkBits2Float(0x42311b71), SkBits2Float(0xc23a9deb), SkBits2Float(0x41b96511), SkBits2Float(0xc2700000), SkBits2Float(0x3697ff52), SkBits2Float(0xc2700000));
  6586. path.close();
  6587. SkPath path1(path);
  6588. path.reset();
  6589. path.setFillType((SkPath::FillType) 0);
  6590. path.moveTo(SkBits2Float(0x424ba440), SkBits2Float(0x42831ae2));
  6591. path.cubicTo(SkBits2Float(0x41bb72ba), SkBits2Float(0x42adc9b8), SkBits2Float(0xc16714ca), SkBits2Float(0x42b1a998), SkBits2Float(0xc22fd30d), SkBits2Float(0x428ccf5c));
  6592. path.cubicTo(SkBits2Float(0xc292f074), SkBits2Float(0x424fea41), SkBits2Float(0xc2b0b757), SkBits2Float(0x4188cdbd), SkBits2Float(0xc2a27f7d), SkBits2Float(0xc187abb1));
  6593. path.cubicTo(SkBits2Float(0xc29447a3), SkBits2Float(0xc24c1290), SkBits2Float(0xc23a2b5e), SkBits2Float(0xc29a0e93), SkBits2Float(0xc141f42b), SkBits2Float(0xc2a43853));
  6594. path.lineTo(SkBits2Float(0xc10c3538), SkBits2Float(0xc26d6d31));
  6595. path.cubicTo(SkBits2Float(0xc2069491), SkBits2Float(0xc25ebb9d), SkBits2Float(0xc2566164), SkBits2Float(0xc21385b2), SkBits2Float(0xc26aefd1), SkBits2Float(0xc1442672));
  6596. path.cubicTo(SkBits2Float(0xc27f7e3e), SkBits2Float(0x4145c9dc), SkBits2Float(0xc2547130), SkBits2Float(0x42164ccc), SkBits2Float(0xc1fe3427), SkBits2Float(0x424b94a6));
  6597. path.cubicTo(SkBits2Float(0xc1270bd9), SkBits2Float(0x42806e40), SkBits2Float(0x41878138), SkBits2Float(0x427b4278), SkBits2Float(0x421335f8), SkBits2Float(0x423d8ca8));
  6598. path.lineTo(SkBits2Float(0x424ba440), SkBits2Float(0x42831ae2));
  6599. path.close();
  6600. SkPath path2(path);
  6601. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6602. }
  6603. // op end success 1
  6604. static void battleOp269(skiatest::Reporter* reporter, const char* filename) {
  6605. SkPath path;
  6606. path.setFillType((SkPath::FillType) 0);
  6607. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6608. path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc20c36c8));
  6609. path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42559106));
  6610. path.lineTo(SkBits2Float(0x4237c0bf), SkBits2Float(0x421a62ac));
  6611. path.cubicTo(SkBits2Float(0x4273c506), SkBits2Float(0x41a5e791), SkBits2Float(0x4280797a), SkBits2Float(0xc08650bf), SkBits2Float(0x42598bc5), SkBits2Float(0xc1cab811));
  6612. path.cubicTo(SkBits2Float(0x42322494), SkBits2Float(0xc239edfa), SkBits2Float(0x41ba9913), SkBits2Float(0xc2700002), SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  6613. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6614. path.close();
  6615. SkPath path1(path);
  6616. path.reset();
  6617. path.setFillType((SkPath::FillType) 0);
  6618. path.moveTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
  6619. path.cubicTo(SkBits2Float(0x426e0477), SkBits2Float(0x4268d13b), SkBits2Float(0x425bb575), SkBits2Float(0x427a2b1d), SkBits2Float(0x42479e2a), SkBits2Float(0x4284a4a0));
  6620. path.lineTo(SkBits2Float(0x42104d52), SkBits2Float(0x423fc5ea));
  6621. path.cubicTo(SkBits2Float(0x421ed35e), SkBits2Float(0x4234d83a), SkBits2Float(0x422c0f91), SkBits2Float(0x42284d3a), SkBits2Float(0x4237c0bf), SkBits2Float(0x421a62ad));
  6622. path.lineTo(SkBits2Float(0x427e3109), SkBits2Float(0x42559108));
  6623. path.close();
  6624. SkPath path2(path);
  6625. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6626. }
  6627. // op end success 1
  6628. static void battleOp270(skiatest::Reporter* reporter, const char* filename) {
  6629. SkPath path;
  6630. path.setFillType((SkPath::FillType) 1);
  6631. path.moveTo(SkBits2Float(0xb7060057), SkBits2Float(0xc2700000));
  6632. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6633. path.cubicTo(SkBits2Float(0x42011047), SkBits2Float(0xc2a60000), SkBits2Float(0x42766e56), SkBits2Float(0xc28099ef), SkBits2Float(0x42967824), SkBits2Float(0xc20c36c8));
  6634. path.cubicTo(SkBits2Float(0x42b1b91c), SkBits2Float(0xc0b9cd9b), SkBits2Float(0x42a89b7a), SkBits2Float(0x41e5804f), SkBits2Float(0x427e310b), SkBits2Float(0x42559106));
  6635. path.lineTo(SkBits2Float(0x4237c0bf), SkBits2Float(0x421a62ad));
  6636. SkPath path1(path);
  6637. path.reset();
  6638. path.setFillType((SkPath::FillType) 0);
  6639. path.moveTo(SkBits2Float(0x42479e29), SkBits2Float(0x4284a4a0));
  6640. path.cubicTo(SkBits2Float(0x41af5d68), SkBits2Float(0x42aec1b4), SkBits2Float(0xc1822698), SkBits2Float(0x42b135a9), SkBits2Float(0xc2362f3e), SkBits2Float(0x428ac623));
  6641. path.cubicTo(SkBits2Float(0xc295a599), SkBits2Float(0x4248ad36), SkBits2Float(0xc2b1c6ab), SkBits2Float(0x416a48a9), SkBits2Float(0xc2a165f3), SkBits2Float(0xc19b42cf));
  6642. path.cubicTo(SkBits2Float(0xc291053c), SkBits2Float(0xc255d4f6), SkBits2Float(0xc22f520a), SkBits2Float(0xc29d68ba), SkBits2Float(0xc110422a), SkBits2Float(0xc2a50486));
  6643. path.lineTo(SkBits2Float(0xc0d09136), SkBits2Float(0xc26e946c));
  6644. path.cubicTo(SkBits2Float(0xc1fd79b9), SkBits2Float(0xc2639452), SkBits2Float(0xc251ab0b), SkBits2Float(0xc21a93c1), SkBits2Float(0xc26958c8), SkBits2Float(0xc1607927));
  6645. path.cubicTo(SkBits2Float(0xc2808342), SkBits2Float(0x41295cae), SkBits2Float(0xc2585b55), SkBits2Float(0x42111142), SkBits2Float(0xc203b318), SkBits2Float(0x4248a313));
  6646. path.cubicTo(SkBits2Float(0xc13c2b63), SkBits2Float(0x42801a73), SkBits2Float(0x417d8a30), SkBits2Float(0x427ca903), SkBits2Float(0x42104d56), SkBits2Float(0x423fc5e8));
  6647. path.lineTo(SkBits2Float(0x42479e29), SkBits2Float(0x4284a4a0));
  6648. path.close();
  6649. SkPath path2(path);
  6650. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6651. }
  6652. // op end success 1
  6653. static void battleOp271(skiatest::Reporter* reporter, const char* filename) {
  6654. SkPath path;
  6655. path.setFillType((SkPath::FillType) 0);
  6656. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6657. path.cubicTo(SkBits2Float(0x4201b43a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4277880a), SkBits2Float(0xc2803bc7), SkBits2Float(0x4296d747), SkBits2Float(0xc20a9b85));
  6658. path.cubicTo(SkBits2Float(0x42b1ea89), SkBits2Float(0xc0a5fbe3), SkBits2Float(0x42a831cc), SkBits2Float(0x41ebb52f), SkBits2Float(0x427be65b), SkBits2Float(0x425843c9));
  6659. path.lineTo(SkBits2Float(0x423618a6), SkBits2Float(0x421c5604));
  6660. path.cubicTo(SkBits2Float(0x42732c40), SkBits2Float(0x41aa6424), SkBits2Float(0x42809d37), SkBits2Float(0xc06ffa1c), SkBits2Float(0x425a1555), SkBits2Float(0xc1c8657d));
  6661. path.cubicTo(SkBits2Float(0x4232f03c), SkBits2Float(0xc23965db), SkBits2Float(0x41bb8620), SkBits2Float(0xc2700002), SkBits2Float(0xb5600574), SkBits2Float(0xc2700000));
  6662. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6663. path.close();
  6664. SkPath path1(path);
  6665. path.reset();
  6666. path.setFillType((SkPath::FillType) 0);
  6667. path.moveTo(SkBits2Float(0x427be65e), SkBits2Float(0x425843c9));
  6668. path.cubicTo(SkBits2Float(0x426b71bd), SkBits2Float(0x426b6e8c), SkBits2Float(0x4258dad9), SkBits2Float(0x427ca87a), SkBits2Float(0x42447e14), SkBits2Float(0x4285cdfb));
  6669. path.lineTo(SkBits2Float(0x420e0af4), SkBits2Float(0x424173d3));
  6670. path.cubicTo(SkBits2Float(0x421cc338), SkBits2Float(0x4236a4f9), SkBits2Float(0x422a3361), SkBits2Float(0x422a3113), SkBits2Float(0x423618a6), SkBits2Float(0x421c5605));
  6671. path.lineTo(SkBits2Float(0x427be65e), SkBits2Float(0x425843c9));
  6672. path.close();
  6673. SkPath path2(path);
  6674. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6675. }
  6676. // op end success 1
  6677. static void battleOp272(skiatest::Reporter* reporter, const char* filename) {
  6678. SkPath path;
  6679. path.setFillType((SkPath::FillType) 1);
  6680. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6681. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6682. path.cubicTo(SkBits2Float(0x4201b43a), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4277880a), SkBits2Float(0xc2803bc7), SkBits2Float(0x4296d747), SkBits2Float(0xc20a9b85));
  6683. path.cubicTo(SkBits2Float(0x42b1ea89), SkBits2Float(0xc0a5fbe3), SkBits2Float(0x42a831cc), SkBits2Float(0x41ebb52f), SkBits2Float(0x427be65b), SkBits2Float(0x425843c9));
  6684. path.lineTo(SkBits2Float(0x427be65e), SkBits2Float(0x425843c9));
  6685. path.cubicTo(SkBits2Float(0x426b71bd), SkBits2Float(0x426b6e8c), SkBits2Float(0x4258dad9), SkBits2Float(0x427ca87a), SkBits2Float(0x42447e14), SkBits2Float(0x4285cdfb));
  6686. path.lineTo(SkBits2Float(0x420e0af4), SkBits2Float(0x424173d3));
  6687. path.cubicTo(SkBits2Float(0x421cc338), SkBits2Float(0x4236a4f9), SkBits2Float(0x422a3361), SkBits2Float(0x422a3113), SkBits2Float(0x423618a6), SkBits2Float(0x421c5605));
  6688. path.lineTo(SkBits2Float(0x423618a6), SkBits2Float(0x421c5604));
  6689. path.cubicTo(SkBits2Float(0x42732c40), SkBits2Float(0x41aa6424), SkBits2Float(0x42809d37), SkBits2Float(0xc06ffa1c), SkBits2Float(0x425a1555), SkBits2Float(0xc1c8657d));
  6690. path.cubicTo(SkBits2Float(0x4232f03c), SkBits2Float(0xc23965db), SkBits2Float(0x41bb8620), SkBits2Float(0xc2700002), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  6691. path.close();
  6692. SkPath path1(path);
  6693. path.reset();
  6694. path.setFillType((SkPath::FillType) 0);
  6695. path.moveTo(SkBits2Float(0x42447e16), SkBits2Float(0x4285cdfb));
  6696. path.cubicTo(SkBits2Float(0x41a605d7), SkBits2Float(0x42af776a), SkBits2Float(0xc18d5e26), SkBits2Float(0x42b0cfa2), SkBits2Float(0xc23b02ad), SkBits2Float(0x428928e1));
  6697. path.cubicTo(SkBits2Float(0xc297ab24), SkBits2Float(0x42430442), SkBits2Float(0xc2b27fa9), SkBits2Float(0x414bdf0d), SkBits2Float(0xc2a073c8), SkBits2Float(0xc1aa3a13));
  6698. path.cubicTo(SkBits2Float(0xc28e67e7), SkBits2Float(0xc25d31d4), SkBits2Float(0xc226d0a4), SkBits2Float(0xc29fdb7e), SkBits2Float(0xc0d3d11a), SkBits2Float(0xc2a578a5));
  6699. path.lineTo(SkBits2Float(0xc0991eb2), SkBits2Float(0xc26f3c4f));
  6700. path.cubicTo(SkBits2Float(0xc1f12d9c), SkBits2Float(0xc2671e82), SkBits2Float(0xc24de350), SkBits2Float(0xc21fe656), SkBits2Float(0xc267faa7), SkBits2Float(0xc1761c74));
  6701. path.cubicTo(SkBits2Float(0xc28108ff), SkBits2Float(0x4113607a), SkBits2Float(0xc25b4798), SkBits2Float(0x420cf9d1), SkBits2Float(0xc207302c), SkBits2Float(0x42464d9a));
  6702. path.cubicTo(SkBits2Float(0xc14c6303), SkBits2Float(0x427fa162), SkBits2Float(0x4170087f), SkBits2Float(0x427dafb7), SkBits2Float(0x420e0af6), SkBits2Float(0x424173d2));
  6703. path.lineTo(SkBits2Float(0x42447e16), SkBits2Float(0x4285cdfb));
  6704. path.close();
  6705. SkPath path2(path);
  6706. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6707. }
  6708. // op end success 1
  6709. static void battleOp273(skiatest::Reporter* reporter, const char* filename) {
  6710. SkPath path;
  6711. path.setFillType((SkPath::FillType) 0);
  6712. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6713. path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2093dbb));
  6714. path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x425a890b));
  6715. path.lineTo(SkBits2Float(0x4234ac95), SkBits2Float(0x421dfa35));
  6716. path.cubicTo(SkBits2Float(0x4272a697), SkBits2Float(0x41ae3171), SkBits2Float(0x4280ba5e), SkBits2Float(0xc057a00f), SkBits2Float(0x425a88d0), SkBits2Float(0xc1c66bc2));
  6717. path.cubicTo(SkBits2Float(0x42339ce5), SkBits2Float(0xc238f1c1), SkBits2Float(0x41bc4f6b), SkBits2Float(0xc2700002), SkBits2Float(0xb630015d), SkBits2Float(0xc2700000));
  6718. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6719. path.close();
  6720. SkPath path1(path);
  6721. path.reset();
  6722. path.setFillType((SkPath::FillType) 0);
  6723. path.moveTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
  6724. path.cubicTo(SkBits2Float(0x42693cf3), SkBits2Float(0x426da0dc), SkBits2Float(0x42566929), SkBits2Float(0x427ebed8), SkBits2Float(0x4241d1ac), SkBits2Float(0x4286c6a2));
  6725. path.lineTo(SkBits2Float(0x420c1c33), SkBits2Float(0x4242db53));
  6726. path.cubicTo(SkBits2Float(0x421afee9), SkBits2Float(0x42382742), SkBits2Float(0x42289b18), SkBits2Float(0x422bc78f), SkBits2Float(0x4234ac94), SkBits2Float(0x421dfa34));
  6727. path.lineTo(SkBits2Float(0x4279eebd), SkBits2Float(0x425a890e));
  6728. path.close();
  6729. SkPath path2(path);
  6730. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6731. }
  6732. // op end success 1
  6733. static void battleOp274(skiatest::Reporter* reporter, const char* filename) {
  6734. SkPath path;
  6735. path.setFillType((SkPath::FillType) 1);
  6736. path.moveTo(SkBits2Float(0xb630015d), SkBits2Float(0xc2700000));
  6737. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6738. path.cubicTo(SkBits2Float(0x42023f77), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427876e4), SkBits2Float(0xc27fd6f4), SkBits2Float(0x42972728), SkBits2Float(0xc2093dbb));
  6739. path.cubicTo(SkBits2Float(0x42b212de), SkBits2Float(0xc0952410), SkBits2Float(0x42a7d55b), SkBits2Float(0x41f0f791), SkBits2Float(0x4279eebf), SkBits2Float(0x425a890b));
  6740. path.lineTo(SkBits2Float(0x4234ac95), SkBits2Float(0x421dfa35));
  6741. path.cubicTo(SkBits2Float(0x4272a697), SkBits2Float(0x41ae3171), SkBits2Float(0x4280ba5e), SkBits2Float(0xc057a00f), SkBits2Float(0x425a88d0), SkBits2Float(0xc1c66bc2));
  6742. path.cubicTo(SkBits2Float(0x42339ce5), SkBits2Float(0xc238f1c1), SkBits2Float(0x41bc4f6b), SkBits2Float(0xc2700002), SkBits2Float(0xb630015d), SkBits2Float(0xc2700000));
  6743. path.close();
  6744. SkPath path1(path);
  6745. path.reset();
  6746. path.setFillType((SkPath::FillType) 0);
  6747. path.moveTo(SkBits2Float(0x4241d1ad), SkBits2Float(0x4286c6a2));
  6748. path.cubicTo(SkBits2Float(0x419e0f8e), SkBits2Float(0x42b00b7b), SkBits2Float(0xc196dfc4), SkBits2Float(0x42b07042), SkBits2Float(0xc23f0fa7), SkBits2Float(0x4287c1be));
  6749. path.cubicTo(SkBits2Float(0xc29957b6), SkBits2Float(0x423e2672), SkBits2Float(0xc2b30c7a), SkBits2Float(0x4131f351), SkBits2Float(0xc29f94d8), SkBits2Float(0xc1b6db1d));
  6750. path.cubicTo(SkBits2Float(0xc28c1d38), SkBits2Float(0xc26357ee), SkBits2Float(0xc21f7d48), SkBits2Float(0xc2a1d87d), SkBits2Float(0xc09294c7), SkBits2Float(0xc2a5bf3c));
  6751. path.lineTo(SkBits2Float(0xc053ec94), SkBits2Float(0xc26fa25d));
  6752. path.cubicTo(SkBits2Float(0xc1e69644), SkBits2Float(0xc269fe64), SkBits2Float(0xc24a931a), SkBits2Float(0xc224583b), SkBits2Float(0xc266b858), SkBits2Float(0xc1842f59));
  6753. path.cubicTo(SkBits2Float(0xc2816ecb), SkBits2Float(0x4100a388), SkBits2Float(0xc25db33b), SkBits2Float(0x42097539), SkBits2Float(0xc20a1dd2), SkBits2Float(0x4244465c));
  6754. path.cubicTo(SkBits2Float(0xc15a2194), SkBits2Float(0x427f177f), SkBits2Float(0x41648588), SkBits2Float(0x427e85cc), SkBits2Float(0x420c1c35), SkBits2Float(0x4242db52));
  6755. path.lineTo(SkBits2Float(0x4241d1ad), SkBits2Float(0x4286c6a2));
  6756. path.close();
  6757. SkPath path2(path);
  6758. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6759. }
  6760. // op end success 1
  6761. static void battleOp275(skiatest::Reporter* reporter, const char* filename) {
  6762. SkPath path;
  6763. path.setFillType((SkPath::FillType) 0);
  6764. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6765. path.cubicTo(SkBits2Float(0x4202aab9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42792ea4), SkBits2Float(0xc27f5acc), SkBits2Float(0x4297641b), SkBits2Float(0xc2082fee));
  6766. path.cubicTo(SkBits2Float(0x42b230e5), SkBits2Float(0xc0882884), SkBits2Float(0x42a78c73), SkBits2Float(0x41f502e3), SkBits2Float(0x4278676f), SkBits2Float(0x425c4571));
  6767. path.lineTo(SkBits2Float(0x423391b8), SkBits2Float(0x421f3b73));
  6768. path.cubicTo(SkBits2Float(0x42723d33), SkBits2Float(0x41b11ddb), SkBits2Float(0x4280d014), SkBits2Float(0xc044db05), SkBits2Float(0x425ae0f2), SkBits2Float(0xc1c4e5b3));
  6769. path.cubicTo(SkBits2Float(0x423421be), SkBits2Float(0xc2389802), SkBits2Float(0x41bcea83), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6770. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6771. path.close();
  6772. SkPath path1(path);
  6773. path.reset();
  6774. path.setFillType((SkPath::FillType) 0);
  6775. path.moveTo(SkBits2Float(0x42786771), SkBits2Float(0x425c4570));
  6776. path.cubicTo(SkBits2Float(0x42678692), SkBits2Float(0x426f4e2b), SkBits2Float(0x425483f6), SkBits2Float(0x42802b0f), SkBits2Float(0x423fbf6b), SkBits2Float(0x428783bc));
  6777. path.lineTo(SkBits2Float(0x420a9ce1), SkBits2Float(0x4243ecb9));
  6778. path.cubicTo(SkBits2Float(0x4219a02a), SkBits2Float(0x42394dac), SkBits2Float(0x42275e32), SkBits2Float(0x422cfde6), SkBits2Float(0x423391b8), SkBits2Float(0x421f3b72));
  6779. path.lineTo(SkBits2Float(0x42786771), SkBits2Float(0x425c4570));
  6780. path.close();
  6781. SkPath path2(path);
  6782. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6783. }
  6784. // op end success 1
  6785. static void battleOp276(skiatest::Reporter* reporter, const char* filename) {
  6786. SkPath path;
  6787. path.setFillType((SkPath::FillType) 1);
  6788. path.moveTo(SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6789. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6790. path.cubicTo(SkBits2Float(0x4202aab9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x42792ea4), SkBits2Float(0xc27f5acc), SkBits2Float(0x4297641b), SkBits2Float(0xc2082fee));
  6791. path.cubicTo(SkBits2Float(0x42b230e5), SkBits2Float(0xc0882884), SkBits2Float(0x42a78c73), SkBits2Float(0x41f502e3), SkBits2Float(0x4278676f), SkBits2Float(0x425c4571));
  6792. path.cubicTo(SkBits2Float(0x42678690), SkBits2Float(0x426f4e2b), SkBits2Float(0x425483f5), SkBits2Float(0x42802b0f), SkBits2Float(0x423fbf6b), SkBits2Float(0x428783bc));
  6793. path.lineTo(SkBits2Float(0x420a9ce1), SkBits2Float(0x4243ecb9));
  6794. path.cubicTo(SkBits2Float(0x4219a02a), SkBits2Float(0x42394dac), SkBits2Float(0x42275e32), SkBits2Float(0x422cfde7), SkBits2Float(0x423391b8), SkBits2Float(0x421f3b73));
  6795. path.lineTo(SkBits2Float(0x423391b8), SkBits2Float(0x421f3b72));
  6796. path.cubicTo(SkBits2Float(0x42723d33), SkBits2Float(0x41b11dd9), SkBits2Float(0x4280d014), SkBits2Float(0xc044db09), SkBits2Float(0x425ae0f2), SkBits2Float(0xc1c4e5b3));
  6797. path.cubicTo(SkBits2Float(0x423421be), SkBits2Float(0xc2389802), SkBits2Float(0x41bcea83), SkBits2Float(0xc2700000), SkBits2Float(0x3725ffa9), SkBits2Float(0xc2700000));
  6798. path.close();
  6799. SkPath path1(path);
  6800. path.reset();
  6801. path.setFillType((SkPath::FillType) 0);
  6802. path.moveTo(SkBits2Float(0x423fbf6b), SkBits2Float(0x428783bc));
  6803. path.cubicTo(SkBits2Float(0x4197e908), SkBits2Float(0x42b0799e), SkBits2Float(0xc19e2f01), SkBits2Float(0x42b0215b), SkBits2Float(0xc24226b0), SkBits2Float(0x4286a80b));
  6804. path.cubicTo(SkBits2Float(0xc29a9aef), SkBits2Float(0x423a5d79), SkBits2Float(0xc2b36ebb), SkBits2Float(0x411dee4a), SkBits2Float(0xc29ede64), SkBits2Float(0xc1c087c1));
  6805. path.cubicTo(SkBits2Float(0xc28a4e0d), SkBits2Float(0xc2680353), SkBits2Float(0xc219c8f7), SkBits2Float(0xc2a351d0), SkBits2Float(0xc0409740), SkBits2Float(0xc2a5e40e));
  6806. path.lineTo(SkBits2Float(0xc00b391c), SkBits2Float(0xc26fd79b));
  6807. path.cubicTo(SkBits2Float(0xc1de5701), SkBits2Float(0xc26c1feb), SkBits2Float(0xc247f576), SkBits2Float(0xc227b85e), SkBits2Float(0xc265b08d), SkBits2Float(0xc18b2dac));
  6808. path.cubicTo(SkBits2Float(0xc281b5d1), SkBits2Float(0x40e45588), SkBits2Float(0xc25f8687), SkBits2Float(0x4206b8c8), SkBits2Float(0xc20c59a1), SkBits2Float(0x4242af19));
  6809. path.cubicTo(SkBits2Float(0xc164b2eb), SkBits2Float(0x427ea56a), SkBits2Float(0x415ba119), SkBits2Float(0x427f2508), SkBits2Float(0x420a9ce0), SkBits2Float(0x4243ecba));
  6810. path.lineTo(SkBits2Float(0x423fbf6b), SkBits2Float(0x428783bc));
  6811. path.close();
  6812. SkPath path2(path);
  6813. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6814. }
  6815. // op end success 1
  6816. static void battleOp277(skiatest::Reporter* reporter, const char* filename) {
  6817. SkPath path;
  6818. path.setFillType((SkPath::FillType) 0);
  6819. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6820. path.cubicTo(SkBits2Float(0x4202f62b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4279afc7), SkBits2Float(0xc27f0340), SkBits2Float(0x42978eaf), SkBits2Float(0xc20771fd));
  6821. path.cubicTo(SkBits2Float(0x42b2457b), SkBits2Float(0xc07e0b91), SkBits2Float(0x42a7584a), SkBits2Float(0x41f7da1e), SkBits2Float(0x42775276), SkBits2Float(0x425d7c3f));
  6822. path.lineTo(SkBits2Float(0x4232c97e), SkBits2Float(0x42201c22));
  6823. path.cubicTo(SkBits2Float(0x4271f1c7), SkBits2Float(0x41b32b8d), SkBits2Float(0x4280def3), SkBits2Float(0xc037a5cf), SkBits2Float(0x425b1e7c), SkBits2Float(0xc1c3d316));
  6824. path.cubicTo(SkBits2Float(0x42347f10), SkBits2Float(0xc23858b9), SkBits2Float(0x41bd578b), SkBits2Float(0xc26fffff), SkBits2Float(0xb7240057), SkBits2Float(0xc26fffff));
  6825. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6826. path.close();
  6827. SkPath path1(path);
  6828. path.reset();
  6829. path.setFillType((SkPath::FillType) 0);
  6830. path.moveTo(SkBits2Float(0x42775277), SkBits2Float(0x425d7c41));
  6831. path.cubicTo(SkBits2Float(0x4266507b), SkBits2Float(0x42707a20), SkBits2Float(0x42532cff), SkBits2Float(0x4280b928), SkBits2Float(0x423e48db), SkBits2Float(0x42880779));
  6832. path.lineTo(SkBits2Float(0x42098e1c), SkBits2Float(0x4244ab32));
  6833. path.cubicTo(SkBits2Float(0x4218a83e), SkBits2Float(0x423a1b21), SkBits2Float(0x42267e0b), SkBits2Float(0x422dd6be), SkBits2Float(0x4232c97e), SkBits2Float(0x42201c22));
  6834. path.lineTo(SkBits2Float(0x42775277), SkBits2Float(0x425d7c41));
  6835. path.close();
  6836. SkPath path2(path);
  6837. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6838. }
  6839. // op end success 1
  6840. static void battleOp278(skiatest::Reporter* reporter, const char* filename) {
  6841. SkPath path;
  6842. path.setFillType((SkPath::FillType) 1);
  6843. path.moveTo(SkBits2Float(0xb7240057), SkBits2Float(0xc26fffff));
  6844. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6845. path.cubicTo(SkBits2Float(0x4202f62b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x4279afc7), SkBits2Float(0xc27f0340), SkBits2Float(0x42978eaf), SkBits2Float(0xc20771fd));
  6846. path.cubicTo(SkBits2Float(0x42b2457b), SkBits2Float(0xc07e0b91), SkBits2Float(0x42a7584a), SkBits2Float(0x41f7da1e), SkBits2Float(0x42775276), SkBits2Float(0x425d7c3f));
  6847. path.lineTo(SkBits2Float(0x42775277), SkBits2Float(0x425d7c41));
  6848. path.cubicTo(SkBits2Float(0x4266507b), SkBits2Float(0x42707a20), SkBits2Float(0x42532cff), SkBits2Float(0x4280b928), SkBits2Float(0x423e48db), SkBits2Float(0x42880779));
  6849. path.lineTo(SkBits2Float(0x42098e1c), SkBits2Float(0x4244ab32));
  6850. path.cubicTo(SkBits2Float(0x4218a83e), SkBits2Float(0x423a1b21), SkBits2Float(0x42267e0b), SkBits2Float(0x422dd6be), SkBits2Float(0x4232c97e), SkBits2Float(0x42201c22));
  6851. path.cubicTo(SkBits2Float(0x4271f1c7), SkBits2Float(0x41b32b8d), SkBits2Float(0x4280def3), SkBits2Float(0xc037a5cf), SkBits2Float(0x425b1e7c), SkBits2Float(0xc1c3d316));
  6852. path.cubicTo(SkBits2Float(0x42347f10), SkBits2Float(0xc23858b9), SkBits2Float(0x41bd578b), SkBits2Float(0xc26fffff), SkBits2Float(0xb7240057), SkBits2Float(0xc26fffff));
  6853. path.close();
  6854. SkPath path1(path);
  6855. path.reset();
  6856. path.setFillType((SkPath::FillType) 0);
  6857. path.moveTo(SkBits2Float(0x423e48db), SkBits2Float(0x4288077a));
  6858. path.cubicTo(SkBits2Float(0x41939344), SkBits2Float(0x42b0c509), SkBits2Float(0xc1a3515b), SkBits2Float(0x42afe6ff), SkBits2Float(0xc2444efb), SkBits2Float(0x4285df44));
  6859. path.cubicTo(SkBits2Float(0xc29b7aa2), SkBits2Float(0x4237af14), SkBits2Float(0xc2b3ae7d), SkBits2Float(0x410fd2d1), SkBits2Float(0xc29e5879), SkBits2Float(0xc1c74e5b));
  6860. path.cubicTo(SkBits2Float(0xc2890275), SkBits2Float(0xc26b4310), SkBits2Float(0xc215bdd9), SkBits2Float(0xc2a45375), SkBits2Float(0xbff3abc7), SkBits2Float(0xc2a5f4d2));
  6861. path.lineTo(SkBits2Float(0xbfb025f0), SkBits2Float(0xc26fefd6));
  6862. path.cubicTo(SkBits2Float(0xc1d87e6f), SkBits2Float(0xc26d946b), SkBits2Float(0xc246160c), SkBits2Float(0xc22a11a0), SkBits2Float(0xc264eef0), SkBits2Float(0xc190139e));
  6863. path.cubicTo(SkBits2Float(0xc281e3ea), SkBits2Float(0x40cff015), SkBits2Float(0xc260c9f8), SkBits2Float(0x4204c898), SkBits2Float(0xc20de8e2), SkBits2Float(0x42418cd3));
  6864. path.cubicTo(SkBits2Float(0xc16c1f36), SkBits2Float(0x427e510e), SkBits2Float(0x41555c9e), SkBits2Float(0x427f9213), SkBits2Float(0x42098e1b), SkBits2Float(0x4244ab33));
  6865. path.lineTo(SkBits2Float(0x423e48db), SkBits2Float(0x4288077a));
  6866. path.close();
  6867. SkPath path2(path);
  6868. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6869. }
  6870. // op end success 1
  6871. static void battleOp279(skiatest::Reporter* reporter, const char* filename) {
  6872. SkPath path;
  6873. path.setFillType((SkPath::FillType) 0);
  6874. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6875. path.cubicTo(SkBits2Float(0x420331e6), SkBits2Float(0xc2a60000), SkBits2Float(0x427a15f4), SkBits2Float(0xc27ebdd3), SkBits2Float(0x4297b03a), SkBits2Float(0xc206db86));
  6876. path.cubicTo(SkBits2Float(0x42b2557a), SkBits2Float(0xc06f9378), SkBits2Float(0x42a72e7e), SkBits2Float(0x41fa194a), SkBits2Float(0x4276762d), SkBits2Float(0x425e7148));
  6877. path.lineTo(SkBits2Float(0x42322a40), SkBits2Float(0x4220cd43));
  6878. path.cubicTo(SkBits2Float(0x4271b558), SkBits2Float(0x41b4cb56), SkBits2Float(0x4280ea83), SkBits2Float(0xc02d3004), SkBits2Float(0x425b4efa), SkBits2Float(0xc1c2f986));
  6879. path.cubicTo(SkBits2Float(0x4234c8ee), SkBits2Float(0xc2382686), SkBits2Float(0x41bdadf1), SkBits2Float(0xc26fffff), SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
  6880. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6881. path.close();
  6882. SkPath path1(path);
  6883. path.reset();
  6884. path.setFillType((SkPath::FillType) 0);
  6885. path.moveTo(SkBits2Float(0x4276762e), SkBits2Float(0x425e7147));
  6886. path.cubicTo(SkBits2Float(0x42655a01), SkBits2Float(0x42716669), SkBits2Float(0x42521c84), SkBits2Float(0x428128fd), SkBits2Float(0x423d1f69), SkBits2Float(0x42886f05));
  6887. path.lineTo(SkBits2Float(0x4208b718), SkBits2Float(0x424540e7));
  6888. path.cubicTo(SkBits2Float(0x4217e344), SkBits2Float(0x423abccf), SkBits2Float(0x4225cbdd), SkBits2Float(0x422e818f), SkBits2Float(0x42322a41), SkBits2Float(0x4220cd43));
  6889. path.lineTo(SkBits2Float(0x4276762e), SkBits2Float(0x425e7147));
  6890. path.close();
  6891. SkPath path2(path);
  6892. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6893. }
  6894. // op end success 1
  6895. static void battleOp280(skiatest::Reporter* reporter, const char* filename) {
  6896. SkPath path;
  6897. path.setFillType((SkPath::FillType) 1);
  6898. path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
  6899. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6900. path.cubicTo(SkBits2Float(0x420331e6), SkBits2Float(0xc2a60000), SkBits2Float(0x427a15f4), SkBits2Float(0xc27ebdd3), SkBits2Float(0x4297b03a), SkBits2Float(0xc206db86));
  6901. path.cubicTo(SkBits2Float(0x42b2557a), SkBits2Float(0xc06f937f), SkBits2Float(0x42a72e7e), SkBits2Float(0x41fa1948), SkBits2Float(0x4276762e), SkBits2Float(0x425e7147));
  6902. path.lineTo(SkBits2Float(0x4276762d), SkBits2Float(0x425e7148));
  6903. path.cubicTo(SkBits2Float(0x42655a00), SkBits2Float(0x4271666a), SkBits2Float(0x42521c84), SkBits2Float(0x428128fd), SkBits2Float(0x423d1f69), SkBits2Float(0x42886f05));
  6904. path.lineTo(SkBits2Float(0x4208b718), SkBits2Float(0x424540e7));
  6905. path.cubicTo(SkBits2Float(0x4217e344), SkBits2Float(0x423abccf), SkBits2Float(0x4225cbdd), SkBits2Float(0x422e818f), SkBits2Float(0x42322a41), SkBits2Float(0x4220cd43));
  6906. path.lineTo(SkBits2Float(0x42322a40), SkBits2Float(0x4220cd43));
  6907. path.cubicTo(SkBits2Float(0x4271b558), SkBits2Float(0x41b4cb56), SkBits2Float(0x4280ea83), SkBits2Float(0xc02d3004), SkBits2Float(0x425b4efa), SkBits2Float(0xc1c2f986));
  6908. path.cubicTo(SkBits2Float(0x4234c8ee), SkBits2Float(0xc2382686), SkBits2Float(0x41bdadf1), SkBits2Float(0xc26fffff), SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
  6909. path.close();
  6910. SkPath path1(path);
  6911. path.reset();
  6912. path.setFillType((SkPath::FillType) 0);
  6913. path.moveTo(SkBits2Float(0x423d1f69), SkBits2Float(0x42886f06));
  6914. path.cubicTo(SkBits2Float(0x4190236c), SkBits2Float(0x42b0ff8c), SkBits2Float(0xc1a760b7), SkBits2Float(0x42afb726), SkBits2Float(0xc24601c7), SkBits2Float(0x42853ece));
  6915. path.cubicTo(SkBits2Float(0xc29c2998), SkBits2Float(0x42358ced), SkBits2Float(0xc2b3ddd5), SkBits2Float(0x4104a433), SkBits2Float(0xc29deb35), SkBits2Float(0xc1cca70e));
  6916. path.cubicTo(SkBits2Float(0xc287f895), SkBits2Float(0xc26dd020), SkBits2Float(0xc21285d2), SkBits2Float(0xc2a51ade), SkBits2Float(0xbf83a2cf), SkBits2Float(0xc2a5fcbd));
  6917. path.lineTo(SkBits2Float(0xbf3e53cf), SkBits2Float(0xc26ffb48));
  6918. path.cubicTo(SkBits2Float(0xc1d3d71b), SkBits2Float(0xc26eb4b2), SkBits2Float(0xc24495a7), SkBits2Float(0xc22be9b4), SkBits2Float(0xc26450f5), SkBits2Float(0xc193f109));
  6919. path.cubicTo(SkBits2Float(0xc2820621), SkBits2Float(0x40bfc558), SkBits2Float(0xc261c6ea), SkBits2Float(0x42033dc6), SkBits2Float(0xc20f2333), SkBits2Float(0x4240a4d2));
  6920. path.cubicTo(SkBits2Float(0xc171fde8), SkBits2Float(0x427e0bde), SkBits2Float(0x4150649d), SkBits2Float(0x427fe6ab), SkBits2Float(0x4208b71a), SkBits2Float(0x424540e8));
  6921. path.lineTo(SkBits2Float(0x423d1f69), SkBits2Float(0x42886f06));
  6922. path.close();
  6923. SkPath path2(path);
  6924. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6925. }
  6926. // op end success 1
  6927. static void battleOp281(skiatest::Reporter* reporter, const char* filename) {
  6928. SkPath path;
  6929. path.setFillType((SkPath::FillType) 0);
  6930. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6931. path.cubicTo(SkBits2Float(0x42035955), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427a595d), SkBits2Float(0xc27e8fe6), SkBits2Float(0x4297c647), SkBits2Float(0xc206781b));
  6932. path.cubicTo(SkBits2Float(0x42b25fdf), SkBits2Float(0xc0660504), SkBits2Float(0x42a712a2), SkBits2Float(0x41fb94c7), SkBits2Float(0x4275e43b), SkBits2Float(0x425f1290));
  6933. path.lineTo(SkBits2Float(0x4231c0be), SkBits2Float(0x422141dc));
  6934. path.cubicTo(SkBits2Float(0x42718d10), SkBits2Float(0x41b5ddaf), SkBits2Float(0x4280f208), SkBits2Float(0xc026476c), SkBits2Float(0x425b6edc), SkBits2Float(0xc1c269cb));
  6935. path.cubicTo(SkBits2Float(0x4234f9ab), SkBits2Float(0xc2380553), SkBits2Float(0x41bde6f3), SkBits2Float(0xc26fffff), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  6936. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6937. path.close();
  6938. SkPath path1(path);
  6939. path.reset();
  6940. path.setFillType((SkPath::FillType) 0);
  6941. path.moveTo(SkBits2Float(0x4275e43b), SkBits2Float(0x425f1292));
  6942. path.cubicTo(SkBits2Float(0x4264b6c3), SkBits2Float(0x427201df), SkBits2Float(0x4251681e), SkBits2Float(0x42817283), SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b309));
  6943. path.lineTo(SkBits2Float(0x420828ca), SkBits2Float(0x4245a33c));
  6944. path.cubicTo(SkBits2Float(0x421760db), SkBits2Float(0x423b2719), SkBits2Float(0x422555d9), SkBits2Float(0x422ef1ee), SkBits2Float(0x4231c0be), SkBits2Float(0x422141da));
  6945. path.lineTo(SkBits2Float(0x4275e43b), SkBits2Float(0x425f1292));
  6946. path.close();
  6947. SkPath path2(path);
  6948. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6949. }
  6950. // op end success 1
  6951. static void battleOp282(skiatest::Reporter* reporter, const char* filename) {
  6952. SkPath path;
  6953. path.setFillType((SkPath::FillType) 1);
  6954. path.moveTo(SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  6955. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  6956. path.cubicTo(SkBits2Float(0x42035955), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427a595d), SkBits2Float(0xc27e8fe6), SkBits2Float(0x4297c647), SkBits2Float(0xc206781b));
  6957. path.cubicTo(SkBits2Float(0x42b25fdf), SkBits2Float(0xc0660504), SkBits2Float(0x42a712a2), SkBits2Float(0x41fb94c7), SkBits2Float(0x4275e43b), SkBits2Float(0x425f1290));
  6958. path.lineTo(SkBits2Float(0x4275e43b), SkBits2Float(0x425f1292));
  6959. path.cubicTo(SkBits2Float(0x4264b6c3), SkBits2Float(0x427201df), SkBits2Float(0x4251681e), SkBits2Float(0x42817283), SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b309));
  6960. path.lineTo(SkBits2Float(0x420828ca), SkBits2Float(0x4245a33c));
  6961. path.cubicTo(SkBits2Float(0x421760db), SkBits2Float(0x423b2719), SkBits2Float(0x422555d9), SkBits2Float(0x422ef1f0), SkBits2Float(0x4231c0be), SkBits2Float(0x422141dc));
  6962. path.cubicTo(SkBits2Float(0x42718d10), SkBits2Float(0x41b5ddaf), SkBits2Float(0x4280f208), SkBits2Float(0xc026476c), SkBits2Float(0x425b6edc), SkBits2Float(0xc1c269cb));
  6963. path.cubicTo(SkBits2Float(0x4234f9ab), SkBits2Float(0xc2380553), SkBits2Float(0x41bde6f3), SkBits2Float(0xc26fffff), SkBits2Float(0x3637fea5), SkBits2Float(0xc2700000));
  6964. path.close();
  6965. SkPath path1(path);
  6966. path.reset();
  6967. path.setFillType((SkPath::FillType) 0);
  6968. path.moveTo(SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b30a));
  6969. path.cubicTo(SkBits2Float(0x418dddd4), SkBits2Float(0x42b12599), SkBits2Float(0xc1aa0e7c), SkBits2Float(0x42af96c0), SkBits2Float(0xc2471fb7), SkBits2Float(0x4284d41e));
  6970. path.cubicTo(SkBits2Float(0xc29c9c18), SkBits2Float(0x423422f8), SkBits2Float(0xc2b3fb95), SkBits2Float(0x40fa8096), SkBits2Float(0xc29da17e), SkBits2Float(0xc1d02ca0));
  6971. path.cubicTo(SkBits2Float(0xc2874768), SkBits2Float(0xc26f7cb1), SkBits2Float(0xc2106396), SkBits2Float(0xc2a59c4c), SkBits2Float(0xbee6b152), SkBits2Float(0xc2a5ff5f));
  6972. path.lineTo(SkBits2Float(0xbea6c49b), SkBits2Float(0xc26fff18));
  6973. path.cubicTo(SkBits2Float(0xc1d0c156), SkBits2Float(0xc26f6fd8), SkBits2Float(0xc2439580), SkBits2Float(0xc22d1f86), SkBits2Float(0xc263e663), SkBits2Float(0xc1967cc0));
  6974. path.cubicTo(SkBits2Float(0xc2821ba4), SkBits2Float(0x40b51622), SkBits2Float(0xc2626c73), SkBits2Float(0x4202381f), SkBits2Float(0xc20ff1e5), SkBits2Float(0x42400a93));
  6975. path.cubicTo(SkBits2Float(0xc175dd55), SkBits2Float(0x427ddd08), SkBits2Float(0x414d1bd1), SkBits2Float(0x42800ed7), SkBits2Float(0x420828d0), SkBits2Float(0x4245a338));
  6976. path.lineTo(SkBits2Float(0x423c5a8f), SkBits2Float(0x4288b30a));
  6977. path.close();
  6978. SkPath path2(path);
  6979. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  6980. }
  6981. // op end success 1
  6982. static void battleOp283(skiatest::Reporter* reporter, const char* filename) {
  6983. SkPath path;
  6984. path.setFillType((SkPath::FillType) 0);
  6985. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6986. path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2064926));
  6987. path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x425f5e99));
  6988. path.lineTo(SkBits2Float(0x42318ed2), SkBits2Float(0x422178d2));
  6989. path.cubicTo(SkBits2Float(0x427179f2), SkBits2Float(0x41b65f2f), SkBits2Float(0x4280f58f), SkBits2Float(0xc0230424), SkBits2Float(0x425b7de6), SkBits2Float(0xc1c225e6));
  6990. path.cubicTo(SkBits2Float(0x423510af), SkBits2Float(0xc237f5a4), SkBits2Float(0x41be01e5), SkBits2Float(0xc26fffff), SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
  6991. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  6992. path.close();
  6993. SkPath path1(path);
  6994. path.reset();
  6995. path.setFillType((SkPath::FillType) 0);
  6996. path.moveTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
  6997. path.cubicTo(SkBits2Float(0x42646988), SkBits2Float(0x42724b20), SkBits2Float(0x425112cb), SkBits2Float(0x42819524), SkBits2Float(0x423bfd7a), SkBits2Float(0x4288d30e));
  6998. path.lineTo(SkBits2Float(0x4207e580), SkBits2Float(0x4245d187));
  6999. path.cubicTo(SkBits2Float(0x4217232e), SkBits2Float(0x423b592c), SkBits2Float(0x42251e07), SkBits2Float(0x422f26e4), SkBits2Float(0x42318ed3), SkBits2Float(0x422178d2));
  7000. path.lineTo(SkBits2Float(0x42759f2b), SkBits2Float(0x425f5e9b));
  7001. path.close();
  7002. SkPath path2(path);
  7003. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7004. }
  7005. // op end success 1
  7006. static void battleOp284(skiatest::Reporter* reporter, const char* filename) {
  7007. SkPath path;
  7008. path.setFillType((SkPath::FillType) 1);
  7009. path.moveTo(SkBits2Float(0x3707ffa9), SkBits2Float(0xc2700000));
  7010. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7011. path.cubicTo(SkBits2Float(0x42036bf7), SkBits2Float(0xc2a60000), SkBits2Float(0x427a7934), SkBits2Float(0xc27e7a35), SkBits2Float(0x4297d0ad), SkBits2Float(0xc2064926));
  7012. path.cubicTo(SkBits2Float(0x42b264c0), SkBits2Float(0xc061818a), SkBits2Float(0x42a70569), SkBits2Float(0x41fc47ee), SkBits2Float(0x42759f2d), SkBits2Float(0x425f5e99));
  7013. path.lineTo(SkBits2Float(0x42318ed3), SkBits2Float(0x422178d2));
  7014. SkPath path1(path);
  7015. path.reset();
  7016. path.setFillType((SkPath::FillType) 0);
  7017. path.moveTo(SkBits2Float(0x423bfd7a), SkBits2Float(0x4288d30e));
  7018. path.cubicTo(SkBits2Float(0x418ccafd), SkBits2Float(0x42b13768), SkBits2Float(0xc1ab522b), SkBits2Float(0x42af873b), SkBits2Float(0xc247a66c), SkBits2Float(0x4284a188));
  7019. path.cubicTo(SkBits2Float(0xc29cd1e0), SkBits2Float(0x423377ac), SkBits2Float(0xc2b40936), SkBits2Float(0x40f384e7), SkBits2Float(0xc29d7e41), SkBits2Float(0xc1d1d5b9));
  7020. path.cubicTo(SkBits2Float(0xc286f34a), SkBits2Float(0xc2704657), SkBits2Float(0xc20f6108), SkBits2Float(0xc2a5d8cf), SkBits2Float(0xbe35f437), SkBits2Float(0xc2a5ffe6));
  7021. path.lineTo(SkBits2Float(0xbe038989), SkBits2Float(0xc26fffdc));
  7022. path.cubicTo(SkBits2Float(0xc1cf4b80), SkBits2Float(0xc26fc755), SkBits2Float(0xc2431bdf), SkBits2Float(0xc22db14d), SkBits2Float(0xc263b36c), SkBits2Float(0xc197b016));
  7023. path.cubicTo(SkBits2Float(0xc282257d), SkBits2Float(0x40b009af), SkBits2Float(0xc262ba31), SkBits2Float(0x4201bc49), SkBits2Float(0xc2105343), SkBits2Float(0x423fc16f));
  7024. path.cubicTo(SkBits2Float(0xc177b158), SkBits2Float(0x427dc695), SkBits2Float(0x414b8e67), SkBits2Float(0x42801bb6), SkBits2Float(0x4207e581), SkBits2Float(0x4245d188));
  7025. path.lineTo(SkBits2Float(0x423bfd7a), SkBits2Float(0x4288d30e));
  7026. path.close();
  7027. SkPath path2(path);
  7028. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7029. }
  7030. // op end success 1
  7031. static void battleOp285(skiatest::Reporter* reporter, const char* filename) {
  7032. SkPath path;
  7033. path.setFillType((SkPath::FillType) 0);
  7034. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7035. path.cubicTo(SkBits2Float(0x420374f9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427a8897), SkBits2Float(0xc27e6fb3), SkBits2Float(0x4297d5b1), SkBits2Float(0xc2063270));
  7036. path.cubicTo(SkBits2Float(0x42b26718), SkBits2Float(0xc05f52ba), SkBits2Float(0x42a6ff00), SkBits2Float(0x41fc9e87), SkBits2Float(0x42757dbf), SkBits2Float(0x425f8353));
  7037. path.lineTo(SkBits2Float(0x423176ab), SkBits2Float(0x4221935e));
  7038. path.cubicTo(SkBits2Float(0x427170b0), SkBits2Float(0x41b69dc5), SkBits2Float(0x4280f73f), SkBits2Float(0xc0217057), SkBits2Float(0x425b8525), SkBits2Float(0xc1c20512));
  7039. path.cubicTo(SkBits2Float(0x42351bcc), SkBits2Float(0xc237ee0d), SkBits2Float(0x41be0ee4), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  7040. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7041. path.close();
  7042. SkPath path1(path);
  7043. path.reset();
  7044. path.setFillType((SkPath::FillType) 0);
  7045. path.moveTo(SkBits2Float(0x42757dc1), SkBits2Float(0x425f8353));
  7046. path.cubicTo(SkBits2Float(0x4264442b), SkBits2Float(0x42726e80), SkBits2Float(0x4250e985), SkBits2Float(0x4281a5dc), SkBits2Float(0x423bd072), SkBits2Float(0x4288e283));
  7047. path.lineTo(SkBits2Float(0x4207c4f4), SkBits2Float(0x4245e7df));
  7048. path.cubicTo(SkBits2Float(0x42170559), SkBits2Float(0x423b7158), SkBits2Float(0x42250305), SkBits2Float(0x422f4076), SkBits2Float(0x423176ac), SkBits2Float(0x4221935e));
  7049. path.lineTo(SkBits2Float(0x42757dc1), SkBits2Float(0x425f8353));
  7050. path.close();
  7051. SkPath path2(path);
  7052. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7053. }
  7054. // op end success 1
  7055. static void battleOp286(skiatest::Reporter* reporter, const char* filename) {
  7056. SkPath path;
  7057. path.setFillType((SkPath::FillType) 1);
  7058. path.moveTo(SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  7059. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7060. path.cubicTo(SkBits2Float(0x420374f9), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427a8897), SkBits2Float(0xc27e6fb3), SkBits2Float(0x4297d5b1), SkBits2Float(0xc2063270));
  7061. path.cubicTo(SkBits2Float(0x42b26718), SkBits2Float(0xc05f52c1), SkBits2Float(0x42a6ff01), SkBits2Float(0x41fc9e87), SkBits2Float(0x42757dc1), SkBits2Float(0x425f8353));
  7062. path.cubicTo(SkBits2Float(0x4264442b), SkBits2Float(0x42726e80), SkBits2Float(0x4250e985), SkBits2Float(0x4281a5dc), SkBits2Float(0x423bd072), SkBits2Float(0x4288e283));
  7063. path.lineTo(SkBits2Float(0x4207c4f4), SkBits2Float(0x4245e7df));
  7064. path.cubicTo(SkBits2Float(0x42170559), SkBits2Float(0x423b7158), SkBits2Float(0x42250305), SkBits2Float(0x422f4076), SkBits2Float(0x423176ab), SkBits2Float(0x4221935e));
  7065. path.cubicTo(SkBits2Float(0x427170b0), SkBits2Float(0x41b69dc5), SkBits2Float(0x4280f73f), SkBits2Float(0xc0217057), SkBits2Float(0x425b8525), SkBits2Float(0xc1c20512));
  7066. path.cubicTo(SkBits2Float(0x42351bcc), SkBits2Float(0xc237ee0d), SkBits2Float(0x41be0ee4), SkBits2Float(0xc26fffff), SkBits2Float(0xb630015b), SkBits2Float(0xc26fffff));
  7067. path.close();
  7068. SkPath path1(path);
  7069. path.reset();
  7070. path.setFillType((SkPath::FillType) 0);
  7071. path.moveTo(SkBits2Float(0x423bd073), SkBits2Float(0x4288e283));
  7072. path.cubicTo(SkBits2Float(0x418c461b), SkBits2Float(0x42b13ffc), SkBits2Float(0xc1abee9c), SkBits2Float(0x42af7fac), SkBits2Float(0xc247e775), SkBits2Float(0x42848907));
  7073. path.cubicTo(SkBits2Float(0xc29cebcd), SkBits2Float(0x423324c4), SkBits2Float(0xc2b40fb2), SkBits2Float(0x40f02474), SkBits2Float(0xc29d6d1c), SkBits2Float(0xc1d2a316));
  7074. path.cubicTo(SkBits2Float(0xc286ca87), SkBits2Float(0xc270a7a6), SkBits2Float(0xc20ee3ea), SkBits2Float(0xc2a5f5e9), SkBits2Float(0xbd3ba09e), SkBits2Float(0xc2a5fffd));
  7075. path.lineTo(SkBits2Float(0xbd0796d7), SkBits2Float(0xc26ffffe));
  7076. path.cubicTo(SkBits2Float(0xc1ce9695), SkBits2Float(0xc26ff16b), SkBits2Float(0xc242e0ee), SkBits2Float(0xc22df7a5), SkBits2Float(0xc2639aa3), SkBits2Float(0xc198448c));
  7077. path.cubicTo(SkBits2Float(0xc2822a2c), SkBits2Float(0x40ad98d0), SkBits2Float(0xc262dfac), SkBits2Float(0x4201805e), SkBits2Float(0xc2108243), SkBits2Float(0x423f9e03));
  7078. path.cubicTo(SkBits2Float(0xc178936c), SkBits2Float(0x427dbba8), SkBits2Float(0x414ace5d), SkBits2Float(0x428021e8), SkBits2Float(0x4207c4fa), SkBits2Float(0x4245e7dc));
  7079. path.lineTo(SkBits2Float(0x423bd073), SkBits2Float(0x4288e283));
  7080. path.close();
  7081. SkPath path2(path);
  7082. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7083. }
  7084. // op end success 1
  7085. static void battleOp287(skiatest::Reporter* reporter, const char* filename) {
  7086. SkPath path;
  7087. path.setFillType((SkPath::FillType) 0);
  7088. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7089. path.cubicTo(SkBits2Float(0x420377c9), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8d67), SkBits2Float(0xc27e6c6d), SkBits2Float(0x4297d744), SkBits2Float(0xc2062b59));
  7090. path.cubicTo(SkBits2Float(0x42b267d3), SkBits2Float(0xc05ea43d), SkBits2Float(0x42a6fd01), SkBits2Float(0x41fcb991), SkBits2Float(0x42757351), SkBits2Float(0x425f8ecb));
  7091. path.lineTo(SkBits2Float(0x42316f1e), SkBits2Float(0x42219ba8));
  7092. path.cubicTo(SkBits2Float(0x42716dc9), SkBits2Float(0x41b6b154), SkBits2Float(0x4280f7c8), SkBits2Float(0xc020f212), SkBits2Float(0x425b876b), SkBits2Float(0xc1c1fad0));
  7093. path.cubicTo(SkBits2Float(0x42351f48), SkBits2Float(0xc237ebae), SkBits2Float(0x41be12f9), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7094. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7095. path.close();
  7096. SkPath path1(path);
  7097. path.reset();
  7098. path.setFillType((SkPath::FillType) 0);
  7099. path.moveTo(SkBits2Float(0x42757350), SkBits2Float(0x425f8ecb));
  7100. path.cubicTo(SkBits2Float(0x42643881), SkBits2Float(0x4272798e), SkBits2Float(0x4250dca0), SkBits2Float(0x4281ab15), SkBits2Float(0x423bc262), SkBits2Float(0x4288e756));
  7101. path.lineTo(SkBits2Float(0x4207bac8), SkBits2Float(0x4245eed9));
  7102. path.cubicTo(SkBits2Float(0x4216fc05), SkBits2Float(0x423b78e5), SkBits2Float(0x4224fa94), SkBits2Float(0x422f4874), SkBits2Float(0x42316f1f), SkBits2Float(0x42219baa));
  7103. path.lineTo(SkBits2Float(0x42757350), SkBits2Float(0x425f8ecb));
  7104. path.close();
  7105. SkPath path2(path);
  7106. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7107. }
  7108. // op end success 1
  7109. static void battleOp288(skiatest::Reporter* reporter, const char* filename) {
  7110. SkPath path;
  7111. path.setFillType((SkPath::FillType) 1);
  7112. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7113. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7114. path.cubicTo(SkBits2Float(0x420377c9), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8d67), SkBits2Float(0xc27e6c6d), SkBits2Float(0x4297d744), SkBits2Float(0xc2062b59));
  7115. path.cubicTo(SkBits2Float(0x42b267d3), SkBits2Float(0xc05ea43d), SkBits2Float(0x42a6fd01), SkBits2Float(0x41fcb991), SkBits2Float(0x42757351), SkBits2Float(0x425f8ecb));
  7116. path.lineTo(SkBits2Float(0x423bc262), SkBits2Float(0x4288e756));
  7117. path.lineTo(SkBits2Float(0x4207bac8), SkBits2Float(0x4245eed9));
  7118. path.cubicTo(SkBits2Float(0x4216fc05), SkBits2Float(0x423b78e5), SkBits2Float(0x4224fa94), SkBits2Float(0x422f4874), SkBits2Float(0x42316f1f), SkBits2Float(0x42219baa));
  7119. path.lineTo(SkBits2Float(0x42316f1e), SkBits2Float(0x42219ba8));
  7120. path.cubicTo(SkBits2Float(0x42716dc9), SkBits2Float(0x41b6b154), SkBits2Float(0x4280f7c8), SkBits2Float(0xc020f212), SkBits2Float(0x425b876b), SkBits2Float(0xc1c1fad0));
  7121. path.cubicTo(SkBits2Float(0x42351f48), SkBits2Float(0xc237ebae), SkBits2Float(0x41be12f9), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7122. path.close();
  7123. SkPath path1(path);
  7124. path.reset();
  7125. path.setFillType((SkPath::FillType) 0);
  7126. path.moveTo(SkBits2Float(0x423bc261), SkBits2Float(0x4288e756));
  7127. path.cubicTo(SkBits2Float(0x418c1c95), SkBits2Float(0x42b142a6), SkBits2Float(0xc1ac1f7e), SkBits2Float(0x42af7d4d), SkBits2Float(0xc247fbc6), SkBits2Float(0x4284815d));
  7128. path.cubicTo(SkBits2Float(0xc29cf3e6), SkBits2Float(0x42330ad8), SkBits2Float(0xc2b411b5), SkBits2Float(0x40ef163d), SkBits2Float(0xc29d67bc), SkBits2Float(0xc1d2e345));
  7129. path.cubicTo(SkBits2Float(0xc286bdc4), SkBits2Float(0xc270c60d), SkBits2Float(0xc20ebcc7), SkBits2Float(0xc2a5feff), SkBits2Float(0xbb958372), SkBits2Float(0xc2a5ffff));
  7130. path.lineTo(SkBits2Float(0xbb591ee2), SkBits2Float(0xc2700000));
  7131. path.cubicTo(SkBits2Float(0xc1ce5e0c), SkBits2Float(0xc26ffe8b), SkBits2Float(0xc242ce80), SkBits2Float(0xc22e0d9d), SkBits2Float(0xc26392e3), SkBits2Float(0xc19872ed));
  7132. path.cubicTo(SkBits2Float(0xc2822ba3), SkBits2Float(0x40acd588), SkBits2Float(0xc262eb66), SkBits2Float(0x42016da1), SkBits2Float(0xc21090f8), SkBits2Float(0x423f92f0));
  7133. path.cubicTo(SkBits2Float(0xc178da2a), SkBits2Float(0x427db83e), SkBits2Float(0x414a923f), SkBits2Float(0x428023d8), SkBits2Float(0x4207baca), SkBits2Float(0x4245eed8));
  7134. path.lineTo(SkBits2Float(0x423bc261), SkBits2Float(0x4288e756));
  7135. path.close();
  7136. SkPath path2(path);
  7137. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7138. }
  7139. // op end success 1
  7140. static void battleOp289(skiatest::Reporter* reporter, const char* filename) {
  7141. SkPath path;
  7142. path.setFillType((SkPath::FillType) 0);
  7143. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7144. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7145. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7146. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7147. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7148. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7149. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7150. path.close();
  7151. SkPath path1(path);
  7152. path.reset();
  7153. path.setFillType((SkPath::FillType) 0);
  7154. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7155. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7156. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7157. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7158. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7159. path.close();
  7160. SkPath path2(path);
  7161. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7162. }
  7163. // op end success 1
  7164. static void battleOp290(skiatest::Reporter* reporter, const char* filename) {
  7165. SkPath path;
  7166. path.setFillType((SkPath::FillType) 1);
  7167. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7168. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7169. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7170. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7171. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7172. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7173. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7174. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7175. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7176. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7177. path.close();
  7178. SkPath path1(path);
  7179. path.reset();
  7180. path.setFillType((SkPath::FillType) 0);
  7181. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7182. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7183. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7184. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7185. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7186. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7187. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7188. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7189. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7190. path.close();
  7191. SkPath path2(path);
  7192. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7193. }
  7194. // op end success 1
  7195. static void battleOp291(skiatest::Reporter* reporter, const char* filename) {
  7196. SkPath path;
  7197. path.setFillType((SkPath::FillType) 0);
  7198. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7199. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7200. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7201. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7202. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7203. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7204. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7205. path.close();
  7206. SkPath path1(path);
  7207. path.reset();
  7208. path.setFillType((SkPath::FillType) 0);
  7209. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7210. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7211. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7212. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7213. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7214. path.close();
  7215. SkPath path2(path);
  7216. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7217. }
  7218. // op end success 1
  7219. static void battleOp292(skiatest::Reporter* reporter, const char* filename) {
  7220. SkPath path;
  7221. path.setFillType((SkPath::FillType) 1);
  7222. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7223. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7224. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7225. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7226. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7227. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7228. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7229. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7230. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7231. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7232. path.close();
  7233. SkPath path1(path);
  7234. path.reset();
  7235. path.setFillType((SkPath::FillType) 0);
  7236. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7237. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7238. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7239. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7240. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7241. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7242. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7243. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7244. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7245. path.close();
  7246. SkPath path2(path);
  7247. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7248. }
  7249. // op end success 1
  7250. static void battleOp293(skiatest::Reporter* reporter, const char* filename) {
  7251. SkPath path;
  7252. path.setFillType((SkPath::FillType) 0);
  7253. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7254. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7255. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7256. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7257. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7258. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7259. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7260. path.close();
  7261. SkPath path1(path);
  7262. path.reset();
  7263. path.setFillType((SkPath::FillType) 0);
  7264. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7265. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7266. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7267. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7268. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7269. path.close();
  7270. SkPath path2(path);
  7271. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7272. }
  7273. // op end success 1
  7274. static void battleOp294(skiatest::Reporter* reporter, const char* filename) {
  7275. SkPath path;
  7276. path.setFillType((SkPath::FillType) 1);
  7277. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7278. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7279. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7280. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7281. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7282. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7283. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7284. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7285. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7286. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7287. path.close();
  7288. SkPath path1(path);
  7289. path.reset();
  7290. path.setFillType((SkPath::FillType) 0);
  7291. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7292. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7293. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7294. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7295. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7296. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7297. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7298. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7299. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7300. path.close();
  7301. SkPath path2(path);
  7302. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7303. }
  7304. // op end success 1
  7305. static void battleOp295(skiatest::Reporter* reporter, const char* filename) {
  7306. SkPath path;
  7307. path.setFillType((SkPath::FillType) 0);
  7308. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7309. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7310. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7311. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7312. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7313. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7314. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7315. path.close();
  7316. SkPath path1(path);
  7317. path.reset();
  7318. path.setFillType((SkPath::FillType) 0);
  7319. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7320. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7321. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7322. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7323. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7324. path.close();
  7325. SkPath path2(path);
  7326. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7327. }
  7328. // op end success 1
  7329. static void battleOp296(skiatest::Reporter* reporter, const char* filename) {
  7330. SkPath path;
  7331. path.setFillType((SkPath::FillType) 1);
  7332. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7333. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7334. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7335. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7336. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7337. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7338. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7339. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7340. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7341. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7342. path.close();
  7343. SkPath path1(path);
  7344. path.reset();
  7345. path.setFillType((SkPath::FillType) 0);
  7346. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7347. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7348. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7349. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7350. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7351. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7352. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7353. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7354. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7355. path.close();
  7356. SkPath path2(path);
  7357. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7358. }
  7359. // op end success 1
  7360. static void battleOp297(skiatest::Reporter* reporter, const char* filename) {
  7361. SkPath path;
  7362. path.setFillType((SkPath::FillType) 0);
  7363. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7364. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7365. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7366. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7367. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7368. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7369. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7370. path.close();
  7371. SkPath path1(path);
  7372. path.reset();
  7373. path.setFillType((SkPath::FillType) 0);
  7374. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7375. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7376. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7377. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7378. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7379. path.close();
  7380. SkPath path2(path);
  7381. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7382. }
  7383. // op end success 1
  7384. static void battleOp298(skiatest::Reporter* reporter, const char* filename) {
  7385. SkPath path;
  7386. path.setFillType((SkPath::FillType) 1);
  7387. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7388. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7389. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7390. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7391. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7392. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7393. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7394. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7395. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7396. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7397. path.close();
  7398. SkPath path1(path);
  7399. path.reset();
  7400. path.setFillType((SkPath::FillType) 0);
  7401. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7402. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7403. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7404. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7405. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7406. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7407. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7408. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7409. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7410. path.close();
  7411. SkPath path2(path);
  7412. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7413. }
  7414. // op end success 1
  7415. static void battleOp299(skiatest::Reporter* reporter, const char* filename) {
  7416. SkPath path;
  7417. path.setFillType((SkPath::FillType) 0);
  7418. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7419. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7420. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7421. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7422. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7423. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7424. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7425. path.close();
  7426. SkPath path1(path);
  7427. path.reset();
  7428. path.setFillType((SkPath::FillType) 0);
  7429. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7430. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7431. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7432. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7433. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7434. path.close();
  7435. SkPath path2(path);
  7436. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7437. }
  7438. // op end success 1
  7439. static void battleOp300(skiatest::Reporter* reporter, const char* filename) {
  7440. SkPath path;
  7441. path.setFillType((SkPath::FillType) 1);
  7442. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7443. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7444. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7445. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7446. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7447. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7448. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7449. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7450. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7451. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7452. path.close();
  7453. SkPath path1(path);
  7454. path.reset();
  7455. path.setFillType((SkPath::FillType) 0);
  7456. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7457. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7458. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7459. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7460. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7461. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7462. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7463. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7464. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7465. path.close();
  7466. SkPath path2(path);
  7467. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7468. }
  7469. // op end success 1
  7470. static void battleOp301(skiatest::Reporter* reporter, const char* filename) {
  7471. SkPath path;
  7472. path.setFillType((SkPath::FillType) 0);
  7473. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7474. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7475. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7476. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7477. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7478. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7479. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7480. path.close();
  7481. SkPath path1(path);
  7482. path.reset();
  7483. path.setFillType((SkPath::FillType) 0);
  7484. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7485. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7486. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7487. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7488. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7489. path.close();
  7490. SkPath path2(path);
  7491. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7492. }
  7493. // op end success 1
  7494. static void battleOp302(skiatest::Reporter* reporter, const char* filename) {
  7495. SkPath path;
  7496. path.setFillType((SkPath::FillType) 1);
  7497. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7498. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7499. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7500. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7501. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7502. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7503. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7504. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7505. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7506. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7507. path.close();
  7508. SkPath path1(path);
  7509. path.reset();
  7510. path.setFillType((SkPath::FillType) 0);
  7511. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7512. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7513. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7514. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7515. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7516. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7517. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7518. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7519. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7520. path.close();
  7521. SkPath path2(path);
  7522. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7523. }
  7524. // op end success 1
  7525. static void battleOp303(skiatest::Reporter* reporter, const char* filename) {
  7526. SkPath path;
  7527. path.setFillType((SkPath::FillType) 0);
  7528. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7529. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7530. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7531. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7532. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7533. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7534. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7535. path.close();
  7536. SkPath path1(path);
  7537. path.reset();
  7538. path.setFillType((SkPath::FillType) 0);
  7539. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7540. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7541. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7542. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7543. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7544. path.close();
  7545. SkPath path2(path);
  7546. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7547. }
  7548. // op end success 1
  7549. static void battleOp304(skiatest::Reporter* reporter, const char* filename) {
  7550. SkPath path;
  7551. path.setFillType((SkPath::FillType) 1);
  7552. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7553. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7554. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7555. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7556. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7557. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7558. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7559. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7560. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7561. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7562. path.close();
  7563. SkPath path1(path);
  7564. path.reset();
  7565. path.setFillType((SkPath::FillType) 0);
  7566. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7567. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7568. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7569. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7570. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7571. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7572. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7573. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7574. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7575. path.close();
  7576. SkPath path2(path);
  7577. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7578. }
  7579. // op end success 1
  7580. static void battleOp305(skiatest::Reporter* reporter, const char* filename) {
  7581. SkPath path;
  7582. path.setFillType((SkPath::FillType) 0);
  7583. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7584. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7585. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7586. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7587. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7588. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7589. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7590. path.close();
  7591. SkPath path1(path);
  7592. path.reset();
  7593. path.setFillType((SkPath::FillType) 0);
  7594. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7595. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7596. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7597. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7598. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7599. path.close();
  7600. SkPath path2(path);
  7601. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7602. }
  7603. // op end success 1
  7604. static void battleOp306(skiatest::Reporter* reporter, const char* filename) {
  7605. SkPath path;
  7606. path.setFillType((SkPath::FillType) 1);
  7607. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7608. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7609. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7610. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7611. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7612. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7613. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7614. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7615. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7616. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7617. path.close();
  7618. SkPath path1(path);
  7619. path.reset();
  7620. path.setFillType((SkPath::FillType) 0);
  7621. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7622. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7623. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7624. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7625. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7626. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7627. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7628. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7629. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7630. path.close();
  7631. SkPath path2(path);
  7632. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7633. }
  7634. // op end success 1
  7635. static void battleOp307(skiatest::Reporter* reporter, const char* filename) {
  7636. SkPath path;
  7637. path.setFillType((SkPath::FillType) 0);
  7638. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7639. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7640. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7641. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7642. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7643. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7644. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7645. path.close();
  7646. SkPath path1(path);
  7647. path.reset();
  7648. path.setFillType((SkPath::FillType) 0);
  7649. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7650. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7651. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7652. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7653. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7654. path.close();
  7655. SkPath path2(path);
  7656. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7657. }
  7658. // op end success 1
  7659. static void battleOp308(skiatest::Reporter* reporter, const char* filename) {
  7660. SkPath path;
  7661. path.setFillType((SkPath::FillType) 1);
  7662. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7663. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7664. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7665. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7666. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7667. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7668. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7669. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7670. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7671. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7672. path.close();
  7673. SkPath path1(path);
  7674. path.reset();
  7675. path.setFillType((SkPath::FillType) 0);
  7676. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7677. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7678. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7679. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7680. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7681. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7682. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7683. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7684. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7685. path.close();
  7686. SkPath path2(path);
  7687. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7688. }
  7689. // op end success 1
  7690. static void battleOp309(skiatest::Reporter* reporter, const char* filename) {
  7691. SkPath path;
  7692. path.setFillType((SkPath::FillType) 0);
  7693. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7694. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7695. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7696. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7697. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7698. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7699. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7700. path.close();
  7701. SkPath path1(path);
  7702. path.reset();
  7703. path.setFillType((SkPath::FillType) 0);
  7704. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7705. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7706. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7707. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7708. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7709. path.close();
  7710. SkPath path2(path);
  7711. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7712. }
  7713. // op end success 1
  7714. static void battleOp310(skiatest::Reporter* reporter, const char* filename) {
  7715. SkPath path;
  7716. path.setFillType((SkPath::FillType) 1);
  7717. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7718. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7719. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7720. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7721. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7722. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7723. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7724. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7725. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7726. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7727. path.close();
  7728. SkPath path1(path);
  7729. path.reset();
  7730. path.setFillType((SkPath::FillType) 0);
  7731. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7732. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7733. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7734. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7735. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7736. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7737. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7738. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7739. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7740. path.close();
  7741. SkPath path2(path);
  7742. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7743. }
  7744. // op end success 1
  7745. static void battleOp311(skiatest::Reporter* reporter, const char* filename) {
  7746. SkPath path;
  7747. path.setFillType((SkPath::FillType) 0);
  7748. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7749. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7750. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7751. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7752. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7753. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7754. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7755. path.close();
  7756. SkPath path1(path);
  7757. path.reset();
  7758. path.setFillType((SkPath::FillType) 0);
  7759. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7760. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7761. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7762. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7763. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7764. path.close();
  7765. SkPath path2(path);
  7766. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7767. }
  7768. // op end success 1
  7769. static void battleOp312(skiatest::Reporter* reporter, const char* filename) {
  7770. SkPath path;
  7771. path.setFillType((SkPath::FillType) 1);
  7772. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7773. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7774. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7775. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7776. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7777. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7778. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7779. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7780. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7781. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7782. path.close();
  7783. SkPath path1(path);
  7784. path.reset();
  7785. path.setFillType((SkPath::FillType) 0);
  7786. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7787. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7788. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7789. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7790. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7791. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7792. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7793. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7794. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7795. path.close();
  7796. SkPath path2(path);
  7797. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7798. }
  7799. // op end success 1
  7800. static void battleOp313(skiatest::Reporter* reporter, const char* filename) {
  7801. SkPath path;
  7802. path.setFillType((SkPath::FillType) 0);
  7803. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7804. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7805. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7806. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7807. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7808. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7809. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7810. path.close();
  7811. SkPath path1(path);
  7812. path.reset();
  7813. path.setFillType((SkPath::FillType) 0);
  7814. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7815. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7816. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7817. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7818. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7819. path.close();
  7820. SkPath path2(path);
  7821. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7822. }
  7823. // op end success 1
  7824. static void battleOp314(skiatest::Reporter* reporter, const char* filename) {
  7825. SkPath path;
  7826. path.setFillType((SkPath::FillType) 1);
  7827. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7828. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7829. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7830. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7831. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7832. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7833. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7834. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7835. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7836. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7837. path.close();
  7838. SkPath path1(path);
  7839. path.reset();
  7840. path.setFillType((SkPath::FillType) 0);
  7841. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7842. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7843. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7844. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7845. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7846. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7847. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7848. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7849. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7850. path.close();
  7851. SkPath path2(path);
  7852. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7853. }
  7854. // op end success 1
  7855. static void battleOp315(skiatest::Reporter* reporter, const char* filename) {
  7856. SkPath path;
  7857. path.setFillType((SkPath::FillType) 0);
  7858. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7859. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7860. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7861. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7862. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7863. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7864. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7865. path.close();
  7866. SkPath path1(path);
  7867. path.reset();
  7868. path.setFillType((SkPath::FillType) 0);
  7869. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7870. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7871. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7872. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7873. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7874. path.close();
  7875. SkPath path2(path);
  7876. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7877. }
  7878. // op end success 1
  7879. static void battleOp316(skiatest::Reporter* reporter, const char* filename) {
  7880. SkPath path;
  7881. path.setFillType((SkPath::FillType) 1);
  7882. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7883. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7884. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7885. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7886. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7887. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7888. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7889. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7890. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7891. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7892. path.close();
  7893. SkPath path1(path);
  7894. path.reset();
  7895. path.setFillType((SkPath::FillType) 0);
  7896. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7897. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7898. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7899. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7900. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7901. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7902. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7903. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7904. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7905. path.close();
  7906. SkPath path2(path);
  7907. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7908. }
  7909. // op end success 1
  7910. static void battleOp317(skiatest::Reporter* reporter, const char* filename) {
  7911. SkPath path;
  7912. path.setFillType((SkPath::FillType) 0);
  7913. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7914. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7915. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7916. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7917. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7918. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7919. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7920. path.close();
  7921. SkPath path1(path);
  7922. path.reset();
  7923. path.setFillType((SkPath::FillType) 0);
  7924. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7925. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7926. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7927. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7928. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7929. path.close();
  7930. SkPath path2(path);
  7931. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7932. }
  7933. // op end success 1
  7934. static void battleOp318(skiatest::Reporter* reporter, const char* filename) {
  7935. SkPath path;
  7936. path.setFillType((SkPath::FillType) 1);
  7937. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7938. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7939. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7940. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7941. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7942. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7943. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7944. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7945. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7946. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7947. path.close();
  7948. SkPath path1(path);
  7949. path.reset();
  7950. path.setFillType((SkPath::FillType) 0);
  7951. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7952. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  7953. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  7954. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  7955. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  7956. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  7957. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  7958. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7959. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7960. path.close();
  7961. SkPath path2(path);
  7962. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7963. }
  7964. // op end success 1
  7965. static void battleOp319(skiatest::Reporter* reporter, const char* filename) {
  7966. SkPath path;
  7967. path.setFillType((SkPath::FillType) 0);
  7968. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7969. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7970. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7971. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  7972. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  7973. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  7974. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  7975. path.close();
  7976. SkPath path1(path);
  7977. path.reset();
  7978. path.setFillType((SkPath::FillType) 0);
  7979. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7980. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7981. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7982. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7983. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  7984. path.close();
  7985. SkPath path2(path);
  7986. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  7987. }
  7988. // op end success 1
  7989. static void battleOp320(skiatest::Reporter* reporter, const char* filename) {
  7990. SkPath path;
  7991. path.setFillType((SkPath::FillType) 1);
  7992. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  7993. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  7994. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  7995. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  7996. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  7997. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  7998. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  7999. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8000. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8001. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8002. path.close();
  8003. SkPath path1(path);
  8004. path.reset();
  8005. path.setFillType((SkPath::FillType) 0);
  8006. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8007. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8008. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8009. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8010. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8011. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8012. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8013. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8014. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8015. path.close();
  8016. SkPath path2(path);
  8017. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8018. }
  8019. // op end success 1
  8020. static void battleOp321(skiatest::Reporter* reporter, const char* filename) {
  8021. SkPath path;
  8022. path.setFillType((SkPath::FillType) 0);
  8023. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8024. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8025. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8026. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8027. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8028. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8029. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8030. path.close();
  8031. SkPath path1(path);
  8032. path.reset();
  8033. path.setFillType((SkPath::FillType) 0);
  8034. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8035. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8036. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8037. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8038. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8039. path.close();
  8040. SkPath path2(path);
  8041. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8042. }
  8043. // op end success 1
  8044. static void battleOp322(skiatest::Reporter* reporter, const char* filename) {
  8045. SkPath path;
  8046. path.setFillType((SkPath::FillType) 1);
  8047. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8048. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8049. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8050. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8051. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8052. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8053. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8054. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8055. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8056. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8057. path.close();
  8058. SkPath path1(path);
  8059. path.reset();
  8060. path.setFillType((SkPath::FillType) 0);
  8061. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8062. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8063. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8064. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8065. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8066. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8067. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8068. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8069. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8070. path.close();
  8071. SkPath path2(path);
  8072. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8073. }
  8074. // op end success 1
  8075. static void battleOp323(skiatest::Reporter* reporter, const char* filename) {
  8076. SkPath path;
  8077. path.setFillType((SkPath::FillType) 0);
  8078. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8079. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8080. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8081. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8082. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8083. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8084. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8085. path.close();
  8086. SkPath path1(path);
  8087. path.reset();
  8088. path.setFillType((SkPath::FillType) 0);
  8089. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8090. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8091. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8092. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8093. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8094. path.close();
  8095. SkPath path2(path);
  8096. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8097. }
  8098. // op end success 1
  8099. static void battleOp324(skiatest::Reporter* reporter, const char* filename) {
  8100. SkPath path;
  8101. path.setFillType((SkPath::FillType) 1);
  8102. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8103. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8104. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8105. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8106. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8107. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8108. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8109. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8110. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8111. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8112. path.close();
  8113. SkPath path1(path);
  8114. path.reset();
  8115. path.setFillType((SkPath::FillType) 0);
  8116. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8117. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8118. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8119. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8120. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8121. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8122. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8123. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8124. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8125. path.close();
  8126. SkPath path2(path);
  8127. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8128. }
  8129. // op end success 1
  8130. static void battleOp325(skiatest::Reporter* reporter, const char* filename) {
  8131. SkPath path;
  8132. path.setFillType((SkPath::FillType) 0);
  8133. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8134. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8135. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8136. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8137. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8138. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8139. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8140. path.close();
  8141. SkPath path1(path);
  8142. path.reset();
  8143. path.setFillType((SkPath::FillType) 0);
  8144. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8145. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8146. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8147. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8148. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8149. path.close();
  8150. SkPath path2(path);
  8151. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8152. }
  8153. // op end success 1
  8154. static void battleOp326(skiatest::Reporter* reporter, const char* filename) {
  8155. SkPath path;
  8156. path.setFillType((SkPath::FillType) 1);
  8157. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8158. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8159. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8160. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8161. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8162. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8163. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8164. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8165. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8166. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8167. path.close();
  8168. SkPath path1(path);
  8169. path.reset();
  8170. path.setFillType((SkPath::FillType) 0);
  8171. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8172. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8173. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8174. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8175. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8176. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8177. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8178. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8179. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8180. path.close();
  8181. SkPath path2(path);
  8182. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8183. }
  8184. // op end success 1
  8185. static void battleOp327(skiatest::Reporter* reporter, const char* filename) {
  8186. SkPath path;
  8187. path.setFillType((SkPath::FillType) 0);
  8188. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8189. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8190. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8191. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8192. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8193. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8194. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8195. path.close();
  8196. SkPath path1(path);
  8197. path.reset();
  8198. path.setFillType((SkPath::FillType) 0);
  8199. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8200. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8201. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8202. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8203. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8204. path.close();
  8205. SkPath path2(path);
  8206. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8207. }
  8208. // op end success 1
  8209. static void battleOp328(skiatest::Reporter* reporter, const char* filename) {
  8210. SkPath path;
  8211. path.setFillType((SkPath::FillType) 1);
  8212. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8213. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8214. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8215. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8216. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8217. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8218. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8219. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8220. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8221. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8222. path.close();
  8223. SkPath path1(path);
  8224. path.reset();
  8225. path.setFillType((SkPath::FillType) 0);
  8226. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8227. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8228. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8229. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8230. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8231. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8232. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8233. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8234. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8235. path.close();
  8236. SkPath path2(path);
  8237. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8238. }
  8239. // op end success 1
  8240. static void battleOp329(skiatest::Reporter* reporter, const char* filename) {
  8241. SkPath path;
  8242. path.setFillType((SkPath::FillType) 0);
  8243. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8244. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8245. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8246. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8247. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8248. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8249. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8250. path.close();
  8251. SkPath path1(path);
  8252. path.reset();
  8253. path.setFillType((SkPath::FillType) 0);
  8254. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8255. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8256. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8257. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8258. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8259. path.close();
  8260. SkPath path2(path);
  8261. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8262. }
  8263. // op end success 1
  8264. static void battleOp330(skiatest::Reporter* reporter, const char* filename) {
  8265. SkPath path;
  8266. path.setFillType((SkPath::FillType) 1);
  8267. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8268. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8269. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8270. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8271. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8272. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8273. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8274. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8275. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8276. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8277. path.close();
  8278. SkPath path1(path);
  8279. path.reset();
  8280. path.setFillType((SkPath::FillType) 0);
  8281. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8282. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8283. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8284. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8285. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8286. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8287. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8288. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8289. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8290. path.close();
  8291. SkPath path2(path);
  8292. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8293. }
  8294. // op end success 1
  8295. static void battleOp331(skiatest::Reporter* reporter, const char* filename) {
  8296. SkPath path;
  8297. path.setFillType((SkPath::FillType) 0);
  8298. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8299. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8300. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8301. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8302. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8303. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8304. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8305. path.close();
  8306. SkPath path1(path);
  8307. path.reset();
  8308. path.setFillType((SkPath::FillType) 0);
  8309. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8310. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8311. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8312. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8313. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8314. path.close();
  8315. SkPath path2(path);
  8316. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8317. }
  8318. // op end success 1
  8319. static void battleOp332(skiatest::Reporter* reporter, const char* filename) {
  8320. SkPath path;
  8321. path.setFillType((SkPath::FillType) 1);
  8322. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8323. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8324. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8325. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8326. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8327. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8328. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8329. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8330. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8331. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8332. path.close();
  8333. SkPath path1(path);
  8334. path.reset();
  8335. path.setFillType((SkPath::FillType) 0);
  8336. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8337. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8338. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8339. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8340. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8341. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8342. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8343. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8344. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8345. path.close();
  8346. SkPath path2(path);
  8347. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8348. }
  8349. // op end success 1
  8350. static void battleOp333(skiatest::Reporter* reporter, const char* filename) {
  8351. SkPath path;
  8352. path.setFillType((SkPath::FillType) 0);
  8353. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8354. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8355. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8356. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8357. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8358. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8359. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8360. path.close();
  8361. SkPath path1(path);
  8362. path.reset();
  8363. path.setFillType((SkPath::FillType) 0);
  8364. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8365. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8366. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8367. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8368. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8369. path.close();
  8370. SkPath path2(path);
  8371. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8372. }
  8373. // op end success 1
  8374. static void battleOp334(skiatest::Reporter* reporter, const char* filename) {
  8375. SkPath path;
  8376. path.setFillType((SkPath::FillType) 1);
  8377. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8378. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8379. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8380. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8381. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8382. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8383. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8384. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8385. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8386. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8387. path.close();
  8388. SkPath path1(path);
  8389. path.reset();
  8390. path.setFillType((SkPath::FillType) 0);
  8391. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8392. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8393. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8394. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8395. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8396. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8397. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8398. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8399. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8400. path.close();
  8401. SkPath path2(path);
  8402. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8403. }
  8404. // op end success 1
  8405. static void battleOp335(skiatest::Reporter* reporter, const char* filename) {
  8406. SkPath path;
  8407. path.setFillType((SkPath::FillType) 0);
  8408. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8409. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8410. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8411. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8412. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8413. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8414. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8415. path.close();
  8416. SkPath path1(path);
  8417. path.reset();
  8418. path.setFillType((SkPath::FillType) 0);
  8419. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8420. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8421. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8422. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8423. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8424. path.close();
  8425. SkPath path2(path);
  8426. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8427. }
  8428. // op end success 1
  8429. static void battleOp336(skiatest::Reporter* reporter, const char* filename) {
  8430. SkPath path;
  8431. path.setFillType((SkPath::FillType) 1);
  8432. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8433. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8434. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8435. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8436. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8437. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8438. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8439. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8440. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8441. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8442. path.close();
  8443. SkPath path1(path);
  8444. path.reset();
  8445. path.setFillType((SkPath::FillType) 0);
  8446. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8447. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8448. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8449. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8450. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8451. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8452. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8453. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8454. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8455. path.close();
  8456. SkPath path2(path);
  8457. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8458. }
  8459. // op end success 1
  8460. static void battleOp337(skiatest::Reporter* reporter, const char* filename) {
  8461. SkPath path;
  8462. path.setFillType((SkPath::FillType) 0);
  8463. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8464. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8465. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8466. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8467. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8468. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8469. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8470. path.close();
  8471. SkPath path1(path);
  8472. path.reset();
  8473. path.setFillType((SkPath::FillType) 0);
  8474. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8475. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8476. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8477. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8478. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8479. path.close();
  8480. SkPath path2(path);
  8481. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8482. }
  8483. // op end success 1
  8484. static void battleOp338(skiatest::Reporter* reporter, const char* filename) {
  8485. SkPath path;
  8486. path.setFillType((SkPath::FillType) 1);
  8487. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8488. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8489. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8490. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8491. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8492. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8493. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8494. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8495. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8496. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8497. path.close();
  8498. SkPath path1(path);
  8499. path.reset();
  8500. path.setFillType((SkPath::FillType) 0);
  8501. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8502. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8503. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8504. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8505. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8506. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8507. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8508. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8509. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8510. path.close();
  8511. SkPath path2(path);
  8512. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8513. }
  8514. // op end success 1
  8515. static void battleOp339(skiatest::Reporter* reporter, const char* filename) {
  8516. SkPath path;
  8517. path.setFillType((SkPath::FillType) 0);
  8518. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8519. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8520. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8521. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8522. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8523. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8524. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8525. path.close();
  8526. SkPath path1(path);
  8527. path.reset();
  8528. path.setFillType((SkPath::FillType) 0);
  8529. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8530. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8531. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8532. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8533. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8534. path.close();
  8535. SkPath path2(path);
  8536. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8537. }
  8538. // op end success 1
  8539. static void battleOp340(skiatest::Reporter* reporter, const char* filename) {
  8540. SkPath path;
  8541. path.setFillType((SkPath::FillType) 1);
  8542. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8543. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8544. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8545. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8546. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8547. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8548. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8549. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8550. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8551. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8552. path.close();
  8553. SkPath path1(path);
  8554. path.reset();
  8555. path.setFillType((SkPath::FillType) 0);
  8556. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8557. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8558. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8559. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8560. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8561. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8562. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8563. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8564. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8565. path.close();
  8566. SkPath path2(path);
  8567. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8568. }
  8569. // op end success 1
  8570. static void battleOp341(skiatest::Reporter* reporter, const char* filename) {
  8571. SkPath path;
  8572. path.setFillType((SkPath::FillType) 0);
  8573. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8574. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8575. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8576. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8577. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8578. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8579. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8580. path.close();
  8581. SkPath path1(path);
  8582. path.reset();
  8583. path.setFillType((SkPath::FillType) 0);
  8584. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8585. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8586. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8587. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8588. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8589. path.close();
  8590. SkPath path2(path);
  8591. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8592. }
  8593. // op end success 1
  8594. static void battleOp342(skiatest::Reporter* reporter, const char* filename) {
  8595. SkPath path;
  8596. path.setFillType((SkPath::FillType) 1);
  8597. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8598. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8599. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8600. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8601. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8602. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8603. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8604. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8605. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8606. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8607. path.close();
  8608. SkPath path1(path);
  8609. path.reset();
  8610. path.setFillType((SkPath::FillType) 0);
  8611. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8612. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8613. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8614. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8615. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8616. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8617. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8618. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8619. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8620. path.close();
  8621. SkPath path2(path);
  8622. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8623. }
  8624. // op end success 1
  8625. static void battleOp343(skiatest::Reporter* reporter, const char* filename) {
  8626. SkPath path;
  8627. path.setFillType((SkPath::FillType) 0);
  8628. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8629. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8630. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8631. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8632. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8633. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8634. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8635. path.close();
  8636. SkPath path1(path);
  8637. path.reset();
  8638. path.setFillType((SkPath::FillType) 0);
  8639. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8640. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8641. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8642. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8643. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8644. path.close();
  8645. SkPath path2(path);
  8646. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8647. }
  8648. // op end success 1
  8649. static void battleOp344(skiatest::Reporter* reporter, const char* filename) {
  8650. SkPath path;
  8651. path.setFillType((SkPath::FillType) 1);
  8652. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8653. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8654. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8655. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8656. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8657. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8658. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8659. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8660. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8661. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8662. path.close();
  8663. SkPath path1(path);
  8664. path.reset();
  8665. path.setFillType((SkPath::FillType) 0);
  8666. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8667. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8668. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8669. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8670. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8671. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8672. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8673. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8674. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8675. path.close();
  8676. SkPath path2(path);
  8677. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8678. }
  8679. // op end success 1
  8680. static void battleOp345(skiatest::Reporter* reporter, const char* filename) {
  8681. SkPath path;
  8682. path.setFillType((SkPath::FillType) 0);
  8683. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8684. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8685. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8686. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8687. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8688. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8689. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8690. path.close();
  8691. SkPath path1(path);
  8692. path.reset();
  8693. path.setFillType((SkPath::FillType) 0);
  8694. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8695. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8696. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8697. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8698. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8699. path.close();
  8700. SkPath path2(path);
  8701. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8702. }
  8703. // op end success 1
  8704. static void battleOp346(skiatest::Reporter* reporter, const char* filename) {
  8705. SkPath path;
  8706. path.setFillType((SkPath::FillType) 1);
  8707. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8708. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8709. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8710. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8711. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8712. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8713. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8714. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8715. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8716. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8717. path.close();
  8718. SkPath path1(path);
  8719. path.reset();
  8720. path.setFillType((SkPath::FillType) 0);
  8721. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8722. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8723. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8724. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8725. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8726. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8727. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8728. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8729. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8730. path.close();
  8731. SkPath path2(path);
  8732. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8733. }
  8734. // op end success 1
  8735. static void battleOp347(skiatest::Reporter* reporter, const char* filename) {
  8736. SkPath path;
  8737. path.setFillType((SkPath::FillType) 0);
  8738. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8739. path.cubicTo(SkBits2Float(0x3d570205), SkBits2Float(0xc2a60000), SkBits2Float(0x3dd7026d), SkBits2Float(0xc2a5fffa), SkBits2Float(0x3e2141e6), SkBits2Float(0xc2a5ffed));
  8740. path.lineTo(SkBits2Float(0x3de92565), SkBits2Float(0xc26fffe4));
  8741. path.cubicTo(SkBits2Float(0x3d9b6fac), SkBits2Float(0xc26ffff9), SkBits2Float(0x3d1b715b), SkBits2Float(0xc2700002), SkBits2Float(0x365677c0), SkBits2Float(0xc2700002));
  8742. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8743. path.close();
  8744. SkPath path1(path);
  8745. path.reset();
  8746. path.setFillType((SkPath::FillType) 0);
  8747. path.moveTo(SkBits2Float(0x3e214267), SkBits2Float(0xc2a5ffec));
  8748. path.cubicTo(SkBits2Float(0x3e26a1f2), SkBits2Float(0xc2a5ffeb), SkBits2Float(0x3e2c025b), SkBits2Float(0xc2a5ffe9), SkBits2Float(0x3e3162c6), SkBits2Float(0xc2a5ffe7));
  8749. path.lineTo(SkBits2Float(0x3e003af5), SkBits2Float(0xc26fffde));
  8750. path.cubicTo(SkBits2Float(0x3df8b0d2), SkBits2Float(0xc26fffe0), SkBits2Float(0x3df0ead2), SkBits2Float(0xc26fffe2), SkBits2Float(0x3de924d4), SkBits2Float(0xc26fffe4));
  8751. path.lineTo(SkBits2Float(0x3e214267), SkBits2Float(0xc2a5ffec));
  8752. path.close();
  8753. SkPath path2(path);
  8754. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8755. }
  8756. // op end success 1
  8757. static void battleOp348(skiatest::Reporter* reporter, const char* filename) {
  8758. SkPath path;
  8759. path.setFillType((SkPath::FillType) 1);
  8760. path.moveTo(SkBits2Float(0x365677c0), SkBits2Float(0xc2700002));
  8761. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8762. path.cubicTo(SkBits2Float(0x3d570205), SkBits2Float(0xc2a60000), SkBits2Float(0x3dd7026d), SkBits2Float(0xc2a5fffa), SkBits2Float(0x3e2141e6), SkBits2Float(0xc2a5ffed));
  8763. path.lineTo(SkBits2Float(0x3e0492ca), SkBits2Float(0xc28878a2));
  8764. path.lineTo(SkBits2Float(0x3e214267), SkBits2Float(0xc2a5ffec));
  8765. path.cubicTo(SkBits2Float(0x3e26a1f2), SkBits2Float(0xc2a5ffeb), SkBits2Float(0x3e2c025b), SkBits2Float(0xc2a5ffe9), SkBits2Float(0x3e3162c6), SkBits2Float(0xc2a5ffe7));
  8766. path.lineTo(SkBits2Float(0x3e003af5), SkBits2Float(0xc26fffde));
  8767. path.lineTo(SkBits2Float(0x3de92565), SkBits2Float(0xc26fffe4));
  8768. path.lineTo(SkBits2Float(0x3de924d4), SkBits2Float(0xc26fffe4));
  8769. path.cubicTo(SkBits2Float(0x3d9b6f4b), SkBits2Float(0xc26ffff9), SkBits2Float(0x3d1b70fa), SkBits2Float(0xc2700002), SkBits2Float(0x365677c0), SkBits2Float(0xc2700002));
  8770. path.close();
  8771. SkPath path1(path);
  8772. path.reset();
  8773. path.setFillType((SkPath::FillType) 0);
  8774. path.moveTo(SkBits2Float(0x3e3162a4), SkBits2Float(0xc2a5ffe8));
  8775. path.cubicTo(SkBits2Float(0x3e843f51), SkBits2Float(0xc2a5ffd1), SkBits2Float(0x3eafcce9), SkBits2Float(0xc2a5ffa8), SkBits2Float(0x3edb5a6f), SkBits2Float(0xc2a5ff6f));
  8776. path.lineTo(SkBits2Float(0x3e9e9160), SkBits2Float(0xc26fff2e));
  8777. path.cubicTo(SkBits2Float(0x3e7e2aec), SkBits2Float(0xc26fff82), SkBits2Float(0x3e3f3306), SkBits2Float(0xc26fffbd), SkBits2Float(0x3e003b0e), SkBits2Float(0xc26fffdf));
  8778. path.lineTo(SkBits2Float(0x3e3162a4), SkBits2Float(0xc2a5ffe8));
  8779. path.close();
  8780. SkPath path2(path);
  8781. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8782. }
  8783. // op end success 1
  8784. static void battleOp349(skiatest::Reporter* reporter, const char* filename) {
  8785. SkPath path;
  8786. path.setFillType((SkPath::FillType) 0);
  8787. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8788. path.cubicTo(SkBits2Float(0x3e678fda), SkBits2Float(0xc2a60000), SkBits2Float(0x3ee78f7d), SkBits2Float(0xc2a5ff87), SkBits2Float(0x3f2dab18), SkBits2Float(0xc2a5fe96));
  8789. path.lineTo(SkBits2Float(0x3efb15d4), SkBits2Float(0xc26ffdf3));
  8790. path.cubicTo(SkBits2Float(0x3ea764ab), SkBits2Float(0xc26fff52), SkBits2Float(0x3e2764f3), SkBits2Float(0xc2700000), SkBits2Float(0x35c73da0), SkBits2Float(0xc2700000));
  8791. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8792. path.close();
  8793. SkPath path1(path);
  8794. path.reset();
  8795. path.setFillType((SkPath::FillType) 0);
  8796. path.moveTo(SkBits2Float(0x3f2daad3), SkBits2Float(0xc2a5fe95));
  8797. path.cubicTo(SkBits2Float(0x3f3374d8), SkBits2Float(0xc2a5fe7b), SkBits2Float(0x3f393eae), SkBits2Float(0xc2a5fe62), SkBits2Float(0x3f3f0885), SkBits2Float(0xc2a5fe46));
  8798. path.lineTo(SkBits2Float(0x3f0a18b8), SkBits2Float(0xc26ffd84));
  8799. path.cubicTo(SkBits2Float(0x3f05e964), SkBits2Float(0xc26ffdad), SkBits2Float(0x3f01ba2f), SkBits2Float(0xc26ffdd1), SkBits2Float(0x3efb15f0), SkBits2Float(0xc26ffdf5));
  8800. path.lineTo(SkBits2Float(0x3f2daad3), SkBits2Float(0xc2a5fe95));
  8801. path.close();
  8802. SkPath path2(path);
  8803. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8804. }
  8805. // op end success 1
  8806. static void battleOp350(skiatest::Reporter* reporter, const char* filename) {
  8807. SkPath path;
  8808. path.setFillType((SkPath::FillType) 1);
  8809. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8810. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8811. path.cubicTo(SkBits2Float(0x3e678fda), SkBits2Float(0xc2a60000), SkBits2Float(0x3ee78f7d), SkBits2Float(0xc2a5ff87), SkBits2Float(0x3f2dab18), SkBits2Float(0xc2a5fe96));
  8812. path.cubicTo(SkBits2Float(0x3f3374d8), SkBits2Float(0xc2a5fe7b), SkBits2Float(0x3f393eae), SkBits2Float(0xc2a5fe62), SkBits2Float(0x3f3f0885), SkBits2Float(0xc2a5fe46));
  8813. path.lineTo(SkBits2Float(0x3f0a18b8), SkBits2Float(0xc26ffd84));
  8814. path.cubicTo(SkBits2Float(0x3f05e964), SkBits2Float(0xc26ffdad), SkBits2Float(0x3f01ba2f), SkBits2Float(0xc26ffdd1), SkBits2Float(0x3efb15f0), SkBits2Float(0xc26ffdf5));
  8815. path.lineTo(SkBits2Float(0x3efb15d4), SkBits2Float(0xc26ffdf3));
  8816. path.cubicTo(SkBits2Float(0x3ea764ab), SkBits2Float(0xc26fff52), SkBits2Float(0x3e2764f3), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8817. path.close();
  8818. SkPath path1(path);
  8819. path.reset();
  8820. path.setFillType((SkPath::FillType) 0);
  8821. path.moveTo(SkBits2Float(0x3f3f0899), SkBits2Float(0xc2a5fe48));
  8822. path.cubicTo(SkBits2Float(0x3f8e6b81), SkBits2Float(0xc2a5fc98), SkBits2Float(0x3fbd51fb), SkBits2Float(0xc2a5f9aa), SkBits2Float(0x3fec36d3), SkBits2Float(0xc2a5f57e));
  8823. path.lineTo(SkBits2Float(0x3faac1d7), SkBits2Float(0xc26ff0d0));
  8824. path.cubicTo(SkBits2Float(0x3f88dbac), SkBits2Float(0xc26ff6d7), SkBits2Float(0x3f4de8bb), SkBits2Float(0xc26ffb13), SkBits2Float(0x3f0a18e7), SkBits2Float(0xc26ffd83));
  8825. path.lineTo(SkBits2Float(0x3f3f0899), SkBits2Float(0xc2a5fe48));
  8826. path.close();
  8827. SkPath path2(path);
  8828. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8829. }
  8830. // op end success 1
  8831. static void battleOp351(skiatest::Reporter* reporter, const char* filename) {
  8832. SkPath path;
  8833. path.setFillType((SkPath::FillType) 0);
  8834. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8835. path.cubicTo(SkBits2Float(0x403f62fc), SkBits2Float(0xc2a60000), SkBits2Float(0x40bf510b), SkBits2Float(0xc2a5ad41), SkBits2Float(0x410f39cc), SkBits2Float(0xc2a50821));
  8836. path.lineTo(SkBits2Float(0x40cf12cc), SkBits2Float(0xc26e99a0));
  8837. path.cubicTo(SkBits2Float(0x408a4d18), SkBits2Float(0xc26f885f), SkBits2Float(0x400a5a13), SkBits2Float(0xc2700000), SkBits2Float(0x36a6ff52), SkBits2Float(0xc2700000));
  8838. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8839. path.close();
  8840. SkPath path1(path);
  8841. path.reset();
  8842. path.setFillType((SkPath::FillType) 0);
  8843. path.moveTo(SkBits2Float(0x410f39cd), SkBits2Float(0xc2a50820));
  8844. path.cubicTo(SkBits2Float(0x4113fb3b), SkBits2Float(0xc2a4f79d), SkBits2Float(0x4118bbf1), SkBits2Float(0xc2a4e648), SkBits2Float(0x411d7be1), SkBits2Float(0xc2a4d421));
  8845. path.lineTo(SkBits2Float(0x40e3b008), SkBits2Float(0xc26e4e75));
  8846. path.cubicTo(SkBits2Float(0x40dcd206), SkBits2Float(0xc26e68b4), SkBits2Float(0x40d5f2eb), SkBits2Float(0xc26e81c3), SkBits2Float(0x40cf12c6), SkBits2Float(0xc26e99a1));
  8847. path.lineTo(SkBits2Float(0x410f39cd), SkBits2Float(0xc2a50820));
  8848. path.close();
  8849. SkPath path2(path);
  8850. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8851. }
  8852. static void battleOp352(skiatest::Reporter* reporter, const char* filename) {
  8853. SkPath path;
  8854. path.setFillType((SkPath::FillType) 1);
  8855. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8856. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8857. path.cubicTo(SkBits2Float(0x3e0b17a8), SkBits2Float(0xc2a60000), SkBits2Float(0x3e8b179e), SkBits2Float(0xc2a5ffd4), SkBits2Float(0x3ed0a337), SkBits2Float(0xc2a5ff7c));
  8858. path.lineTo(SkBits2Float(0x3ed0a338), SkBits2Float(0xc2a5ff7d));
  8859. path.cubicTo(SkBits2Float(0x3ed797a0), SkBits2Float(0xc2a5ff73), SkBits2Float(0x3ede8c36), SkBits2Float(0xc2a5ff6a), SkBits2Float(0x3ee580cb), SkBits2Float(0xc2a5ff60));
  8860. path.lineTo(SkBits2Float(0x3ea5e78a), SkBits2Float(0xc26fff1b));
  8861. path.cubicTo(SkBits2Float(0x3ea0e0bb), SkBits2Float(0xc26fff29), SkBits2Float(0x3e9bd9a1), SkBits2Float(0xc26fff36), SkBits2Float(0x3e96d286), SkBits2Float(0xc26fff43));
  8862. path.lineTo(SkBits2Float(0x3e96d285), SkBits2Float(0xc26fff42));
  8863. path.cubicTo(SkBits2Float(0x3e491945), SkBits2Float(0xc26fffc2), SkBits2Float(0x3dc91958), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8864. path.close();
  8865. SkPath path1(path);
  8866. path.reset();
  8867. path.setFillType((SkPath::FillType) 0);
  8868. path.moveTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  8869. path.cubicTo(SkBits2Float(0x3f2b1987), SkBits2Float(0xc2a5fec4), SkBits2Float(0x3f637253), SkBits2Float(0xc2a5fdb6), SkBits2Float(0x3f8de535), SkBits2Float(0xc2a5fc35));
  8870. path.lineTo(SkBits2Float(0x3f4d269a), SkBits2Float(0xc26ffa85));
  8871. path.cubicTo(SkBits2Float(0x3f246b51), SkBits2Float(0xc26ffcb3), SkBits2Float(0x3ef75f30), SkBits2Float(0xc26ffe3a), SkBits2Float(0x3ea5e737), SkBits2Float(0xc26fff1c));
  8872. path.lineTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  8873. path.close();
  8874. SkPath path2(path);
  8875. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8876. }
  8877. static void battleOp1390(skiatest::Reporter* reporter, const char* filename) {
  8878. SkPath path;
  8879. path.setFillType((SkPath::FillType) 1);
  8880. path.moveTo(SkBits2Float(0xb7240057), SkBits2Float(0xc2700000));
  8881. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8882. path.cubicTo(SkBits2Float(0x420377ff), SkBits2Float(0xc2a5ffff), SkBits2Float(0x427a8dc0), SkBits2Float(0xc27e6c2f), SkBits2Float(0x4297d760), SkBits2Float(0xc2062ad2));
  8883. path.cubicTo(SkBits2Float(0x42b267e1), SkBits2Float(0xc05e974f), SkBits2Float(0x42a6fcda), SkBits2Float(0x41fcbb92), SkBits2Float(0x42757289), SkBits2Float(0x425f8fa5));
  8884. path.cubicTo(SkBits2Float(0x426437a0), SkBits2Float(0x42727a5f), SkBits2Float(0x4250dbaa), SkBits2Float(0x4281ab79), SkBits2Float(0x423bc155), SkBits2Float(0x4288e7b2));
  8885. path.lineTo(SkBits2Float(0x4207ba06), SkBits2Float(0x4245ef5e));
  8886. path.cubicTo(SkBits2Float(0x4216fb52), SkBits2Float(0x423b7973), SkBits2Float(0x4224f9f2), SkBits2Float(0x422f490a), SkBits2Float(0x42316e8e), SkBits2Float(0x42219c46));
  8887. path.cubicTo(SkBits2Float(0x42716d91), SkBits2Float(0x41b6b2c9), SkBits2Float(0x4280f7d1), SkBits2Float(0xc020e8c8), SkBits2Float(0x425b8794), SkBits2Float(0xc1c1fa0e));
  8888. path.cubicTo(SkBits2Float(0x42351f87), SkBits2Float(0xc237eb83), SkBits2Float(0x41be1342), SkBits2Float(0xc2700002), SkBits2Float(0xb7240057), SkBits2Float(0xc2700000));
  8889. path.close();
  8890. SkPath path1(path);
  8891. path.reset();
  8892. path.setFillType((SkPath::FillType) 0);
  8893. path.moveTo(SkBits2Float(0x423bc156), SkBits2Float(0x4288e7b2));
  8894. path.cubicTo(SkBits2Float(0x418c1984), SkBits2Float(0x42b142da), SkBits2Float(0xc1ac2314), SkBits2Float(0x42af7d21), SkBits2Float(0xc247fd43), SkBits2Float(0x428480ce));
  8895. path.cubicTo(SkBits2Float(0xc29cf47f), SkBits2Float(0x423308f3), SkBits2Float(0xc2b411dd), SkBits2Float(0x40ef0242), SkBits2Float(0xc29d6757), SkBits2Float(0xc1d2e807));
  8896. path.cubicTo(SkBits2Float(0xc286bcd2), SkBits2Float(0xc270c84c), SkBits2Float(0xc20eb9e2), SkBits2Float(0xc2a5ffaa), SkBits2Float(0xbac6f0ca), SkBits2Float(0xc2a5ffff));
  8897. path.lineTo(SkBits2Float(0xba901698), SkBits2Float(0xc2700000));
  8898. path.cubicTo(SkBits2Float(0xc1ce59d7), SkBits2Float(0xc26fff83), SkBits2Float(0xc242cd21), SkBits2Float(0xc22e0f3f), SkBits2Float(0xc263924f), SkBits2Float(0xc1987661));
  8899. path.cubicTo(SkBits2Float(0xc2822bbf), SkBits2Float(0x40acc6fd), SkBits2Float(0xc262ec43), SkBits2Float(0x42016c3b), SkBits2Float(0xc2109210), SkBits2Float(0x423f921c));
  8900. path.cubicTo(SkBits2Float(0xc178df72), SkBits2Float(0x427db7fc), SkBits2Float(0x414a8dba), SkBits2Float(0x428023fd), SkBits2Float(0x4207ba05), SkBits2Float(0x4245ef60));
  8901. path.lineTo(SkBits2Float(0x423bc156), SkBits2Float(0x4288e7b2));
  8902. path.close();
  8903. SkPath path2(path);
  8904. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8905. }
  8906. // op end success 1
  8907. static void battleOp1391(skiatest::Reporter* reporter, const char* filename) {
  8908. SkPath path;
  8909. path.setFillType((SkPath::FillType) 0);
  8910. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8911. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8912. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8913. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8914. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8915. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  8916. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8917. path.close();
  8918. SkPath path1(path);
  8919. path.reset();
  8920. path.setFillType((SkPath::FillType) 0);
  8921. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8922. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8923. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8924. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8925. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  8926. path.close();
  8927. SkPath path2(path);
  8928. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8929. }
  8930. // op end success 1
  8931. static void battleOp1392(skiatest::Reporter* reporter, const char* filename) {
  8932. SkPath path;
  8933. path.setFillType((SkPath::FillType) 1);
  8934. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8935. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8936. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  8937. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  8938. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8939. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8940. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  8941. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  8942. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  8943. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  8944. path.close();
  8945. SkPath path1(path);
  8946. path.reset();
  8947. path.setFillType((SkPath::FillType) 0);
  8948. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8949. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  8950. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  8951. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  8952. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  8953. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  8954. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  8955. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  8956. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  8957. path.close();
  8958. SkPath path2(path);
  8959. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8960. }
  8961. // op end success 1
  8962. static void battleOp1393(skiatest::Reporter* reporter, const char* filename) {
  8963. SkPath path;
  8964. path.setFillType((SkPath::FillType) 0);
  8965. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8966. path.cubicTo(SkBits2Float(0x3c436965), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3cc36072), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d128619), SkBits2Float(0xc2a5fffe));
  8967. path.lineTo(SkBits2Float(0x3cd3db06), SkBits2Float(0xc26fffff));
  8968. path.cubicTo(SkBits2Float(0x3c8d3d03), SkBits2Float(0xc2700000), SkBits2Float(0x3c0d4407), SkBits2Float(0xc2700000), SkBits2Float(0x36606a00), SkBits2Float(0xc2700000));
  8969. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  8970. path.close();
  8971. SkPath path1(path);
  8972. path.reset();
  8973. path.setFillType((SkPath::FillType) 0);
  8974. path.moveTo(SkBits2Float(0x3d12888d), SkBits2Float(0xc2a5ffff));
  8975. path.cubicTo(SkBits2Float(0x3d176d55), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d1c4dcb), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d212e40), SkBits2Float(0xc2a5ffff));
  8976. path.lineTo(SkBits2Float(0x3ce90a84), SkBits2Float(0xc26ffffe));
  8977. path.cubicTo(SkBits2Float(0x3ce1ffb6), SkBits2Float(0xc26ffffe), SkBits2Float(0x3cdaedb6), SkBits2Float(0xc26fffff), SkBits2Float(0x3cd3dbb7), SkBits2Float(0xc26fffff));
  8978. path.lineTo(SkBits2Float(0x3d12888d), SkBits2Float(0xc2a5ffff));
  8979. path.close();
  8980. SkPath path2(path);
  8981. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  8982. }
  8983. // op end success 1
  8984. static void battleOp1394(skiatest::Reporter* reporter, const char* filename) {
  8985. SkPath path;
  8986. path.setFillType((SkPath::FillType) 1);
  8987. path.moveTo(SkBits2Float(0x36606a00), SkBits2Float(0xc2700000));
  8988. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  8989. path.cubicTo(SkBits2Float(0x3c436965), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3cc36072), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d128619), SkBits2Float(0xc2a5fffe));
  8990. path.lineTo(SkBits2Float(0x3d12888d), SkBits2Float(0xc2a5ffff));
  8991. path.lineTo(SkBits2Float(0x3d212e40), SkBits2Float(0xc2a5ffff));
  8992. path.lineTo(SkBits2Float(0x3ce90a84), SkBits2Float(0xc26ffffe));
  8993. path.cubicTo(SkBits2Float(0x3ce1ffb6), SkBits2Float(0xc26ffffe), SkBits2Float(0x3cdaedb6), SkBits2Float(0xc26fffff), SkBits2Float(0x3cd3db06), SkBits2Float(0xc26fffff));
  8994. path.cubicTo(SkBits2Float(0x3c8d3d03), SkBits2Float(0xc2700000), SkBits2Float(0x3c0d4407), SkBits2Float(0xc2700000), SkBits2Float(0x36606a00), SkBits2Float(0xc2700000));
  8995. path.close();
  8996. SkPath path1(path);
  8997. path.reset();
  8998. path.setFillType((SkPath::FillType) 0);
  8999. path.moveTo(SkBits2Float(0x3d212fd0), SkBits2Float(0xc2a5ffff));
  9000. path.cubicTo(SkBits2Float(0x3d705530), SkBits2Float(0xc2a5fffe), SkBits2Float(0x3d9fbf82), SkBits2Float(0xc2a5fffc), SkBits2Float(0x3dc7546b), SkBits2Float(0xc2a5fffa));
  9001. path.lineTo(SkBits2Float(0x3d901696), SkBits2Float(0xc26ffff5));
  9002. path.cubicTo(SkBits2Float(0x3d66f230), SkBits2Float(0xc26ffff9), SkBits2Float(0x3d2dbab1), SkBits2Float(0xc26ffffc), SkBits2Float(0x3ce90664), SkBits2Float(0xc26ffffe));
  9003. path.lineTo(SkBits2Float(0x3d212fd0), SkBits2Float(0xc2a5ffff));
  9004. path.close();
  9005. SkPath path2(path);
  9006. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9007. }
  9008. // op end success 1
  9009. static void battleOp1395(skiatest::Reporter* reporter, const char* filename) {
  9010. SkPath path;
  9011. path.setFillType((SkPath::FillType) 0);
  9012. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9013. path.cubicTo(SkBits2Float(0x3e06023f), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e860192), SkBits2Float(0xc2a5ffd6), SkBits2Float(0x3ec901db), SkBits2Float(0xc2a5ff85));
  9014. path.lineTo(SkBits2Float(0x3e914e16), SkBits2Float(0xc26fff50));
  9015. path.cubicTo(SkBits2Float(0x3e41bddf), SkBits2Float(0xc26fffc5), SkBits2Float(0x3dc1be4c), SkBits2Float(0xc26fffff), SkBits2Float(0x35c55da0), SkBits2Float(0xc26fffff));
  9016. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9017. path.close();
  9018. SkPath path1(path);
  9019. path.reset();
  9020. path.setFillType((SkPath::FillType) 0);
  9021. path.moveTo(SkBits2Float(0x3ec9015b), SkBits2Float(0xc2a5ff86));
  9022. path.cubicTo(SkBits2Float(0x3ecfb4f0), SkBits2Float(0xc2a5ff7d), SkBits2Float(0x3ed66842), SkBits2Float(0xc2a5ff75), SkBits2Float(0x3edd1b92), SkBits2Float(0xc2a5ff6c));
  9023. path.lineTo(SkBits2Float(0x3e9fd5de), SkBits2Float(0xc26fff2b));
  9024. path.cubicTo(SkBits2Float(0x3e9afe3a), SkBits2Float(0xc26fff39), SkBits2Float(0x3e96263d), SkBits2Float(0xc26fff45), SkBits2Float(0x3e914e41), SkBits2Float(0xc26fff51));
  9025. path.lineTo(SkBits2Float(0x3ec9015b), SkBits2Float(0xc2a5ff86));
  9026. path.close();
  9027. SkPath path2(path);
  9028. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9029. }
  9030. // op end success 1
  9031. static void battleOp1396(skiatest::Reporter* reporter, const char* filename) {
  9032. SkPath path;
  9033. path.setFillType((SkPath::FillType) 1);
  9034. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9035. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9036. path.cubicTo(SkBits2Float(0x3e0601e9), SkBits2Float(0xc2a60000), SkBits2Float(0x3e86013c), SkBits2Float(0xc2a5ffd6), SkBits2Float(0x3ec9015a), SkBits2Float(0xc2a5ff85));
  9037. path.lineTo(SkBits2Float(0x3ec9015b), SkBits2Float(0xc2a5ff86));
  9038. path.cubicTo(SkBits2Float(0x3ecfb4f0), SkBits2Float(0xc2a5ff7d), SkBits2Float(0x3ed66842), SkBits2Float(0xc2a5ff75), SkBits2Float(0x3edd1b92), SkBits2Float(0xc2a5ff6c));
  9039. path.lineTo(SkBits2Float(0x3e9fd5de), SkBits2Float(0xc26fff2b));
  9040. path.cubicTo(SkBits2Float(0x3e9afe3a), SkBits2Float(0xc26fff39), SkBits2Float(0x3e96263d), SkBits2Float(0xc26fff45), SkBits2Float(0x3e914e16), SkBits2Float(0xc26fff50));
  9041. path.cubicTo(SkBits2Float(0x3e41bddf), SkBits2Float(0xc26fffc5), SkBits2Float(0x3dc1be4c), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9042. path.close();
  9043. SkPath path1(path);
  9044. path.reset();
  9045. path.setFillType((SkPath::FillType) 0);
  9046. path.moveTo(SkBits2Float(0x3edd1b0d), SkBits2Float(0xc2a5ff6d));
  9047. path.cubicTo(SkBits2Float(0x3f24d70e), SkBits2Float(0xc2a5fedc), SkBits2Float(0x3f5b204e), SkBits2Float(0xc2a5fde1), SkBits2Float(0x3f88b475), SkBits2Float(0xc2a5fc7b));
  9048. path.lineTo(SkBits2Float(0x3f45a57e), SkBits2Float(0xc26ffaea));
  9049. path.cubicTo(SkBits2Float(0x3f1e67a6), SkBits2Float(0xc26ffcf1), SkBits2Float(0x3eee52e7), SkBits2Float(0xc26ffe5c), SkBits2Float(0x3e9fd606), SkBits2Float(0xc26fff2d));
  9050. path.lineTo(SkBits2Float(0x3edd1b0d), SkBits2Float(0xc2a5ff6d));
  9051. path.close();
  9052. SkPath path2(path);
  9053. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9054. }
  9055. static void battleOp2193(skiatest::Reporter* reporter, const char* filename) {
  9056. SkPath path;
  9057. path.setFillType((SkPath::FillType) 0);
  9058. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9059. path.cubicTo(SkBits2Float(0x3e3881bc), SkBits2Float(0xc2a60000), SkBits2Float(0x3eb88238), SkBits2Float(0xc2a5ffb3), SkBits2Float(0x3f0a6190), SkBits2Float(0xc2a5ff19));
  9060. path.lineTo(SkBits2Float(0x3ec8119b), SkBits2Float(0xc26ffeb2));
  9061. path.cubicTo(SkBits2Float(0x3e856151), SkBits2Float(0xc26fff91), SkBits2Float(0x3e0561b2), SkBits2Float(0xc2700000), SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9062. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9063. path.close();
  9064. SkPath path1(path);
  9065. path.reset();
  9066. path.setFillType((SkPath::FillType) 0);
  9067. path.moveTo(SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9068. path.cubicTo(SkBits2Float(0x3f0efe46), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f139b44), SkBits2Float(0xc2a5fef9), SkBits2Float(0x3f183842), SkBits2Float(0xc2a5fee9));
  9069. path.lineTo(SkBits2Float(0x3edc1349), SkBits2Float(0xc26ffe6c));
  9070. path.cubicTo(SkBits2Float(0x3ed567f5), SkBits2Float(0xc26ffe84), SkBits2Float(0x3ecebccf), SkBits2Float(0xc26ffe9c), SkBits2Float(0x3ec811a8), SkBits2Float(0xc26ffeb2));
  9071. path.lineTo(SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9072. path.close();
  9073. SkPath path2(path);
  9074. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9075. }
  9076. // op end success 1
  9077. static void battleOp2194(skiatest::Reporter* reporter, const char* filename) {
  9078. SkPath path;
  9079. path.setFillType((SkPath::FillType) 1);
  9080. path.moveTo(SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9081. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9082. path.cubicTo(SkBits2Float(0x3e3881ab), SkBits2Float(0xc2a60000), SkBits2Float(0x3eb88227), SkBits2Float(0xc2a5ffb3), SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9083. path.lineTo(SkBits2Float(0x3f0a6190), SkBits2Float(0xc2a5ff19));
  9084. path.cubicTo(SkBits2Float(0x3f0efe4f), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f139b48), SkBits2Float(0xc2a5fef9), SkBits2Float(0x3f183842), SkBits2Float(0xc2a5fee9));
  9085. path.lineTo(SkBits2Float(0x3edc1349), SkBits2Float(0xc26ffe6c));
  9086. path.cubicTo(SkBits2Float(0x3ed567f5), SkBits2Float(0xc26ffe84), SkBits2Float(0x3ecebccf), SkBits2Float(0xc26ffe9c), SkBits2Float(0x3ec811a8), SkBits2Float(0xc26ffeb2));
  9087. path.lineTo(SkBits2Float(0x3ec8119b), SkBits2Float(0xc26ffeb2));
  9088. path.cubicTo(SkBits2Float(0x3e856151), SkBits2Float(0xc26fff91), SkBits2Float(0x3e0561b2), SkBits2Float(0xc2700000), SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9089. path.close();
  9090. SkPath path1(path);
  9091. path.reset();
  9092. path.setFillType((SkPath::FillType) 0);
  9093. path.moveTo(SkBits2Float(0x3f183800), SkBits2Float(0xc2a5fee9));
  9094. path.cubicTo(SkBits2Float(0x3f62f7a2), SkBits2Float(0xc2a5fdd7), SkBits2Float(0x3f96db12), SkBits2Float(0xc2a5fbfa), SkBits2Float(0x3fbc3981), SkBits2Float(0xc2a5f954));
  9095. path.lineTo(SkBits2Float(0x3f8810cc), SkBits2Float(0xc26ff65b));
  9096. path.cubicTo(SkBits2Float(0x3f5a1a86), SkBits2Float(0xc26ffa2f), SkBits2Float(0x3f241256), SkBits2Float(0xc26ffcdf), SkBits2Float(0x3edc1312), SkBits2Float(0xc26ffe6c));
  9097. path.lineTo(SkBits2Float(0x3f183800), SkBits2Float(0xc2a5fee9));
  9098. path.close();
  9099. SkPath path2(path);
  9100. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9101. }
  9102. static void battleOp3368(skiatest::Reporter* reporter, const char* filename) {
  9103. SkPath path;
  9104. path.setFillType((SkPath::FillType) 1);
  9105. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9106. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9107. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9108. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9109. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9110. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9111. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9112. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9113. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9114. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9115. path.close();
  9116. SkPath path1(path);
  9117. path.reset();
  9118. path.setFillType((SkPath::FillType) 0);
  9119. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9120. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  9121. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  9122. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  9123. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  9124. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  9125. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  9126. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9127. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9128. path.close();
  9129. SkPath path2(path);
  9130. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9131. }
  9132. // op end success 1
  9133. static void battleOp3369(skiatest::Reporter* reporter, const char* filename) {
  9134. SkPath path;
  9135. path.setFillType((SkPath::FillType) 0);
  9136. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9137. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9138. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9139. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9140. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9141. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  9142. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9143. path.close();
  9144. SkPath path1(path);
  9145. path.reset();
  9146. path.setFillType((SkPath::FillType) 0);
  9147. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9148. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9149. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9150. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9151. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9152. path.close();
  9153. SkPath path2(path);
  9154. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9155. }
  9156. // op end success 1
  9157. static void battleOp3370(skiatest::Reporter* reporter, const char* filename) {
  9158. SkPath path;
  9159. path.setFillType((SkPath::FillType) 1);
  9160. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9161. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9162. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9163. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9164. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9165. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9166. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9167. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9168. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9169. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9170. path.close();
  9171. SkPath path1(path);
  9172. path.reset();
  9173. path.setFillType((SkPath::FillType) 0);
  9174. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9175. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  9176. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  9177. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  9178. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  9179. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  9180. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  9181. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9182. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9183. path.close();
  9184. SkPath path2(path);
  9185. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9186. }
  9187. // op end success 1
  9188. static void battleOp3371(skiatest::Reporter* reporter, const char* filename) {
  9189. SkPath path;
  9190. path.setFillType((SkPath::FillType) 0);
  9191. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9192. path.cubicTo(SkBits2Float(0x3c85f8a2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d05fda5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d48fefa), SkBits2Float(0xc2a5fffd));
  9193. path.lineTo(SkBits2Float(0x3d114e3a), SkBits2Float(0xc26ffffd));
  9194. path.cubicTo(SkBits2Float(0x3cc1c2c0), SkBits2Float(0xc26fffff), SkBits2Float(0x3c41c57e), SkBits2Float(0xc26fffff), SkBits2Float(0x35afaa00), SkBits2Float(0xc26fffff));
  9195. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9196. path.close();
  9197. SkPath path1(path);
  9198. path.reset();
  9199. path.setFillType((SkPath::FillType) 0);
  9200. path.moveTo(SkBits2Float(0x3d49018c), SkBits2Float(0xc2a5fffe));
  9201. path.cubicTo(SkBits2Float(0x3d4fb7df), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d5667bf), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d5d179f), SkBits2Float(0xc2a5fffd));
  9202. path.lineTo(SkBits2Float(0x3d1fd60d), SkBits2Float(0xc26ffffd));
  9203. path.cubicTo(SkBits2Float(0x3d1afde4), SkBits2Float(0xc26fffff), SkBits2Float(0x3d162864), SkBits2Float(0xc26fffff), SkBits2Float(0x3d1152e4), SkBits2Float(0xc26fffff));
  9204. path.lineTo(SkBits2Float(0x3d49018c), SkBits2Float(0xc2a5fffe));
  9205. path.close();
  9206. SkPath path2(path);
  9207. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9208. }
  9209. // op end success 1
  9210. static void battleOp3372(skiatest::Reporter* reporter, const char* filename) {
  9211. SkPath path;
  9212. path.setFillType((SkPath::FillType) 1);
  9213. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9214. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9215. path.cubicTo(SkBits2Float(0x3c85f8a2), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d05fda5), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d48fefa), SkBits2Float(0xc2a5fffd));
  9216. path.lineTo(SkBits2Float(0x3d49018c), SkBits2Float(0xc2a5fffe));
  9217. path.cubicTo(SkBits2Float(0x3d4fb7df), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d5667bf), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d5d179f), SkBits2Float(0xc2a5fffd));
  9218. path.lineTo(SkBits2Float(0x3d1fd60d), SkBits2Float(0xc26ffffd));
  9219. path.cubicTo(SkBits2Float(0x3d1afde4), SkBits2Float(0xc26fffff), SkBits2Float(0x3d162864), SkBits2Float(0xc26fffff), SkBits2Float(0x3d1152e4), SkBits2Float(0xc26fffff));
  9220. path.lineTo(SkBits2Float(0x3d114e3a), SkBits2Float(0xc26ffffd));
  9221. path.cubicTo(SkBits2Float(0x3cc1c2c0), SkBits2Float(0xc26fffff), SkBits2Float(0x3c41c57e), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9222. path.close();
  9223. SkPath path1(path);
  9224. path.reset();
  9225. path.setFillType((SkPath::FillType) 0);
  9226. path.moveTo(SkBits2Float(0x3d5d1b4e), SkBits2Float(0xc2a5fffe));
  9227. path.cubicTo(SkBits2Float(0x3da4d661), SkBits2Float(0xc2a5fffc), SkBits2Float(0x3ddb1fb1), SkBits2Float(0xc2a5fff8), SkBits2Float(0x3e08b47e), SkBits2Float(0xc2a5fff2));
  9228. path.lineTo(SkBits2Float(0x3dc5a6e0), SkBits2Float(0xc26fffec));
  9229. path.cubicTo(SkBits2Float(0x3d9e671d), SkBits2Float(0xc26ffff6), SkBits2Float(0x3d6e51bc), SkBits2Float(0xc26ffffb), SkBits2Float(0x3d1fd53d), SkBits2Float(0xc26ffffe));
  9230. path.lineTo(SkBits2Float(0x3d5d1b4e), SkBits2Float(0xc2a5fffe));
  9231. path.close();
  9232. SkPath path2(path);
  9233. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9234. }
  9235. static void battleOp4290(skiatest::Reporter* reporter, const char* filename) {
  9236. SkPath path;
  9237. path.setFillType((SkPath::FillType) 1);
  9238. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9239. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9240. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9241. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9242. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9243. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9244. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9245. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9246. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9247. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9248. path.close();
  9249. SkPath path1(path);
  9250. path.reset();
  9251. path.setFillType((SkPath::FillType) 0);
  9252. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9253. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  9254. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  9255. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  9256. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  9257. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  9258. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  9259. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9260. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9261. path.close();
  9262. SkPath path2(path);
  9263. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9264. }
  9265. // op end success 1
  9266. static void battleOp4291(skiatest::Reporter* reporter, const char* filename) {
  9267. SkPath path;
  9268. path.setFillType((SkPath::FillType) 0);
  9269. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9270. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9271. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9272. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9273. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9274. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  9275. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9276. path.close();
  9277. SkPath path1(path);
  9278. path.reset();
  9279. path.setFillType((SkPath::FillType) 0);
  9280. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9281. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9282. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9283. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9284. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9285. path.close();
  9286. SkPath path2(path);
  9287. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9288. }
  9289. // op end success 1
  9290. static void battleOp4292(skiatest::Reporter* reporter, const char* filename) {
  9291. SkPath path;
  9292. path.setFillType((SkPath::FillType) 1);
  9293. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9294. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9295. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9296. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9297. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9298. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9299. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9300. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9301. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9302. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9303. path.close();
  9304. SkPath path1(path);
  9305. path.reset();
  9306. path.setFillType((SkPath::FillType) 0);
  9307. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9308. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  9309. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  9310. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  9311. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  9312. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  9313. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  9314. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9315. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9316. path.close();
  9317. SkPath path2(path);
  9318. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9319. }
  9320. // op end success 1
  9321. static void battleOp4293(skiatest::Reporter* reporter, const char* filename) {
  9322. SkPath path;
  9323. path.setFillType((SkPath::FillType) 0);
  9324. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9325. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9326. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9327. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9328. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9329. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x357ffa94), SkBits2Float(0xc2700000));
  9330. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9331. path.close();
  9332. SkPath path1(path);
  9333. path.reset();
  9334. path.setFillType((SkPath::FillType) 0);
  9335. path.moveTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9336. path.cubicTo(SkBits2Float(0x42643732), SkBits2Float(0x42727ac8), SkBits2Float(0x4250db30), SkBits2Float(0x4281abaa), SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9337. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9338. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9339. path.lineTo(SkBits2Float(0x42757226), SkBits2Float(0x425f9012));
  9340. path.close();
  9341. SkPath path2(path);
  9342. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9343. }
  9344. // op end success 1
  9345. static void battleOp4294(skiatest::Reporter* reporter, const char* filename) {
  9346. SkPath path;
  9347. path.setFillType((SkPath::FillType) 1);
  9348. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9349. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9350. path.cubicTo(SkBits2Float(0x42037818), SkBits2Float(0xc2a60000), SkBits2Float(0x427a8dee), SkBits2Float(0xc27e6c10), SkBits2Float(0x4297d76f), SkBits2Float(0xc2062a8f));
  9351. path.cubicTo(SkBits2Float(0x42b267e8), SkBits2Float(0xc05e90e8), SkBits2Float(0x42a6fcc7), SkBits2Float(0x41fcbc94), SkBits2Float(0x42757227), SkBits2Float(0x425f9011));
  9352. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9353. path.lineTo(SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9354. path.cubicTo(SkBits2Float(0x4216fafb), SkBits2Float(0x423b79ba), SkBits2Float(0x4224f9a4), SkBits2Float(0x422f4956), SkBits2Float(0x42316e48), SkBits2Float(0x42219c94));
  9355. path.lineTo(SkBits2Float(0x42316e47), SkBits2Float(0x42219c94));
  9356. path.cubicTo(SkBits2Float(0x42716d77), SkBits2Float(0x41b6b381), SkBits2Float(0x4280f7d6), SkBits2Float(0xc020e418), SkBits2Float(0x425b87ab), SkBits2Float(0xc1c1f9ac));
  9357. path.cubicTo(SkBits2Float(0x42351faa), SkBits2Float(0xc237eb6b), SkBits2Float(0x41be136b), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9358. path.close();
  9359. SkPath path1(path);
  9360. path.reset();
  9361. path.setFillType((SkPath::FillType) 0);
  9362. path.moveTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9363. path.cubicTo(SkBits2Float(0x418c17fd), SkBits2Float(0x42b142f1), SkBits2Float(0xc1ac24e4), SkBits2Float(0x42af7d09), SkBits2Float(0xc247fe03), SkBits2Float(0x42848083));
  9364. path.cubicTo(SkBits2Float(0xc29cf4c9), SkBits2Float(0x423307fa), SkBits2Float(0xc2b411ee), SkBits2Float(0x40eef84a), SkBits2Float(0xc29d6723), SkBits2Float(0xc1d2ea61));
  9365. path.cubicTo(SkBits2Float(0xc286bc59), SkBits2Float(0xc270c968), SkBits2Float(0xc20eb871), SkBits2Float(0xc2a5ffff), SkBits2Float(0xb5c727ee), SkBits2Float(0xc2a5ffff));
  9366. path.lineTo(SkBits2Float(0x293e5cb4), SkBits2Float(0xc2700000));
  9367. path.cubicTo(SkBits2Float(0xc1ce57c4), SkBits2Float(0xc2700000), SkBits2Float(0xc242cc76), SkBits2Float(0xc22e100c), SkBits2Float(0xc2639208), SkBits2Float(0xc1987810));
  9368. path.cubicTo(SkBits2Float(0xc2822bcd), SkBits2Float(0x40acbfe2), SkBits2Float(0xc262ecb3), SkBits2Float(0x42016b8c), SkBits2Float(0xc210929c), SkBits2Float(0x423f91b4));
  9369. path.cubicTo(SkBits2Float(0xc178e211), SkBits2Float(0x427db7dc), SkBits2Float(0x414a8b85), SkBits2Float(0x4280240f), SkBits2Float(0x4207b9a6), SkBits2Float(0x4245efa0));
  9370. path.lineTo(SkBits2Float(0x423bc0d1), SkBits2Float(0x4288e7e0));
  9371. path.close();
  9372. SkPath path2(path);
  9373. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9374. }
  9375. // op end success 1
  9376. static void battleOp4295(skiatest::Reporter* reporter, const char* filename) {
  9377. SkPath path;
  9378. path.setFillType((SkPath::FillType) 0);
  9379. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9380. path.cubicTo(SkBits2Float(0x3e3881bc), SkBits2Float(0xc2a60000), SkBits2Float(0x3eb88238), SkBits2Float(0xc2a5ffb3), SkBits2Float(0x3f0a6190), SkBits2Float(0xc2a5ff19));
  9381. path.lineTo(SkBits2Float(0x3ec8119b), SkBits2Float(0xc26ffeb2));
  9382. path.cubicTo(SkBits2Float(0x3e856151), SkBits2Float(0xc26fff91), SkBits2Float(0x3e0561b2), SkBits2Float(0xc2700000), SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9383. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9384. path.close();
  9385. SkPath path1(path);
  9386. path.reset();
  9387. path.setFillType((SkPath::FillType) 0);
  9388. path.moveTo(SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9389. path.cubicTo(SkBits2Float(0x3f0efe46), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f139b44), SkBits2Float(0xc2a5fef9), SkBits2Float(0x3f183842), SkBits2Float(0xc2a5fee9));
  9390. path.lineTo(SkBits2Float(0x3edc1349), SkBits2Float(0xc26ffe6c));
  9391. path.cubicTo(SkBits2Float(0x3ed567f5), SkBits2Float(0xc26ffe84), SkBits2Float(0x3ecebccf), SkBits2Float(0xc26ffe9c), SkBits2Float(0x3ec811a8), SkBits2Float(0xc26ffeb2));
  9392. path.lineTo(SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9393. path.close();
  9394. SkPath path2(path);
  9395. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9396. }
  9397. // op end success 1
  9398. static void battleOp4296(skiatest::Reporter* reporter, const char* filename) {
  9399. SkPath path;
  9400. path.setFillType((SkPath::FillType) 1);
  9401. path.moveTo(SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9402. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9403. path.cubicTo(SkBits2Float(0x3e3881ab), SkBits2Float(0xc2a60000), SkBits2Float(0x3eb88227), SkBits2Float(0xc2a5ffb3), SkBits2Float(0x3f0a6183), SkBits2Float(0xc2a5ff19));
  9404. path.lineTo(SkBits2Float(0x3f0a6190), SkBits2Float(0xc2a5ff19));
  9405. path.cubicTo(SkBits2Float(0x3f0efe4f), SkBits2Float(0xc2a5ff0a), SkBits2Float(0x3f139b48), SkBits2Float(0xc2a5fef9), SkBits2Float(0x3f183842), SkBits2Float(0xc2a5fee9));
  9406. path.lineTo(SkBits2Float(0x3edc1349), SkBits2Float(0xc26ffe6c));
  9407. path.cubicTo(SkBits2Float(0x3ed567f5), SkBits2Float(0xc26ffe84), SkBits2Float(0x3ecebccf), SkBits2Float(0xc26ffe9c), SkBits2Float(0x3ec811a8), SkBits2Float(0xc26ffeb2));
  9408. path.lineTo(SkBits2Float(0x3ec8119b), SkBits2Float(0xc26ffeb2));
  9409. path.cubicTo(SkBits2Float(0x3e856151), SkBits2Float(0xc26fff91), SkBits2Float(0x3e0561b2), SkBits2Float(0xc2700000), SkBits2Float(0x3629eed0), SkBits2Float(0xc2700000));
  9410. path.close();
  9411. SkPath path1(path);
  9412. path.reset();
  9413. path.setFillType((SkPath::FillType) 0);
  9414. path.moveTo(SkBits2Float(0x3f183800), SkBits2Float(0xc2a5fee9));
  9415. path.cubicTo(SkBits2Float(0x3f62f7a2), SkBits2Float(0xc2a5fdd7), SkBits2Float(0x3f96db12), SkBits2Float(0xc2a5fbfa), SkBits2Float(0x3fbc3981), SkBits2Float(0xc2a5f954));
  9416. path.lineTo(SkBits2Float(0x3f8810cc), SkBits2Float(0xc26ff65b));
  9417. path.cubicTo(SkBits2Float(0x3f5a1a86), SkBits2Float(0xc26ffa2f), SkBits2Float(0x3f241256), SkBits2Float(0xc26ffcdf), SkBits2Float(0x3edc1312), SkBits2Float(0xc26ffe6c));
  9418. path.lineTo(SkBits2Float(0x3f183800), SkBits2Float(0xc2a5fee9));
  9419. path.close();
  9420. SkPath path2(path);
  9421. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9422. }
  9423. static void battleOp5193(skiatest::Reporter* reporter, const char* filename) {
  9424. SkPath path;
  9425. path.setFillType((SkPath::FillType) 0);
  9426. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9427. path.cubicTo(SkBits2Float(0x3e0b17ea), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3e8b17df), SkBits2Float(0xc2a5ffd4), SkBits2Float(0x3ed0a399), SkBits2Float(0xc2a5ff7c));
  9428. path.lineTo(SkBits2Float(0x3e96d285), SkBits2Float(0xc26fff42));
  9429. path.cubicTo(SkBits2Float(0x3e491945), SkBits2Float(0xc26fffc2), SkBits2Float(0x3dc91958), SkBits2Float(0xc2700000), SkBits2Float(0x340ae940), SkBits2Float(0xc2700000));
  9430. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9431. path.close();
  9432. SkPath path1(path);
  9433. path.reset();
  9434. path.setFillType((SkPath::FillType) 0);
  9435. path.moveTo(SkBits2Float(0x3ed0a338), SkBits2Float(0xc2a5ff7d));
  9436. path.cubicTo(SkBits2Float(0x3ed797a0), SkBits2Float(0xc2a5ff73), SkBits2Float(0x3ede8c36), SkBits2Float(0xc2a5ff6a), SkBits2Float(0x3ee580cb), SkBits2Float(0xc2a5ff60));
  9437. path.lineTo(SkBits2Float(0x3ea5e78a), SkBits2Float(0xc26fff1b));
  9438. path.cubicTo(SkBits2Float(0x3ea0e0aa), SkBits2Float(0xc26fff29), SkBits2Float(0x3e9bd97e), SkBits2Float(0xc26fff36), SkBits2Float(0x3e96d252), SkBits2Float(0xc26fff43));
  9439. path.lineTo(SkBits2Float(0x3ed0a338), SkBits2Float(0xc2a5ff7d));
  9440. path.close();
  9441. SkPath path2(path);
  9442. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9443. }
  9444. // op end success 1
  9445. static void battleOp5194(skiatest::Reporter* reporter, const char* filename) {
  9446. SkPath path;
  9447. path.setFillType((SkPath::FillType) 1);
  9448. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9449. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9450. path.cubicTo(SkBits2Float(0x3e0b17a8), SkBits2Float(0xc2a60000), SkBits2Float(0x3e8b179e), SkBits2Float(0xc2a5ffd4), SkBits2Float(0x3ed0a337), SkBits2Float(0xc2a5ff7c));
  9451. path.lineTo(SkBits2Float(0x3ed0a338), SkBits2Float(0xc2a5ff7d));
  9452. path.cubicTo(SkBits2Float(0x3ed797a0), SkBits2Float(0xc2a5ff73), SkBits2Float(0x3ede8c36), SkBits2Float(0xc2a5ff6a), SkBits2Float(0x3ee580cb), SkBits2Float(0xc2a5ff60));
  9453. path.lineTo(SkBits2Float(0x3ea5e78a), SkBits2Float(0xc26fff1b));
  9454. path.cubicTo(SkBits2Float(0x3ea0e0bb), SkBits2Float(0xc26fff29), SkBits2Float(0x3e9bd9a1), SkBits2Float(0xc26fff36), SkBits2Float(0x3e96d286), SkBits2Float(0xc26fff43));
  9455. path.lineTo(SkBits2Float(0x3e96d285), SkBits2Float(0xc26fff42));
  9456. path.cubicTo(SkBits2Float(0x3e491945), SkBits2Float(0xc26fffc2), SkBits2Float(0x3dc91958), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9457. path.close();
  9458. SkPath path1(path);
  9459. path.reset();
  9460. path.setFillType((SkPath::FillType) 0);
  9461. path.moveTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  9462. path.cubicTo(SkBits2Float(0x3f2b1987), SkBits2Float(0xc2a5fec4), SkBits2Float(0x3f637253), SkBits2Float(0xc2a5fdb6), SkBits2Float(0x3f8de535), SkBits2Float(0xc2a5fc35));
  9463. path.lineTo(SkBits2Float(0x3f4d269a), SkBits2Float(0xc26ffa85));
  9464. path.cubicTo(SkBits2Float(0x3f246b51), SkBits2Float(0xc26ffcb3), SkBits2Float(0x3ef75f30), SkBits2Float(0xc26ffe3a), SkBits2Float(0x3ea5e737), SkBits2Float(0xc26fff1c));
  9465. path.lineTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  9466. path.close();
  9467. SkPath path2(path);
  9468. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9469. }
  9470. static void battleOp402(skiatest::Reporter* reporter, const char* filename) {
  9471. SkPath path;
  9472. path.setFillType((SkPath::FillType) 1);
  9473. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9474. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9475. path.cubicTo(SkBits2Float(0x3e0b17a8), SkBits2Float(0xc2a60000), SkBits2Float(0x3e8b179e), SkBits2Float(0xc2a5ffd4), SkBits2Float(0x3ed0a337), SkBits2Float(0xc2a5ff7c));
  9476. path.lineTo(SkBits2Float(0x3ed0a338), SkBits2Float(0xc2a5ff7d));
  9477. path.cubicTo(SkBits2Float(0x3ed797a0), SkBits2Float(0xc2a5ff73), SkBits2Float(0x3ede8c36), SkBits2Float(0xc2a5ff6a), SkBits2Float(0x3ee580cb), SkBits2Float(0xc2a5ff60));
  9478. path.lineTo(SkBits2Float(0x3ea5e78a), SkBits2Float(0xc26fff1b));
  9479. path.cubicTo(SkBits2Float(0x3ea0e0bb), SkBits2Float(0xc26fff29), SkBits2Float(0x3e9bd9a1), SkBits2Float(0xc26fff36), SkBits2Float(0x3e96d286), SkBits2Float(0xc26fff43));
  9480. path.lineTo(SkBits2Float(0x3e96d285), SkBits2Float(0xc26fff42));
  9481. path.cubicTo(SkBits2Float(0x3e491945), SkBits2Float(0xc26fffc2), SkBits2Float(0x3dc91958), SkBits2Float(0xc2700000), SkBits2Float(0x00000000), SkBits2Float(0xc2700000));
  9482. path.close();
  9483. SkPath path1(path);
  9484. path.reset();
  9485. path.setFillType((SkPath::FillType) 0);
  9486. path.moveTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  9487. path.cubicTo(SkBits2Float(0x3f2b1987), SkBits2Float(0xc2a5fec4), SkBits2Float(0x3f637253), SkBits2Float(0xc2a5fdb6), SkBits2Float(0x3f8de535), SkBits2Float(0xc2a5fc35));
  9488. path.lineTo(SkBits2Float(0x3f4d269a), SkBits2Float(0xc26ffa85));
  9489. path.cubicTo(SkBits2Float(0x3f246b51), SkBits2Float(0xc26ffcb3), SkBits2Float(0x3ef75f30), SkBits2Float(0xc26ffe3a), SkBits2Float(0x3ea5e737), SkBits2Float(0xc26fff1c));
  9490. path.lineTo(SkBits2Float(0x3ee58048), SkBits2Float(0xc2a5ff61));
  9491. path.close();
  9492. SkPath path2(path);
  9493. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9494. }
  9495. static void battleOp6000(skiatest::Reporter* reporter, const char* filename) {
  9496. SkPath path;
  9497. path.setFillType((SkPath::FillType) 0);
  9498. path.moveTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9499. path.cubicTo(SkBits2Float(0x3c9b2383), SkBits2Float(0xc2a60000), SkBits2Float(0x3d1b200b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d68ae54), SkBits2Float(0xc2a5fffd));
  9500. path.lineTo(SkBits2Float(0x3d283599), SkBits2Float(0xc26ffffc));
  9501. path.cubicTo(SkBits2Float(0x3ce049ca), SkBits2Float(0xc26ffffe), SkBits2Float(0x3c604794), SkBits2Float(0xc26fffff), SkBits2Float(0xb58d9000), SkBits2Float(0xc26fffff));
  9502. path.lineTo(SkBits2Float(0x27b71bcd), SkBits2Float(0xc2a60000));
  9503. path.close();
  9504. SkPath path1(path);
  9505. path.reset();
  9506. path.setFillType((SkPath::FillType) 0);
  9507. path.moveTo(SkBits2Float(0x3d68b08b), SkBits2Float(0xc2a5fffd));
  9508. path.cubicTo(SkBits2Float(0x3d707589), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d783329), SkBits2Float(0xc2a5fffd), SkBits2Float(0x3d7ff0c9), SkBits2Float(0xc2a5fffd));
  9509. path.lineTo(SkBits2Float(0x3d3907c2), SkBits2Float(0xc26ffffc));
  9510. path.cubicTo(SkBits2Float(0x3d336bee), SkBits2Float(0xc26ffffd), SkBits2Float(0x3d2dd36e), SkBits2Float(0xc26ffffd), SkBits2Float(0x3d283aee), SkBits2Float(0xc26ffffd));
  9511. path.lineTo(SkBits2Float(0x3d68b08b), SkBits2Float(0xc2a5fffd));
  9512. path.close();
  9513. SkPath path2(path);
  9514. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9515. }
  9516. static void battleOp6001(skiatest::Reporter* reporter, const char* filename) {
  9517. SkPath path;
  9518. path.setFillType((SkPath::FillType) 1);
  9519. path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9520. path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xc2a60000));
  9521. path.cubicTo(SkBits2Float(0x3c9b2383), SkBits2Float(0xc2a60000), SkBits2Float(0x3d1b200b), SkBits2Float(0xc2a5ffff), SkBits2Float(0x3d68ae54), SkBits2Float(0xc2a5fffd));
  9522. path.lineTo(SkBits2Float(0x3d7ff0c9), SkBits2Float(0xc2a5fffd));
  9523. path.lineTo(SkBits2Float(0x3d3907c2), SkBits2Float(0xc26ffffc));
  9524. path.cubicTo(SkBits2Float(0x3d336bee), SkBits2Float(0xc26ffffd), SkBits2Float(0x3d2dd36e), SkBits2Float(0xc26ffffd), SkBits2Float(0x3d283aee), SkBits2Float(0xc26ffffd));
  9525. path.lineTo(SkBits2Float(0x3d283599), SkBits2Float(0xc26ffffc));
  9526. path.cubicTo(SkBits2Float(0x3ce049ca), SkBits2Float(0xc26ffffe), SkBits2Float(0x3c604794), SkBits2Float(0xc26fffff), SkBits2Float(0x00000000), SkBits2Float(0xc26fffff));
  9527. path.close();
  9528. SkPath path1(path);
  9529. path.reset();
  9530. path.setFillType((SkPath::FillType) 0);
  9531. path.moveTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd));
  9532. path.cubicTo(SkBits2Float(0x3dbed1a5), SkBits2Float(0xc2a5fffa), SkBits2Float(0x3dfda9cc), SkBits2Float(0xc2a5fff4), SkBits2Float(0x3e1e40f8), SkBits2Float(0xc2a5ffed));
  9533. path.lineTo(SkBits2Float(0x3de4ce81), SkBits2Float(0xc26fffe5));
  9534. path.cubicTo(SkBits2Float(0x3db75eff), SkBits2Float(0xc26ffff0), SkBits2Float(0x3d89f101), SkBits2Float(0xc26ffff8), SkBits2Float(0x3d390604), SkBits2Float(0xc26ffffc));
  9535. path.lineTo(SkBits2Float(0x3d7ff566), SkBits2Float(0xc2a5fffd));
  9536. path.close();
  9537. SkPath path2(path);
  9538. testPathOp(reporter, path1, path2, (SkPathOp) 2, filename);
  9539. }
  9540. static void (*firstTest)(skiatest::Reporter* , const char* filename) = battleOp183;
  9541. static void (*stopTest)(skiatest::Reporter* , const char* filename) = nullptr;
  9542. static struct TestDesc tests[] = {
  9543. TEST(battleOp1),
  9544. TEST(battleOp2),
  9545. TEST(battleOp3),
  9546. TEST(battleOp4),
  9547. TEST(battleOp5),
  9548. TEST(battleOp6),
  9549. TEST(battleOp7),
  9550. TEST(battleOp8),
  9551. TEST(battleOp9),
  9552. TEST(battleOp10),
  9553. TEST(battleOp11),
  9554. TEST(battleOp12),
  9555. TEST(battleOp13),
  9556. TEST(battleOp14),
  9557. TEST(battleOp15),
  9558. TEST(battleOp16),
  9559. TEST(battleOp17),
  9560. TEST(battleOp18),
  9561. TEST(battleOp19),
  9562. TEST(battleOp20),
  9563. TEST(battleOp21),
  9564. TEST(battleOp22),
  9565. TEST(battleOp23),
  9566. TEST(battleOp24),
  9567. TEST(battleOp25),
  9568. TEST(battleOp26),
  9569. TEST(battleOp27),
  9570. TEST(battleOp28),
  9571. TEST(battleOp29),
  9572. TEST(battleOp30),
  9573. TEST(battleOp31),
  9574. TEST(battleOp32),
  9575. TEST(battleOp33),
  9576. TEST(battleOp34),
  9577. TEST(battleOp35),
  9578. TEST(battleOp36),
  9579. TEST(battleOp37),
  9580. TEST(battleOp38),
  9581. TEST(battleOp39),
  9582. TEST(battleOp40),
  9583. TEST(battleOp41),
  9584. TEST(battleOp42),
  9585. TEST(battleOp43),
  9586. TEST(battleOp44),
  9587. TEST(battleOp45),
  9588. TEST(battleOp47),
  9589. TEST(battleOp48),
  9590. TEST(battleOp49),
  9591. TEST(battleOp50),
  9592. TEST(battleOp51),
  9593. TEST(battleOp52),
  9594. TEST(battleOp53),
  9595. TEST(battleOp55),
  9596. TEST(battleOp56),
  9597. TEST(battleOp57),
  9598. TEST(battleOp58),
  9599. TEST(battleOp59),
  9600. TEST(battleOp60),
  9601. TEST(battleOp61),
  9602. TEST(battleOp62),
  9603. TEST(battleOp64),
  9604. TEST(battleOp65),
  9605. TEST(battleOp66),
  9606. TEST(battleOp67),
  9607. TEST(battleOp68),
  9608. TEST(battleOp69),
  9609. TEST(battleOp70),
  9610. TEST(battleOp71),
  9611. TEST(battleOp72),
  9612. TEST(battleOp73),
  9613. TEST(battleOp74),
  9614. TEST(battleOp75),
  9615. TEST(battleOp76),
  9616. TEST(battleOp77),
  9617. TEST(battleOp78),
  9618. TEST(battleOp79),
  9619. TEST(battleOp80),
  9620. TEST(battleOp81),
  9621. TEST(battleOp82),
  9622. TEST(battleOp83),
  9623. TEST(battleOp84),
  9624. TEST(battleOp85),
  9625. TEST(battleOp86),
  9626. TEST(battleOp87),
  9627. TEST(battleOp88),
  9628. TEST(battleOp89),
  9629. TEST(battleOp90),
  9630. TEST(battleOp91),
  9631. TEST(battleOp92),
  9632. TEST(battleOp93),
  9633. TEST(battleOp94),
  9634. TEST(battleOp95),
  9635. TEST(battleOp96),
  9636. TEST(battleOp97),
  9637. TEST(battleOp98),
  9638. TEST(battleOp99),
  9639. TEST(battleOp100),
  9640. TEST(battleOp101),
  9641. TEST(battleOp102),
  9642. TEST(battleOp103),
  9643. TEST(battleOp104),
  9644. TEST(battleOp105),
  9645. TEST(battleOp106),
  9646. TEST(battleOp107),
  9647. TEST(battleOp108),
  9648. TEST(battleOp109),
  9649. TEST(battleOp110),
  9650. TEST(battleOp111),
  9651. TEST(battleOp112),
  9652. TEST(battleOp113),
  9653. TEST(battleOp114),
  9654. TEST(battleOp115),
  9655. TEST(battleOp116),
  9656. TEST(battleOp117),
  9657. TEST(battleOp118),
  9658. TEST(battleOp119),
  9659. TEST(battleOp120),
  9660. TEST(battleOp121),
  9661. TEST(battleOp122),
  9662. TEST(battleOp123),
  9663. TEST(battleOp124),
  9664. TEST(battleOp125),
  9665. TEST(battleOp126),
  9666. TEST(battleOp127),
  9667. TEST(battleOp128),
  9668. TEST(battleOp129),
  9669. TEST(battleOp130),
  9670. TEST(battleOp131),
  9671. TEST(battleOp132),
  9672. TEST(battleOp133),
  9673. TEST(battleOp134),
  9674. TEST(battleOp135),
  9675. TEST(battleOp136),
  9676. TEST(battleOp137),
  9677. TEST(battleOp138),
  9678. TEST(battleOp139),
  9679. TEST(battleOp140),
  9680. TEST(battleOp141),
  9681. TEST(battleOp142),
  9682. TEST(battleOp143),
  9683. TEST(battleOp144),
  9684. TEST(battleOp145),
  9685. TEST(battleOp146),
  9686. TEST(battleOp147),
  9687. TEST(battleOp149),
  9688. TEST(battleOp150),
  9689. TEST(battleOp151),
  9690. TEST(battleOp153),
  9691. TEST(battleOp154),
  9692. TEST(battleOp155),
  9693. TEST(battleOp156),
  9694. TEST(battleOp158),
  9695. TEST(battleOp159),
  9696. TEST(battleOp160),
  9697. TEST(battleOp161),
  9698. TEST(battleOp162),
  9699. TEST(battleOp164),
  9700. TEST(battleOp165),
  9701. TEST(battleOp166),
  9702. TEST(battleOp167),
  9703. TEST(battleOp168),
  9704. TEST(battleOp169),
  9705. TEST(battleOp170),
  9706. TEST(battleOp171),
  9707. TEST(battleOp172),
  9708. TEST(battleOp173),
  9709. TEST(battleOp174),
  9710. TEST(battleOp175),
  9711. TEST(battleOp176),
  9712. TEST(battleOp177),
  9713. TEST(battleOp178),
  9714. TEST(battleOp179),
  9715. TEST(battleOp180),
  9716. TEST(battleOp182),
  9717. TEST(battleOp184),
  9718. TEST(battleOp185),
  9719. TEST(battleOp186),
  9720. TEST(battleOp187),
  9721. TEST(battleOp188),
  9722. TEST(battleOp189),
  9723. TEST(battleOp190),
  9724. TEST(battleOp191),
  9725. TEST(battleOp192),
  9726. TEST(battleOp193),
  9727. TEST(battleOp194),
  9728. TEST(battleOp196),
  9729. TEST(battleOp197),
  9730. TEST(battleOp199),
  9731. TEST(battleOp200),
  9732. TEST(battleOp201),
  9733. TEST(battleOp202),
  9734. TEST(battleOp203),
  9735. TEST(battleOp204),
  9736. TEST(battleOp205),
  9737. TEST(battleOp206),
  9738. TEST(battleOp207),
  9739. TEST(battleOp208),
  9740. TEST(battleOp209),
  9741. TEST(battleOp210),
  9742. TEST(battleOp211),
  9743. TEST(battleOp212),
  9744. TEST(battleOp213),
  9745. TEST(battleOp214),
  9746. TEST(battleOp215),
  9747. TEST(battleOp216),
  9748. TEST(battleOp217),
  9749. TEST(battleOp218),
  9750. TEST(battleOp219),
  9751. TEST(battleOp220),
  9752. TEST(battleOp221),
  9753. TEST(battleOp222),
  9754. TEST(battleOp223),
  9755. TEST(battleOp224),
  9756. TEST(battleOp225),
  9757. TEST(battleOp226),
  9758. TEST(battleOp227),
  9759. TEST(battleOp228),
  9760. TEST(battleOp229),
  9761. TEST(battleOp231),
  9762. TEST(battleOp232),
  9763. TEST(battleOp233),
  9764. TEST(battleOp234),
  9765. TEST(battleOp235),
  9766. TEST(battleOp236),
  9767. TEST(battleOp237),
  9768. TEST(battleOp238),
  9769. TEST(battleOp239),
  9770. TEST(battleOp240),
  9771. TEST(battleOp241),
  9772. TEST(battleOp242),
  9773. TEST(battleOp243),
  9774. TEST(battleOp244),
  9775. TEST(battleOp245),
  9776. TEST(battleOp246),
  9777. TEST(battleOp247),
  9778. TEST(battleOp248),
  9779. TEST(battleOp249),
  9780. TEST(battleOp250),
  9781. TEST(battleOp251),
  9782. TEST(battleOp252),
  9783. TEST(battleOp253),
  9784. TEST(battleOp254),
  9785. TEST(battleOp255),
  9786. TEST(battleOp257),
  9787. TEST(battleOp258),
  9788. TEST(battleOp259),
  9789. TEST(battleOp260),
  9790. TEST(battleOp261),
  9791. TEST(battleOp262),
  9792. TEST(battleOp263),
  9793. TEST(battleOp264),
  9794. TEST(battleOp265),
  9795. TEST(battleOp266),
  9796. TEST(battleOp267),
  9797. TEST(battleOp268),
  9798. TEST(battleOp270),
  9799. TEST(battleOp271),
  9800. TEST(battleOp272),
  9801. TEST(battleOp274),
  9802. TEST(battleOp275),
  9803. TEST(battleOp276),
  9804. TEST(battleOp277),
  9805. TEST(battleOp278),
  9806. TEST(battleOp279),
  9807. TEST(battleOp280),
  9808. TEST(battleOp281),
  9809. TEST(battleOp282),
  9810. TEST(battleOp284),
  9811. TEST(battleOp285),
  9812. TEST(battleOp286),
  9813. TEST(battleOp287),
  9814. TEST(battleOp288),
  9815. TEST(battleOp289),
  9816. TEST(battleOp290),
  9817. TEST(battleOp291),
  9818. TEST(battleOp292),
  9819. TEST(battleOp293),
  9820. TEST(battleOp294),
  9821. TEST(battleOp295),
  9822. TEST(battleOp296),
  9823. TEST(battleOp297),
  9824. TEST(battleOp298),
  9825. TEST(battleOp299),
  9826. TEST(battleOp300),
  9827. TEST(battleOp301),
  9828. TEST(battleOp302),
  9829. TEST(battleOp303),
  9830. TEST(battleOp304),
  9831. TEST(battleOp305),
  9832. TEST(battleOp306),
  9833. TEST(battleOp307),
  9834. TEST(battleOp308),
  9835. TEST(battleOp309),
  9836. TEST(battleOp310),
  9837. TEST(battleOp311),
  9838. TEST(battleOp312),
  9839. TEST(battleOp313),
  9840. TEST(battleOp314),
  9841. TEST(battleOp315),
  9842. TEST(battleOp316),
  9843. TEST(battleOp317),
  9844. TEST(battleOp318),
  9845. TEST(battleOp319),
  9846. TEST(battleOp320),
  9847. TEST(battleOp321),
  9848. TEST(battleOp322),
  9849. TEST(battleOp323),
  9850. TEST(battleOp324),
  9851. TEST(battleOp325),
  9852. TEST(battleOp326),
  9853. TEST(battleOp327),
  9854. TEST(battleOp328),
  9855. TEST(battleOp329),
  9856. TEST(battleOp330),
  9857. TEST(battleOp331),
  9858. TEST(battleOp332),
  9859. TEST(battleOp333),
  9860. TEST(battleOp334),
  9861. TEST(battleOp335),
  9862. TEST(battleOp336),
  9863. TEST(battleOp337),
  9864. TEST(battleOp338),
  9865. TEST(battleOp339),
  9866. TEST(battleOp340),
  9867. TEST(battleOp341),
  9868. TEST(battleOp342),
  9869. TEST(battleOp343),
  9870. TEST(battleOp344),
  9871. TEST(battleOp345),
  9872. TEST(battleOp346),
  9873. TEST(battleOp347),
  9874. TEST(battleOp348),
  9875. TEST(battleOp349),
  9876. TEST(battleOp350),
  9877. TEST(battleOp351),
  9878. TEST(battleOp352),
  9879. TEST(battleOp402),
  9880. TEST(battleOp1390),
  9881. TEST(battleOp1391),
  9882. TEST(battleOp1392),
  9883. TEST(battleOp1393),
  9884. TEST(battleOp1394),
  9885. TEST(battleOp1395),
  9886. TEST(battleOp1396),
  9887. TEST(battleOp2193),
  9888. TEST(battleOp2194),
  9889. TEST(battleOp3368),
  9890. TEST(battleOp3369),
  9891. TEST(battleOp3370),
  9892. TEST(battleOp3371),
  9893. TEST(battleOp3372),
  9894. TEST(battleOp4290),
  9895. TEST(battleOp4291),
  9896. TEST(battleOp4292),
  9897. TEST(battleOp4293),
  9898. TEST(battleOp4294),
  9899. TEST(battleOp4295),
  9900. TEST(battleOp4296),
  9901. TEST(battleOp5193),
  9902. TEST(battleOp5194),
  9903. TEST(battleOp6000),
  9904. TEST(battleOp6001),
  9905. TEST(issue414409c),
  9906. TEST(issue414409b),
  9907. TEST(issue414409),
  9908. // these draw wrong
  9909. TEST(battleOp46), // dropped an outer cubic incorrectly
  9910. // if assembly rewrite was done, the error would be hidden
  9911. TEST(battleOp54),
  9912. TEST(battleOp63),
  9913. TEST(battleOp152),
  9914. TEST(battleOp157),
  9915. TEST(battleOp163),
  9916. TEST(battleOp181),
  9917. TEST(battleOp183),
  9918. TEST(battleOp195),
  9919. TEST(battleOp198),
  9920. TEST(battleOp230),
  9921. TEST(battleOp256),
  9922. TEST(battleOp269),
  9923. TEST(battleOp273),
  9924. TEST(battleOp148),
  9925. TEST(battleOp283),
  9926. };
  9927. static const size_t testCount = SK_ARRAY_COUNT(tests);
  9928. static bool runReverse = false;
  9929. DEF_TEST(PathOpsBattle, reporter) {
  9930. #if DEBUG_SHOW_TEST_NAME
  9931. strncpy(DEBUG_FILENAME_STRING, "", DEBUG_FILENAME_STRING_LENGTH);
  9932. #endif
  9933. RunTestSet(reporter, tests, testCount, firstTest, nullptr, stopTest, runReverse);
  9934. }