Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: tests/PathOpsOpTest.cpp

Issue 2237223002: pathops coincident work (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: remove unused code Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsSimplifyFailTest.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 #include "PathOpsExtendedTest.h" 7 #include "PathOpsExtendedTest.h"
8 #include "PathOpsTestCommon.h" 8 #include "PathOpsTestCommon.h"
9 9
10 class PathTest_Private { 10 class PathTest_Private {
(...skipping 5344 matching lines...) Expand 10 before | Expand all | Expand 10 after
5355 path.moveTo(1, 4); 5355 path.moveTo(1, 4);
5356 path.cubicTo(2, 6, 5, 0, 5, 3); 5356 path.cubicTo(2, 6, 5, 0, 5, 3);
5357 path.close(); 5357 path.close();
5358 pathB.setFillType(SkPath::kWinding_FillType); 5358 pathB.setFillType(SkPath::kWinding_FillType);
5359 pathB.moveTo(0, 5); 5359 pathB.moveTo(0, 5);
5360 pathB.cubicTo(3, 5, 4, 1, 6, 2); 5360 pathB.cubicTo(3, 5, 4, 1, 6, 2);
5361 pathB.close(); 5361 pathB.close();
5362 testPathOp(reporter, path, pathB, kXOR_SkPathOp, filename); 5362 testPathOp(reporter, path, pathB, kXOR_SkPathOp, filename);
5363 } 5363 }
5364 5364
5365 static void cubicOp158(skiatest::Reporter* reporter, const char* filename) {
5366 SkPath path, pathB;
5367 path.setFillType(SkPath::kWinding_FillType);
5368 path.moveTo(0,1);
5369 path.cubicTo(2,4, 2,0, 2,0);
5370 path.close();
5371 pathB.setFillType(SkPath::kWinding_FillType);
5372 pathB.moveTo(0,2);
5373 pathB.cubicTo(0,2, 1,0, 4,2);
5374 pathB.close();
5375 testPathOp(reporter, path, pathB, kDifference_SkPathOp, filename);
5376 }
5365 5377
5366 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0; 5378 static void (*skipTest)(skiatest::Reporter* , const char* filename) = 0;
5367 static void (*firstTest)(skiatest::Reporter* , const char* filename) = cubics_d3 ; 5379 static void (*firstTest)(skiatest::Reporter* , const char* filename) = 0;
5368 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0; 5380 static void (*stopTest)(skiatest::Reporter* , const char* filename) = 0;
5369 5381
5370 #define TEST(name) { name, #name } 5382 #define TEST(name) { name, #name }
5371 5383
5372 static struct TestDesc tests[] = { 5384 static struct TestDesc tests[] = {
5385 TEST(cubicOp158),
5373 TEST(loops_i1), 5386 TEST(loops_i1),
5374 TEST(loops_i2), 5387 TEST(loops_i2),
5375 TEST(loops_i3), 5388 TEST(loops_i3),
5376 TEST(loops_i4), 5389 TEST(loops_i4),
5377 TEST(loops_i5), 5390 TEST(loops_i5),
5378 TEST(loops_i6), 5391 TEST(loops_i6),
5379 TEST(cubics_d3), 5392 TEST(cubics_d3),
5380 TEST(cubics_o), 5393 TEST(cubics_o),
5381 TEST(cubics_d2), 5394 TEST(cubics_d2),
5382 TEST(cubics_d), 5395 TEST(cubics_d),
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
5750 5763
5751 static void fuzz535151(skiatest::Reporter* reporter, const char* filename) { 5764 static void fuzz535151(skiatest::Reporter* reporter, const char* filename) {
5752 SkPath one; 5765 SkPath one;
5753 one.setFillType(SkPath::kWinding_FillType); 5766 one.setFillType(SkPath::kWinding_FillType);
5754 SkPath two; 5767 SkPath two;
5755 two.setFillType(SkPath::kWinding_FillType); 5768 two.setFillType(SkPath::kWinding_FillType);
5756 two.moveTo(0, 0); 5769 two.moveTo(0, 0);
5757 two.lineTo(0, 50); 5770 two.lineTo(0, 50);
5758 two.lineTo(4.29497e+09f, 50); 5771 two.lineTo(4.29497e+09f, 50);
5759 SkPath dummy; 5772 SkPath dummy;
5760 testPathOp(reporter, one, two, kIntersect_SkPathOp, filename); 5773 testPathOpFuzz(reporter, one, two, kIntersect_SkPathOp, filename);
5761 } 5774 }
5762 5775
5763 static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) { 5776 static void bufferOverflow(skiatest::Reporter* reporter, const char* filename) {
5764 SkPath path; 5777 SkPath path;
5765 path.addRect(0,0, 300,170141183460469231731687303715884105728.f); 5778 path.addRect(0,0, 300,170141183460469231731687303715884105728.f);
5766 SkPath pathB; 5779 SkPath pathB;
5767 pathB.addRect(0,0, 300,16); 5780 pathB.addRect(0,0, 300,16);
5768 testPathOpCheck(reporter, path, pathB, kUnion_SkPathOp, filename, true); 5781 testPathOpFuzz(reporter, path, pathB, kUnion_SkPathOp, filename);
5769 } 5782 }
5770 5783
5771 // m 100,0 60,170 -160,-110 200,0 -170,11000000000 z 5784 // m 100,0 60,170 -160,-110 200,0 -170,11000000000 z
5772 static void fuzz433(skiatest::Reporter* reporter, const char* filename) { 5785 static void fuzz433(skiatest::Reporter* reporter, const char* filename) {
5773 SkPath path1, path2; 5786 SkPath path1, path2;
5774 path1.moveTo(100,0); 5787 path1.moveTo(100,0);
5775 path1.lineTo(60,170); 5788 path1.lineTo(60,170);
5776 path1.lineTo(-160,-110); 5789 path1.lineTo(-160,-110);
5777 path1.lineTo(200,0); 5790 path1.lineTo(200,0);
5778 path1.lineTo(-170,11000000000.0f); 5791 path1.lineTo(-170,11000000000.0f);
5779 path1.close(); 5792 path1.close();
5780 5793
5781 path2.moveTo(100 + 20,0 + 20); 5794 path2.moveTo(100 + 20,0 + 20);
5782 path2.lineTo(60 + 20,170 + 20); 5795 path2.lineTo(60 + 20,170 + 20);
5783 path2.lineTo(-160 + 20,-110 + 20); 5796 path2.lineTo(-160 + 20,-110 + 20);
5784 path2.lineTo(200 + 20,0 + 20); 5797 path2.lineTo(200 + 20,0 + 20);
5785 path2.lineTo(-170 + 20,11000000000.0f + 20); 5798 path2.lineTo(-170 + 20,11000000000.0f + 20);
5786 path2.close(); 5799 path2.close();
5787 5800
5788 testPathOpCheck(reporter, path1, path2, kIntersect_SkPathOp, filename, true) ; 5801 testPathOpFuzz(reporter, path1, path2, kIntersect_SkPathOp, filename);
5789 } 5802 }
5790 5803
5791 static void fuzz433b(skiatest::Reporter* reporter, const char* filename) { 5804 static void fuzz433b(skiatest::Reporter* reporter, const char* filename) {
5792 SkPath path1, path2; 5805 SkPath path1, path2;
5793 path1.setFillType(SkPath::kEvenOdd_FillType); 5806 path1.setFillType(SkPath::kEvenOdd_FillType);
5794 path1.moveTo(140, 40); 5807 path1.moveTo(140, 40);
5795 path1.lineTo(200, 210); 5808 path1.lineTo(200, 210);
5796 path1.lineTo(40, 100); 5809 path1.lineTo(40, 100);
5797 path1.lineTo(240, 100); 5810 path1.lineTo(240, 100);
5798 path1.lineTo(70, 1.1e+10f); 5811 path1.lineTo(70, 1.1e+10f);
5799 path1.lineTo(140, 40); 5812 path1.lineTo(140, 40);
5800 path1.close(); 5813 path1.close();
5801 5814
5802 path1.setFillType(SkPath::kWinding_FillType); 5815 path1.setFillType(SkPath::kWinding_FillType);
5803 path2.moveTo(190, 60); 5816 path2.moveTo(190, 60);
5804 path2.lineTo(250, 230); 5817 path2.lineTo(250, 230);
5805 path2.lineTo(90, 120); 5818 path2.lineTo(90, 120);
5806 path2.lineTo(290, 120); 5819 path2.lineTo(290, 120);
5807 path2.lineTo(120, 1.1e+10f); 5820 path2.lineTo(120, 1.1e+10f);
5808 path2.lineTo(190, 60); 5821 path2.lineTo(190, 60);
5809 path2.close(); 5822 path2.close();
5810 5823
5811 testPathOpCheck(reporter, path1, path2, kUnion_SkPathOp, filename, true); 5824 testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
5812 } 5825 }
5813 5826
5814 static void fuzz487a(skiatest::Reporter* reporter, const char* filename) { 5827 static void fuzz487a(skiatest::Reporter* reporter, const char* filename) {
5815 SkPath path; 5828 SkPath path;
5816 path.setFillType((SkPath::FillType) 0); 5829 path.setFillType((SkPath::FillType) 0);
5817 path.moveTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000)); 5830 path.moveTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
5818 path.lineTo(SkBits2Float(0x4309999a), SkBits2Float(0x42c00000)); 5831 path.lineTo(SkBits2Float(0x4309999a), SkBits2Float(0x42c00000));
5819 path.cubicTo(SkBits2Float(0x4309999a), SkBits2Float(0x429a6666), SkBits2Float(0x 42f9999a), SkBits2Float(0x4275999a), SkBits2Float(0x42d70001), SkBits2Float(0x42 633333)); 5832 path.cubicTo(SkBits2Float(0x4309999a), SkBits2Float(0x429a6666), SkBits2Float(0x 42f9999a), SkBits2Float(0x4275999a), SkBits2Float(0x42d70001), SkBits2Float(0x42 633333));
5820 path.lineTo(SkBits2Float(0x42e90001), SkBits2Float(0x41b8cccc)); 5833 path.lineTo(SkBits2Float(0x42e90001), SkBits2Float(0x41b8cccc));
5821 path.cubicTo(SkBits2Float(0x42dc6667), SkBits2Float(0x41ab3332), SkBits2Float(0x 42cf3334), SkBits2Float(0x41a3ffff), SkBits2Float(0x42c20001), SkBits2Float(0x41 a3ffff)); 5834 path.cubicTo(SkBits2Float(0x42dc6667), SkBits2Float(0x41ab3332), SkBits2Float(0x 42cf3334), SkBits2Float(0x41a3ffff), SkBits2Float(0x42c20001), SkBits2Float(0x41 a3ffff));
(...skipping 25 matching lines...) Expand all
5847 path.cubicTo(SkBits2Float(0x4272cccc), SkBits2Float(0x4303199a), SkBits2Float(0x 423d3332), SkBits2Float(0x430de667), SkBits2Float(0x422d9999), SkBits2Float(0x43 1cb334)); 5860 path.cubicTo(SkBits2Float(0x4272cccc), SkBits2Float(0x4303199a), SkBits2Float(0x 423d3332), SkBits2Float(0x430de667), SkBits2Float(0x422d9999), SkBits2Float(0x43 1cb334));
5848 path.lineTo(SkBits2Float(0x7086a1dc), SkBits2Float(0x42eecccd)); 5861 path.lineTo(SkBits2Float(0x7086a1dc), SkBits2Float(0x42eecccd));
5849 path.lineTo(SkBits2Float(0x41eb3333), SkBits2Float(0xc12ccccd)); 5862 path.lineTo(SkBits2Float(0x41eb3333), SkBits2Float(0xc12ccccd));
5850 path.lineTo(SkBits2Float(0x42053333), SkBits2Float(0xc1cccccd)); 5863 path.lineTo(SkBits2Float(0x42053333), SkBits2Float(0xc1cccccd));
5851 path.lineTo(SkBits2Float(0x42780000), SkBits2Float(0xc18f3334)); 5864 path.lineTo(SkBits2Float(0x42780000), SkBits2Float(0xc18f3334));
5852 path.cubicTo(SkBits2Float(0x43206666), SkBits2Float(0x43134ccd), SkBits2Float(0x 43213333), SkBits2Float(0x430db333), SkBits2Float(0x43213333), SkBits2Float(0x43 080000)); 5865 path.cubicTo(SkBits2Float(0x43206666), SkBits2Float(0x43134ccd), SkBits2Float(0x 43213333), SkBits2Float(0x430db333), SkBits2Float(0x43213333), SkBits2Float(0x43 080000));
5853 path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000)); 5866 path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
5854 path.close(); 5867 path.close();
5855 5868
5856 SkPath path2(path); 5869 SkPath path2(path);
5857 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true); 5870 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
5858 } 5871 }
5859 5872
5860 static void fuzz487b(skiatest::Reporter* reporter, const char* filename) { 5873 static void fuzz487b(skiatest::Reporter* reporter, const char* filename) {
5861 SkPath path; 5874 SkPath path;
5862 path.setFillType((SkPath::FillType) 0); 5875 path.setFillType((SkPath::FillType) 0);
5863 path.moveTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000)); 5876 path.moveTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
5864 path.lineTo(SkBits2Float(0x4309999a), SkBits2Float(0x42c00000)); 5877 path.lineTo(SkBits2Float(0x4309999a), SkBits2Float(0x42c00000));
5865 path.cubicTo(SkBits2Float(0x4309999a), SkBits2Float(0x429a6666), SkBits2Float(0x 42f9999a), SkBits2Float(0x4275999a), SkBits2Float(0x42d70001), SkBits2Float(0x42 633333)); 5878 path.cubicTo(SkBits2Float(0x4309999a), SkBits2Float(0x429a6666), SkBits2Float(0x 42f9999a), SkBits2Float(0x4275999a), SkBits2Float(0x42d70001), SkBits2Float(0x42 633333));
5866 path.lineTo(SkBits2Float(0x42e90001), SkBits2Float(0x41b8cccc)); 5879 path.lineTo(SkBits2Float(0x42e90001), SkBits2Float(0x41b8cccc));
5867 path.cubicTo(SkBits2Float(0x42dc6667), SkBits2Float(0x41ab3332), SkBits2Float(0x 42cf3334), SkBits2Float(0x41a3ffff), SkBits2Float(0x42c20001), SkBits2Float(0x41 a3ffff)); 5880 path.cubicTo(SkBits2Float(0x42dc6667), SkBits2Float(0x41ab3332), SkBits2Float(0x 42cf3334), SkBits2Float(0x41a3ffff), SkBits2Float(0x42c20001), SkBits2Float(0x41 a3ffff));
(...skipping 25 matching lines...) Expand all
5893 path.cubicTo(SkBits2Float(0x4272cccc), SkBits2Float(0x4303199a), SkBits2Float(0x 423d3332), SkBits2Float(0x430de667), SkBits2Float(0x422d9999), SkBits2Float(0x43 1cb334)); 5906 path.cubicTo(SkBits2Float(0x4272cccc), SkBits2Float(0x4303199a), SkBits2Float(0x 423d3332), SkBits2Float(0x430de667), SkBits2Float(0x422d9999), SkBits2Float(0x43 1cb334));
5894 path.lineTo(SkBits2Float(0x7086a1dc), SkBits2Float(0x42eecccd)); 5907 path.lineTo(SkBits2Float(0x7086a1dc), SkBits2Float(0x42eecccd));
5895 path.lineTo(SkBits2Float(0x41eb3333), SkBits2Float(0xc12ccccd)); 5908 path.lineTo(SkBits2Float(0x41eb3333), SkBits2Float(0xc12ccccd));
5896 path.lineTo(SkBits2Float(0x42053333), SkBits2Float(0xc1cccccd)); 5909 path.lineTo(SkBits2Float(0x42053333), SkBits2Float(0xc1cccccd));
5897 path.lineTo(SkBits2Float(0x42780000), SkBits2Float(0xc18f3334)); 5910 path.lineTo(SkBits2Float(0x42780000), SkBits2Float(0xc18f3334));
5898 path.cubicTo(SkBits2Float(0x43206666), SkBits2Float(0x43134ccd), SkBits2Float(0x 43213333), SkBits2Float(0x430db333), SkBits2Float(0x43213333), SkBits2Float(0x43 080000)); 5911 path.cubicTo(SkBits2Float(0x43206666), SkBits2Float(0x43134ccd), SkBits2Float(0x 43213333), SkBits2Float(0x430db333), SkBits2Float(0x43213333), SkBits2Float(0x43 080000));
5899 path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000)); 5912 path.lineTo(SkBits2Float(0x432c8000), SkBits2Float(0x42c00000));
5900 path.close(); 5913 path.close();
5901 5914
5902 SkPath path2(path); 5915 SkPath path2(path);
5903 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true); 5916 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
5904 } 5917 }
5905 5918
5906 static void fuzz714(skiatest::Reporter* reporter, const char* filename) { 5919 static void fuzz714(skiatest::Reporter* reporter, const char* filename) {
5907 SkPath path; 5920 SkPath path;
5908 path.setFillType((SkPath::FillType) 1); 5921 path.setFillType((SkPath::FillType) 1);
5909 path.moveTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000)); 5922 path.moveTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000));
5910 path.lineTo(SkBits2Float(0x43480000), SkBits2Float(0x43520000)); 5923 path.lineTo(SkBits2Float(0x43480000), SkBits2Float(0x43520000));
5911 path.lineTo(SkBits2Float(0x42200000), SkBits2Float(0x42c80000)); 5924 path.lineTo(SkBits2Float(0x42200000), SkBits2Float(0x42c80000));
5912 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42c80000)); // 2.22222e+02 2f 5925 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42c80000)); // 2.22222e+02 2f
5913 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43520000)); // 2.22222e+02 2f 5926 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43520000)); // 2.22222e+02 2f
5914 path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000)); 5927 path.lineTo(SkBits2Float(0x430c0000), SkBits2Float(0x42200000));
5915 path.close(); 5928 path.close();
5916 5929
5917 SkPath path1(path); 5930 SkPath path1(path);
5918 path.reset(); 5931 path.reset();
5919 path.setFillType((SkPath::FillType) 0); 5932 path.setFillType((SkPath::FillType) 0);
5920 path.moveTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000)); 5933 path.moveTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000));
5921 path.lineTo(SkBits2Float(0x435c0000), SkBits2Float(0x43660000)); 5934 path.lineTo(SkBits2Float(0x435c0000), SkBits2Float(0x43660000));
5922 path.lineTo(SkBits2Float(0x42700000), SkBits2Float(0x42f00000)); 5935 path.lineTo(SkBits2Float(0x42700000), SkBits2Float(0x42f00000));
5923 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42f00000)); // 2.22222e+02 2f 5936 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x42f00000)); // 2.22222e+02 2f
5924 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43660000)); // 2.22222e+02 2f 5937 path.lineTo(SkBits2Float(0x64969569), SkBits2Float(0x43660000)); // 2.22222e+02 2f
5925 path.lineTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000)); 5938 path.lineTo(SkBits2Float(0x43200000), SkBits2Float(0x42700000));
5926 path.close(); 5939 path.close();
5927 5940
5928 SkPath path2(path); 5941 SkPath path2(path);
5929 testPathOpCheck(reporter, path1, path2, (SkPathOp) 2, filename, true); 5942 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
5930 } 5943 }
5931 5944
5932 static void fuzz1(skiatest::Reporter* reporter, const char* filename) { 5945 static void fuzz1(skiatest::Reporter* reporter, const char* filename) {
5933 SkPath path; 5946 SkPath path;
5934 path.setFillType((SkPath::FillType) 0); 5947 path.setFillType((SkPath::FillType) 0);
5935 path.moveTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000)); 5948 path.moveTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000));
5936 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000)); 5949 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000));
5937 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000)); 5950 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0x7f800000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000));
5938 path.quadTo(SkBits2Float(0xffc00000), SkBits2Float(0x7f800000), SkBits2Float(0xf fc00000), SkBits2Float(0x7f800000)); 5951 path.quadTo(SkBits2Float(0xffc00000), SkBits2Float(0x7f800000), SkBits2Float(0xf fc00000), SkBits2Float(0x7f800000));
5939 path.quadTo(SkBits2Float(0xff000001), SkBits2Float(0x7f800000), SkBits2Float(0xf f000001), SkBits2Float(0x7f800000)); 5952 path.quadTo(SkBits2Float(0xff000001), SkBits2Float(0x7f800000), SkBits2Float(0xf f000001), SkBits2Float(0x7f800000));
5940 path.quadTo(SkBits2Float(0xff000001), SkBits2Float(0xffc00000), SkBits2Float(0xf fc00000), SkBits2Float(0xffc00000)); 5953 path.quadTo(SkBits2Float(0xff000001), SkBits2Float(0xffc00000), SkBits2Float(0xf fc00000), SkBits2Float(0xffc00000));
5941 path.quadTo(SkBits2Float(0xffc00000), SkBits2Float(0xff000001), SkBits2Float(0x7 f800000), SkBits2Float(0xff000001)); 5954 path.quadTo(SkBits2Float(0xffc00000), SkBits2Float(0xff000001), SkBits2Float(0x7 f800000), SkBits2Float(0xff000001));
5942 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0xff000001), SkBits2Float(0x7 f800000), SkBits2Float(0xffc00000)); 5955 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0xff000001), SkBits2Float(0x7 f800000), SkBits2Float(0xffc00000));
5943 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0xffc00000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000)); 5956 path.quadTo(SkBits2Float(0x7f800000), SkBits2Float(0xffc00000), SkBits2Float(0x7 f800000), SkBits2Float(0x7f800000));
5944 path.close(); 5957 path.close();
5945 5958
5946 SkPath path1(path); 5959 SkPath path1(path);
5947 path.reset(); 5960 path.reset();
5948 path.setFillType((SkPath::FillType) 0); 5961 path.setFillType((SkPath::FillType) 0);
5949 5962
5950 SkPath path2(path); 5963 SkPath path2(path);
5951 testPathOpFail(reporter, path1, path2, (SkPathOp) 2, filename); 5964 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
5952 } 5965 }
5953 5966
5954 5967
5955 static void fuzz753_91(skiatest::Reporter* reporter, const char* filename) { 5968 static void fuzz753_91(skiatest::Reporter* reporter, const char* filename) {
5956 SkPath path; 5969 SkPath path;
5957 path.setFillType((SkPath::FillType) 0); 5970 path.setFillType((SkPath::FillType) 0);
5958 path.moveTo(SkBits2Float(0x42910000), SkBits2Float(0x00000000)); // 72.5f, 0 5971 path.moveTo(SkBits2Float(0x42910000), SkBits2Float(0x00000000)); // 72.5f, 0
5959 path.lineTo(SkBits2Float(0x42166668), SkBits2Float(0x00000000)); // 37.6f, 0 5972 path.lineTo(SkBits2Float(0x42166668), SkBits2Float(0x00000000)); // 37.6f, 0
5960 path.cubicTo(SkBits2Float(0x42166668), SkBits2Float(0xc1966668), SkBits2Float(0x 41c66668), SkBits2Float(0xc20a6666), SkBits2Float(0x40f00010), SkBits2Float(0xc2 1ccccd)); // 37.6f, -18.8f, 24.8f, -34.6f, 7.50001f, -39.2f 5973 path.cubicTo(SkBits2Float(0x42166668), SkBits2Float(0xc1966668), SkBits2Float(0x 41c66668), SkBits2Float(0xc20a6666), SkBits2Float(0x40f00010), SkBits2Float(0xc2 1ccccd)); // 37.6f, -18.8f, 24.8f, -34.6f, 7.50001f, -39.2f
5961 path.lineTo(SkBits2Float(0x41840004), SkBits2Float(0xc291cccd)); // 16.5f, -72. 9f 5974 path.lineTo(SkBits2Float(0x41840004), SkBits2Float(0xc291cccd)); // 16.5f, -72. 9f
5962 path.lineTo(SkBits2Float(0x42fb6668), SkBits2Float(0x42c73334)); // 125.7f, 99. 6f 5975 path.lineTo(SkBits2Float(0x42fb6668), SkBits2Float(0x42c73334)); // 125.7f, 99. 6f
5963 path.lineTo(SkBits2Float(0x43646668), SkBits2Float(0x43880ccd)); // 228.4f, 272 .1f 5976 path.lineTo(SkBits2Float(0x43646668), SkBits2Float(0x43880ccd)); // 228.4f, 272 .1f
5964 5977
5965 SkPath path1(path); 5978 SkPath path1(path);
5966 path.reset(); 5979 path.reset();
5967 path.setFillType((SkPath::FillType) 0); 5980 path.setFillType((SkPath::FillType) 0);
5968 path.moveTo(SkBits2Float(0x428bf702), SkBits2Float(0xcf223cbf)); // 69.9824f, - 2.72189e+09f 5981 path.moveTo(SkBits2Float(0x428bf702), SkBits2Float(0xcf223cbf)); // 69.9824f, - 2.72189e+09f
5969 path.lineTo(SkBits2Float(0x42112d68), SkBits2Float(0xcf223cbf)); // 36.2943f, - 2.72189e+09f 5982 path.lineTo(SkBits2Float(0x42112d68), SkBits2Float(0xcf223cbf)); // 36.2943f, - 2.72189e+09f
5970 path.cubicTo(SkBits2Float(0x4220d9fc), SkBits2Float(0xcf223cc0), SkBits2Float(0x 420ee118), SkBits2Float(0xcf223cc0), SkBits2Float(0x41cef2f8), SkBits2Float(0xcf 223cc0)); // 40.2129f, -2.72189e+09f, 35.7198f, -2.72189e+09f, 25.8686f, -2.721 89e+09f 5983 path.cubicTo(SkBits2Float(0x4220d9fc), SkBits2Float(0xcf223cc0), SkBits2Float(0x 420ee118), SkBits2Float(0xcf223cc0), SkBits2Float(0x41cef2f8), SkBits2Float(0xcf 223cc0)); // 40.2129f, -2.72189e+09f, 35.7198f, -2.72189e+09f, 25.8686f, -2.721 89e+09f
5971 path.lineTo(SkBits2Float(0x424a99e0), SkBits2Float(0xcf223cc0)); // 50.6503f, - 2.72189e+09f 5984 path.lineTo(SkBits2Float(0x424a99e0), SkBits2Float(0xcf223cc0)); // 50.6503f, - 2.72189e+09f
5972 path.cubicTo(SkBits2Float(0x42266e32), SkBits2Float(0xcf223cc0), SkBits2Float(0x 41f0fa20), SkBits2Float(0xcf223cc0), SkBits2Float(0x41872ed4), SkBits2Float(0xcf 223cc0)); // 41.6076f, -2.72189e+09f, 30.1221f, -2.72189e+09f, 16.8979f, -2.721 89e+09f 5985 path.cubicTo(SkBits2Float(0x42266e32), SkBits2Float(0xcf223cc0), SkBits2Float(0x 41f0fa20), SkBits2Float(0xcf223cc0), SkBits2Float(0x41872ed4), SkBits2Float(0xcf 223cc0)); // 41.6076f, -2.72189e+09f, 30.1221f, -2.72189e+09f, 16.8979f, -2.721 89e+09f
5973 path.lineTo(SkBits2Float(0x40f8fbe0), SkBits2Float(0xcf223cc0)); // 7.78075f, - 2.72189e+09f 5986 path.lineTo(SkBits2Float(0x40f8fbe0), SkBits2Float(0xcf223cc0)); // 7.78075f, - 2.72189e+09f
5974 5987
5975 SkPath path2(path); 5988 SkPath path2(path);
5976 testPathOp(reporter, path1, path2, (SkPathOp) 2, filename); 5989 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
5977 } 5990 }
5978 5991
5979 static void bug597926_0(skiatest::Reporter* reporter, const char* filename) { 5992 static void bug597926_0(skiatest::Reporter* reporter, const char* filename) {
5980 SkPath path; 5993 SkPath path;
5981 path.setFillType((SkPath::FillType) 0); 5994 path.setFillType((SkPath::FillType) 0);
5982 path.moveTo(SkBits2Float(0x43b38000), SkBits2Float(0x433e0000)); // 359, 190 5995 path.moveTo(SkBits2Float(0x43b38000), SkBits2Float(0x433e0000)); // 359, 190
5983 path.lineTo(SkBits2Float(0x40c00000), SkBits2Float(0x449ce000)); // 6, 1255 5996 path.lineTo(SkBits2Float(0x40c00000), SkBits2Float(0x449ce000)); // 6, 1255
5984 path.cubicTo(SkBits2Float(0x438c0000), SkBits2Float(0x4497a000), SkBits2Float(0x 43e40000), SkBits2Float(0x44750000), SkBits2Float(0x41000000), SkBits2Float(0x44 aa2000)); // 280, 1213, 456, 980, 8, 1361 5997 path.cubicTo(SkBits2Float(0x438c0000), SkBits2Float(0x4497a000), SkBits2Float(0x 43e40000), SkBits2Float(0x44750000), SkBits2Float(0x41000000), SkBits2Float(0x44 aa2000)); // 280, 1213, 456, 980, 8, 1361
5985 path.moveTo(SkBits2Float(0x43290000), SkBits2Float(0x4431c000)); // 169, 711 5998 path.moveTo(SkBits2Float(0x43290000), SkBits2Float(0x4431c000)); // 169, 711
5986 path.lineTo(SkBits2Float(0xd987d6ba), SkBits2Float(0xd93d0ad4)); // -4.7794e+15 f, -3.32567e+15f 5999 path.lineTo(SkBits2Float(0xd987d6ba), SkBits2Float(0xd93d0ad4)); // -4.7794e+15 f, -3.32567e+15f
5987 path.conicTo(SkBits2Float(0x43cc8000), SkBits2Float(0x445b8000), SkBits2Float(0x d888b096), SkBits2Float(0xd9a1ebfa), SkBits2Float(0x3ebcb199)); // 409, 878, -1 .20234e+15f, -5.69712e+15f, 0.368542f 6000 path.conicTo(SkBits2Float(0x43cc8000), SkBits2Float(0x445b8000), SkBits2Float(0x d888b096), SkBits2Float(0xd9a1ebfa), SkBits2Float(0x3ebcb199)); // 409, 878, -1 .20234e+15f, -5.69712e+15f, 0.368542f
5988 path.cubicTo(SkBits2Float(0x43c00000), SkBits2Float(0x443a8000), SkBits2Float(0x 42380000), SkBits2Float(0x4421c000), SkBits2Float(0x42500000), SkBits2Float(0x44 8ca000)); // 384, 746, 46, 647, 52, 1125 6001 path.cubicTo(SkBits2Float(0x43c00000), SkBits2Float(0x443a8000), SkBits2Float(0x 42380000), SkBits2Float(0x4421c000), SkBits2Float(0x42500000), SkBits2Float(0x44 8ca000)); // 384, 746, 46, 647, 52, 1125
5989 path.quadTo(SkBits2Float(0x43948000), SkBits2Float(0x42ac0000), SkBits2Float(0x4 3880000), SkBits2Float(0x4487e000)); // 297, 86, 272, 1087 6002 path.quadTo(SkBits2Float(0x43948000), SkBits2Float(0x42ac0000), SkBits2Float(0x4 3880000), SkBits2Float(0x4487e000)); // 297, 86, 272, 1087
5990 SkPath path1(path); 6003 SkPath path1(path);
5991 path.reset(); 6004 path.reset();
5992 path.setFillType((SkPath::FillType) 0); 6005 path.setFillType((SkPath::FillType) 0);
5993 path.moveTo(SkBits2Float(0xc51d735c), SkBits2Float(0xc49db029)); // -2519.21f, -1261.51f 6006 path.moveTo(SkBits2Float(0xc51d735c), SkBits2Float(0xc49db029)); // -2519.21f, -1261.51f
5994 path.cubicTo(SkBits2Float(0xc51d1dbd), SkBits2Float(0xc49d7a3f), SkBits2Float(0x c51c524a), SkBits2Float(0xc49d1610), SkBits2Float(0xc51d1a96), SkBits2Float(0xc4 9d86a6)); // -2513.86f, -1259.82f, -2501.14f, -1256.69f, -2513.66f, -1260.21f 6007 path.cubicTo(SkBits2Float(0xc51d1dbd), SkBits2Float(0xc49d7a3f), SkBits2Float(0x c51c524a), SkBits2Float(0xc49d1610), SkBits2Float(0xc51d1a96), SkBits2Float(0xc4 9d86a6)); // -2513.86f, -1259.82f, -2501.14f, -1256.69f, -2513.66f, -1260.21f
5995 path.cubicTo(SkBits2Float(0xc51cd471), SkBits2Float(0xc49d54d0), SkBits2Float(0x c51c2e51), SkBits2Float(0xc49d0081), SkBits2Float(0xc51d197b), SkBits2Float(0xc4 9d7927)); // -2509.28f, -1258.65f, -2498.89f, -1256.02f, -2513.59f, -1259.79f 6008 path.cubicTo(SkBits2Float(0xc51cd471), SkBits2Float(0xc49d54d0), SkBits2Float(0x c51c2e51), SkBits2Float(0xc49d0081), SkBits2Float(0xc51d197b), SkBits2Float(0xc4 9d7927)); // -2509.28f, -1258.65f, -2498.89f, -1256.02f, -2513.59f, -1259.79f
5996 path.quadTo(SkBits2Float(0xc51bf7eb), SkBits2Float(0xc49cf010), SkBits2Float(0xc 51ba866), SkBits2Float(0xc49cb9e6)); // -2495.49f, -1255.5f, -2490.52f, -1253.8 1f 6009 path.quadTo(SkBits2Float(0xc51bf7eb), SkBits2Float(0xc49cf010), SkBits2Float(0xc 51ba866), SkBits2Float(0xc49cb9e6)); // -2495.49f, -1255.5f, -2490.52f, -1253.8 1f
5997 path.cubicTo(SkBits2Float(0xc51bac0d), SkBits2Float(0xc49cc50e), SkBits2Float(0x c51c29eb), SkBits2Float(0xc49cfb01), SkBits2Float(0xc51c5bca), SkBits2Float(0xc4 9d1fa6)); // -2490.75f, -1254.16f, -2498.62f, -1255.84f, -2501.74f, -1256.99f 6010 path.cubicTo(SkBits2Float(0xc51bac0d), SkBits2Float(0xc49cc50e), SkBits2Float(0x c51c29eb), SkBits2Float(0xc49cfb01), SkBits2Float(0xc51c5bca), SkBits2Float(0xc4 9d1fa6)); // -2490.75f, -1254.16f, -2498.62f, -1255.84f, -2501.74f, -1256.99f
5998 SkPath path2(path); 6011 SkPath path2(path);
5999 testPathOp(reporter, path1, path2, (SkPathOp) 1, filename); 6012 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6000 } 6013 }
6001 6014
6002 static void fuzz1450_0(skiatest::Reporter* reporter, const char* filename) { 6015 static void fuzz1450_0(skiatest::Reporter* reporter, const char* filename) {
6003 SkPath path; 6016 SkPath path;
6004 path.moveTo(SkBits2Float(0x43b40000), SkBits2Float(0xcf000000)); // 360, -2.147 48e+09f 6017 path.moveTo(SkBits2Float(0x43b40000), SkBits2Float(0xcf000000)); // 360, -2.147 48e+09f
6005 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0xcf000000), SkBits2Float(0x 4e800002), SkBits2Float(0xce7ffffe), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , -2.14748e+09f, 1.07374e+09f, -1.07374e+09f, 0.707107f 6018 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0xcf000000), SkBits2Float(0x 4e800002), SkBits2Float(0xce7ffffe), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , -2.14748e+09f, 1.07374e+09f, -1.07374e+09f, 0.707107f
6006 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0x43800001), SkBits2Float(0x 43348000), SkBits2Float(0x43800001), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , 256, 180.5f, 256, 0.707107f 6019 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0x43800001), SkBits2Float(0x 43348000), SkBits2Float(0x43800001), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , 256, 180.5f, 256, 0.707107f
6007 SkPath path1(path); 6020 SkPath path1(path);
6008 path.reset(); 6021 path.reset();
6009 path.moveTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140 6022 path.moveTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
6010 path.conicTo(SkBits2Float(0x43b40005), SkBits2Float(0x458a945d), SkBits2Float(0x 45610000), SkBits2Float(0x458a945d), SkBits2Float(0x3f3504f3)); // 360, 4434.55 f, 3600, 4434.55f, 0.707107f 6023 path.conicTo(SkBits2Float(0x43b40005), SkBits2Float(0x458a945d), SkBits2Float(0x 45610000), SkBits2Float(0x458a945d), SkBits2Float(0x3f3504f3)); // 360, 4434.55 f, 3600, 4434.55f, 0.707107f
6011 path.conicTo(SkBits2Float(0x45d5bfff), SkBits2Float(0x458a945d), SkBits2Float(0x 45d5bfff), SkBits2Float(0x45816000), SkBits2Float(0x3f3504f3)); // 6840, 4434.5 5f, 6840, 4140, 0.707107f 6024 path.conicTo(SkBits2Float(0x45d5bfff), SkBits2Float(0x458a945d), SkBits2Float(0x 45d5bfff), SkBits2Float(0x45816000), SkBits2Float(0x3f3504f3)); // 6840, 4434.5 5f, 6840, 4140, 0.707107f
6012 path.lineTo(SkBits2Float(0x42c80000), SkBits2Float(0x44000000)); // 100, 512 6025 path.lineTo(SkBits2Float(0x42c80000), SkBits2Float(0x44000000)); // 100, 512
6013 path.lineTo(SkBits2Float(0x42000000), SkBits2Float(0x41800000)); // 32, 16 6026 path.lineTo(SkBits2Float(0x42000000), SkBits2Float(0x41800000)); // 32, 16
6014 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024 6027 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024
6015 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140 6028 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
6016 path.close(); 6029 path.close();
6017 SkPath path2(path); 6030 SkPath path2(path);
6018 testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename); 6031 testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
6019 } 6032 }
6020 6033
6021 static void fuzz1450_1(skiatest::Reporter* reporter, const char* filename) { 6034 static void fuzz1450_1(skiatest::Reporter* reporter, const char* filename) {
6022 SkPath path; 6035 SkPath path;
6023 path.setFillType(SkPath::kEvenOdd_FillType); 6036 path.setFillType(SkPath::kEvenOdd_FillType);
6024 path.moveTo(SkBits2Float(0x4e800002), SkBits2Float(0xce7ffffe)); // 1.07374e+09 f, -1.07374e+09f 6037 path.moveTo(SkBits2Float(0x4e800002), SkBits2Float(0xce7ffffe)); // 1.07374e+09 f, -1.07374e+09f
6025 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0xcf000000), SkBits2Float(0x 43b40000), SkBits2Float(0xcf000000), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , -2.14748e+09f, 360, -2.14748e+09f, 0.707107f 6038 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0xcf000000), SkBits2Float(0x 43b40000), SkBits2Float(0xcf000000), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , -2.14748e+09f, 360, -2.14748e+09f, 0.707107f
6026 path.lineTo(SkBits2Float(0x43348000), SkBits2Float(0x43800001)); // 180.5f, 256 6039 path.lineTo(SkBits2Float(0x43348000), SkBits2Float(0x43800001)); // 180.5f, 256
6027 path.lineTo(SkBits2Float(0x42000000), SkBits2Float(0x41800000)); // 32, 16 6040 path.lineTo(SkBits2Float(0x42000000), SkBits2Float(0x41800000)); // 32, 16
6028 path.lineTo(SkBits2Float(0x42c80000), SkBits2Float(0x44000000)); // 100, 512 6041 path.lineTo(SkBits2Float(0x42c80000), SkBits2Float(0x44000000)); // 100, 512
6029 path.lineTo(SkBits2Float(0x43553abd), SkBits2Float(0x440f3cbd)); // 213.229f, 5 72.949f 6042 path.lineTo(SkBits2Float(0x43553abd), SkBits2Float(0x440f3cbd)); // 213.229f, 5 72.949f
6030 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024 6043 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x44800000)); // 360, 1024
6031 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140 6044 path.lineTo(SkBits2Float(0x43b40000), SkBits2Float(0x45816000)); // 360, 4140
6032 path.conicTo(SkBits2Float(0x43b40005), SkBits2Float(0x458a945d), SkBits2Float(0x 45610000), SkBits2Float(0x458a945d), SkBits2Float(0x3f3504f3)); // 360, 4434.55 f, 3600, 4434.55f, 0.707107f 6045 path.conicTo(SkBits2Float(0x43b40005), SkBits2Float(0x458a945d), SkBits2Float(0x 45610000), SkBits2Float(0x458a945d), SkBits2Float(0x3f3504f3)); // 360, 4434.55 f, 3600, 4434.55f, 0.707107f
6033 path.conicTo(SkBits2Float(0x45d5bfff), SkBits2Float(0x458a945d), SkBits2Float(0x 45d5bfff), SkBits2Float(0x45816000), SkBits2Float(0x3f3504f3)); // 6840, 4434.5 5f, 6840, 4140, 0.707107f 6046 path.conicTo(SkBits2Float(0x45d5bfff), SkBits2Float(0x458a945d), SkBits2Float(0x 45d5bfff), SkBits2Float(0x45816000), SkBits2Float(0x3f3504f3)); // 6840, 4434.5 5f, 6840, 4140, 0.707107f
6034 path.lineTo(SkBits2Float(0x43553abd), SkBits2Float(0x440f3cbd)); // 213.229f, 5 72.949f 6047 path.lineTo(SkBits2Float(0x43553abd), SkBits2Float(0x440f3cbd)); // 213.229f, 5 72.949f
6035 path.lineTo(SkBits2Float(0x43348000), SkBits2Float(0x43800001)); // 180.5f, 256 6048 path.lineTo(SkBits2Float(0x43348000), SkBits2Float(0x43800001)); // 180.5f, 256
6036 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0x43800001), SkBits2Float(0x 4e800002), SkBits2Float(0xce7ffffe), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , 256, 1.07374e+09f, -1.07374e+09f, 0.707107f 6049 path.conicTo(SkBits2Float(0x4e800002), SkBits2Float(0x43800001), SkBits2Float(0x 4e800002), SkBits2Float(0xce7ffffe), SkBits2Float(0x3f3504f4)); // 1.07374e+09f , 256, 1.07374e+09f, -1.07374e+09f, 0.707107f
6037 path.close(); 6050 path.close();
6038 SkPath path1(path); 6051 SkPath path1(path);
6039 path.reset(); 6052 path.reset();
6040 path.moveTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321 6053 path.moveTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321
6041 path.lineTo(SkBits2Float(0x45d5c000), SkBits2Float(0x43870000)); // 6840, 270 6054 path.lineTo(SkBits2Float(0x45d5c000), SkBits2Float(0x43870000)); // 6840, 270
6042 path.lineTo(SkBits2Float(0xd0a00000), SkBits2Float(0x4cbebc20)); // -2.14748e+1 0f, 1e+08 6055 path.lineTo(SkBits2Float(0xd0a00000), SkBits2Float(0x4cbebc20)); // -2.14748e+1 0f, 1e+08
6043 path.lineTo(SkBits2Float(0x451f7000), SkBits2Float(0x42800000)); // 2551, 64 6056 path.lineTo(SkBits2Float(0x451f7000), SkBits2Float(0x42800000)); // 2551, 64
6044 path.lineTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321 6057 path.lineTo(SkBits2Float(0x42fe0000), SkBits2Float(0x43a08000)); // 127, 321
6045 path.close(); 6058 path.close();
6046 SkPath path2(path); 6059 SkPath path2(path);
6047 testPathOpSkipAssert(reporter, path1, path2, kUnion_SkPathOp, filename); 6060 testPathOpFuzz(reporter, path1, path2, kUnion_SkPathOp, filename);
6048 } 6061 }
6049 6062
6050 static void fuzz763_9(skiatest::Reporter* reporter, const char* filename) { 6063 static void fuzz763_9(skiatest::Reporter* reporter, const char* filename) {
6051 SkPath path; 6064 SkPath path;
6052 path.setFillType((SkPath::FillType) 1); 6065 path.setFillType((SkPath::FillType) 1);
6053 6066
6054 SkPath path1(path); 6067 SkPath path1(path);
6055 path.reset(); 6068 path.reset();
6056 path.setFillType((SkPath::FillType) 0); 6069 path.setFillType((SkPath::FillType) 0);
6057 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6070 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6058 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 7bc00321), SkBits2Float(0xed7a6a4b), SkBits2Float(0x1f212a8c)); // 2.49282e-13f , 4.78968e-34f, 1.99397e+36f, -4.84373e+27f, 3.41283e-20f 6071 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 7bc00321), SkBits2Float(0xed7a6a4b), SkBits2Float(0x1f212a8c)); // 2.49282e-13f , 4.78968e-34f, 1.99397e+36f, -4.84373e+27f, 3.41283e-20f
6059 path.lineTo(SkBits2Float(0x7bc00321), SkBits2Float(0xed7a6a4b)); // 1.99397e+36 f, -4.84373e+27f 6072 path.lineTo(SkBits2Float(0x7bc00321), SkBits2Float(0xed7a6a4b)); // 1.99397e+36 f, -4.84373e+27f
6060 path.lineTo(SkBits2Float(0x282a3a21), SkBits2Float(0x3a21df28)); // 9.4495e-15f , 0.000617492f 6073 path.lineTo(SkBits2Float(0x282a3a21), SkBits2Float(0x3a21df28)); // 9.4495e-15f , 0.000617492f
6061 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6074 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6062 path.close(); 6075 path.close();
6063 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6076 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6064 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3), SkBits2Float(0x1 d2a2928), SkBits2Float(0x63962be6)); // -8.10388e-33f, 0.00148185f, 2.25206e-21 f, 5.54035e+21f 6077 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3), SkBits2Float(0x1 d2a2928), SkBits2Float(0x63962be6)); // -8.10388e-33f, 0.00148185f, 2.25206e-21 f, 5.54035e+21f
6065 path.moveTo(SkBits2Float(0x29272a81), SkBits2Float(0x2ab03a55)); // 3.71183e-14 f, 3.13044e-13f 6078 path.moveTo(SkBits2Float(0x29272a81), SkBits2Float(0x2ab03a55)); // 3.71183e-14 f, 3.13044e-13f
6066 path.quadTo(SkBits2Float(0x2720213b), SkBits2Float(0x3a214729), SkBits2Float(0xd f28282a), SkBits2Float(0x8a2f2121)); // 2.22225e-15f, 0.000615227f, -1.2117e+19 f, -8.43217e-33f 6079 path.quadTo(SkBits2Float(0x2720213b), SkBits2Float(0x3a214729), SkBits2Float(0xd f28282a), SkBits2Float(0x8a2f2121)); // 2.22225e-15f, 0.000615227f, -1.2117e+19 f, -8.43217e-33f
6067 path.quadTo(SkBits2Float(0x373b3a27), SkBits2Float(0x201fc4c1), SkBits2Float(0x2 7576c2a), SkBits2Float(0x5921c25d)); // 1.11596e-05f, 1.35329e-19f, 2.98959e-15 f, 2.8457e+15f 6080 path.quadTo(SkBits2Float(0x373b3a27), SkBits2Float(0x201fc4c1), SkBits2Float(0x2 7576c2a), SkBits2Float(0x5921c25d)); // 1.11596e-05f, 1.35329e-19f, 2.98959e-15 f, 2.8457e+15f
6068 path.quadTo(SkBits2Float(0x2720213b), SkBits2Float(0x3a214729), SkBits2Float(0xd f28282a), SkBits2Float(0x3a8a3a21)); // 2.22225e-15f, 0.000615227f, -1.2117e+19 f, 0.00105459f 6081 path.quadTo(SkBits2Float(0x2720213b), SkBits2Float(0x3a214729), SkBits2Float(0xd f28282a), SkBits2Float(0x3a8a3a21)); // 2.22225e-15f, 0.000615227f, -1.2117e+19 f, 0.00105459f
6069 path.cubicTo(SkBits2Float(0x373b3ac5), SkBits2Float(0x201fc422), SkBits2Float(0x 523a702a), SkBits2Float(0x27576c51), SkBits2Float(0x5921c25d), SkBits2Float(0x51 523a70)); // 1.11598e-05f, 1.35327e-19f, 2.00186e+11f, 2.9896e-15f, 2.8457e+15f , 5.64327e+10f 6082 path.cubicTo(SkBits2Float(0x373b3ac5), SkBits2Float(0x201fc422), SkBits2Float(0x 523a702a), SkBits2Float(0x27576c51), SkBits2Float(0x5921c25d), SkBits2Float(0x51 523a70)); // 1.11598e-05f, 1.35327e-19f, 2.00186e+11f, 2.9896e-15f, 2.8457e+15f , 5.64327e+10f
6070 path.quadTo(SkBits2Float(0xd912102a), SkBits2Float(0x284f9a28), SkBits2Float(0xb 38a1f30), SkBits2Float(0x3a3ac23a)); // -2.56957e+15f, 1.15242e-14f, -6.4318e-0 8f, 0.000712428f 6083 path.quadTo(SkBits2Float(0xd912102a), SkBits2Float(0x284f9a28), SkBits2Float(0xb 38a1f30), SkBits2Float(0x3a3ac23a)); // -2.56957e+15f, 1.15242e-14f, -6.4318e-0 8f, 0.000712428f
6071 path.lineTo(SkBits2Float(0xc809272a), SkBits2Float(0x29b02829)); // -140445, 7. 82294e-14f 6084 path.lineTo(SkBits2Float(0xc809272a), SkBits2Float(0x29b02829)); // -140445, 7. 82294e-14f
6072 6085
6073 SkPath path2(path); 6086 SkPath path2(path);
6074 testPathOp(reporter, path1, path2, (SkPathOp) 1, filename); 6087 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6075 } 6088 }
6076 6089
6077 6090
6078 static void fuzz763_4(skiatest::Reporter* reporter, const char* filename) { 6091 static void fuzz763_4(skiatest::Reporter* reporter, const char* filename) {
6079 SkPath path; 6092 SkPath path;
6080 path.setFillType((SkPath::FillType) 1); 6093 path.setFillType((SkPath::FillType) 1);
6081 6094
6082 SkPath path1(path); 6095 SkPath path1(path);
6083 path.reset(); 6096 path.reset();
6084 path.setFillType((SkPath::FillType) 0); 6097 path.setFillType((SkPath::FillType) 0);
(...skipping 13 matching lines...) Expand all
6098 path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3a21), SkBits2Float(0x8 a284f9a), SkBits2Float(0x3ac23ab3)); // -1.2117e+19f, 0.00105459f, -8.10388e-33 f, 0.00148185f 6111 path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3a21), SkBits2Float(0x8 a284f9a), SkBits2Float(0x3ac23ab3)); // -1.2117e+19f, 0.00105459f, -8.10388e-33 f, 0.00148185f
6099 path.lineTo(SkBits2Float(0x2928088c), SkBits2Float(0x2be61d2a)); // 3.73109e-14 f, 1.63506e-12f 6112 path.lineTo(SkBits2Float(0x2928088c), SkBits2Float(0x2be61d2a)); // 3.73109e-14 f, 1.63506e-12f
6100 path.conicTo(SkBits2Float(0x2a812a63), SkBits2Float(0x2d292a27), SkBits2Float(0x 5568295b), SkBits2Float(0x5b2d2968), SkBits2Float(0x552d6829)); // 2.29444e-13f , 9.6159e-12f, 1.5954e+13f, 4.87407e+16f, 1.19164e+13f 6113 path.conicTo(SkBits2Float(0x2a812a63), SkBits2Float(0x2d292a27), SkBits2Float(0x 5568295b), SkBits2Float(0x5b2d2968), SkBits2Float(0x552d6829)); // 2.29444e-13f , 9.6159e-12f, 1.5954e+13f, 4.87407e+16f, 1.19164e+13f
6101 path.conicTo(SkBits2Float(0x395b2d5b), SkBits2Float(0x68552768), SkBits2Float(0x 555b2df0), SkBits2Float(0x1f722a8c), SkBits2Float(0x082a212a)); // 0.000209024f , 4.02636e+24f, 1.50619e+13f, 5.12807e-20f, 5.11965e-34f 6114 path.conicTo(SkBits2Float(0x395b2d5b), SkBits2Float(0x68552768), SkBits2Float(0x 555b2df0), SkBits2Float(0x1f722a8c), SkBits2Float(0x082a212a)); // 0.000209024f , 4.02636e+24f, 1.50619e+13f, 5.12807e-20f, 5.11965e-34f
6102 path.lineTo(SkBits2Float(0x55685b1f), SkBits2Float(0x5b2d2968)); // 1.59674e+13 f, 4.87407e+16f 6115 path.lineTo(SkBits2Float(0x55685b1f), SkBits2Float(0x5b2d2968)); // 1.59674e+13 f, 4.87407e+16f
6103 path.close(); 6116 path.close();
6104 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f 6117 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f
6105 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x 28282a3a), SkBits2Float(0x21df212a), SkBits2Float(0x033a8a3a)); // 6.14991e+25f , 6.77381e-19f, 9.33503e-15f, 1.51198e-18f, 5.48192e-37f 6118 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x 28282a3a), SkBits2Float(0x21df212a), SkBits2Float(0x033a8a3a)); // 6.14991e+25f , 6.77381e-19f, 9.33503e-15f, 1.51198e-18f, 5.48192e-37f
6106 6119
6107 SkPath path2(path); 6120 SkPath path2(path);
6108 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename); 6121 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6109 } 6122 }
6110 6123
6111 static void fuzz763_3(skiatest::Reporter* reporter, const char* filename) { 6124 static void fuzz763_3(skiatest::Reporter* reporter, const char* filename) {
6112 SkPath path; 6125 SkPath path;
6113 path.setFillType((SkPath::FillType) 1); 6126 path.setFillType((SkPath::FillType) 1);
6114 6127
6115 SkPath path1(path); 6128 SkPath path1(path);
6116 path.reset(); 6129 path.reset();
6117 path.setFillType((SkPath::FillType) 0); 6130 path.setFillType((SkPath::FillType) 0);
6118 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6131 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
(...skipping 14 matching lines...) Expand all
6133 path.moveTo(SkBits2Float(0x962be61d), SkBits2Float(0x432a2927)); // -1.38859e-2 5f, 170.161f 6146 path.moveTo(SkBits2Float(0x962be61d), SkBits2Float(0x432a2927)); // -1.38859e-2 5f, 170.161f
6134 path.conicTo(SkBits2Float(0x3a2a552a), SkBits2Float(0x3b1e2ab0), SkBits2Float(0x 29272021), SkBits2Float(0x3b3ac527), SkBits2Float(0x1fc42236)); // 0.000649768f , 0.00241343f, 3.71093e-14f, 0.00284989f, 8.30658e-20f 6147 path.conicTo(SkBits2Float(0x3a2a552a), SkBits2Float(0x3b1e2ab0), SkBits2Float(0x 29272021), SkBits2Float(0x3b3ac527), SkBits2Float(0x1fc42236)); // 0.000649768f , 0.00241343f, 3.71093e-14f, 0.00284989f, 8.30658e-20f
6135 path.cubicTo(SkBits2Float(0x27576c2a), SkBits2Float(0x5921c25d), SkBits2Float(0x 51503a70), SkBits2Float(0x12102a10), SkBits2Float(0x633a28d9), SkBits2Float(0x29 c80927)); // 2.98959e-15f, 2.8457e+15f, 5.58959e+10f, 4.54902e-28f, 3.43404e+21 f, 8.88337e-14f 6148 path.cubicTo(SkBits2Float(0x27576c2a), SkBits2Float(0x5921c25d), SkBits2Float(0x 51503a70), SkBits2Float(0x12102a10), SkBits2Float(0x633a28d9), SkBits2Float(0x29 c80927)); // 2.98959e-15f, 2.8457e+15f, 5.58959e+10f, 4.54902e-28f, 3.43404e+21 f, 8.88337e-14f
6136 path.lineTo(SkBits2Float(0x272927b0), SkBits2Float(0x5b392929)); // 2.3475e-15f , 5.21181e+16f 6149 path.lineTo(SkBits2Float(0x272927b0), SkBits2Float(0x5b392929)); // 2.3475e-15f , 5.21181e+16f
6137 path.moveTo(SkBits2Float(0x3a1127b4), SkBits2Float(0x2921ee3b)); // 0.000553723 f, 3.59558e-14f 6150 path.moveTo(SkBits2Float(0x3a1127b4), SkBits2Float(0x2921ee3b)); // 0.000553723 f, 3.59558e-14f
6138 path.cubicTo(SkBits2Float(0x5e215d3b), SkBits2Float(0x7828ee3a), SkBits2Float(0x 8e28b03b), SkBits2Float(0x50783be8), SkBits2Float(0x9e0b8a3a), SkBits2Float(0x55 5b2d68)); // 2.90688e+18f, 1.37053e+34f, -2.07925e-30f, 1.66587e+10f, -7.38718e -21f, 1.50618e+13f 6151 path.cubicTo(SkBits2Float(0x5e215d3b), SkBits2Float(0x7828ee3a), SkBits2Float(0x 8e28b03b), SkBits2Float(0x50783be8), SkBits2Float(0x9e0b8a3a), SkBits2Float(0x55 5b2d68)); // 2.90688e+18f, 1.37053e+34f, -2.07925e-30f, 1.66587e+10f, -7.38718e -21f, 1.50618e+13f
6139 path.moveTo(SkBits2Float(0x21081f3f), SkBits2Float(0x9fd4e62a)); // 4.61199e-19 f, -9.01663e-20f 6152 path.moveTo(SkBits2Float(0x21081f3f), SkBits2Float(0x9fd4e62a)); // 4.61199e-19 f, -9.01663e-20f
6140 path.cubicTo(SkBits2Float(0x3a293a2a), SkBits2Float(0x0e3bf0c5), SkBits2Float(0x 3b29d42a), SkBits2Float(0x0f217265), SkBits2Float(0x2d5d2921), SkBits2Float(0x55 68295b)); // 0.000645551f, 2.31655e-30f, 0.00259138f, 7.95994e-30f, 1.25715e-11 f, 1.5954e+13f 6153 path.cubicTo(SkBits2Float(0x3a293a2a), SkBits2Float(0x0e3bf0c5), SkBits2Float(0x 3b29d42a), SkBits2Float(0x0f217265), SkBits2Float(0x2d5d2921), SkBits2Float(0x55 68295b)); // 0.000645551f, 2.31655e-30f, 0.00259138f, 7.95994e-30f, 1.25715e-11 f, 1.5954e+13f
6141 6154
6142 SkPath path2(path); 6155 SkPath path2(path);
6143 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename); 6156 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6144 } 6157 }
6145 6158
6146 static void fuzz763_5(skiatest::Reporter* reporter, const char* filename) { 6159 static void fuzz763_5(skiatest::Reporter* reporter, const char* filename) {
6147 SkPath path; 6160 SkPath path;
6148 path.setFillType((SkPath::FillType) 1); 6161 path.setFillType((SkPath::FillType) 1);
6149 6162
6150 SkPath path1(path); 6163 SkPath path1(path);
6151 path.reset(); 6164 path.reset();
6152 path.setFillType((SkPath::FillType) 0); 6165 path.setFillType((SkPath::FillType) 0);
6153 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f 6166 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f
6154 path.conicTo(SkBits2Float(0xc0032108), SkBits2Float(0x7a6a4b79), SkBits2Float(0x 212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0)); // -2.04889f, 3 .04132e+35f, 5.77848e-19f, 4.7323e-37f, 5.63611e+25f 6167 path.conicTo(SkBits2Float(0xc0032108), SkBits2Float(0x7a6a4b79), SkBits2Float(0x 212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0)); // -2.04889f, 3 .04132e+35f, 5.77848e-19f, 4.7323e-37f, 5.63611e+25f
6155 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f 6168 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f
6156 path.cubicTo(SkBits2Float(0xe62a2928), SkBits2Float(0x2a63962b), SkBits2Float(0x 68295b2d), SkBits2Float(0x2d296855), SkBits2Float(0x2a8c555b), SkBits2Float(0x00 1f2a21)); // -2.0089e+23f, 2.02138e-13f, 3.19905e+24f, 9.6297e-12f, 2.49282e-13 f, 2.86201e-39f 6169 path.cubicTo(SkBits2Float(0xe62a2928), SkBits2Float(0x2a63962b), SkBits2Float(0x 68295b2d), SkBits2Float(0x2d296855), SkBits2Float(0x2a8c555b), SkBits2Float(0x00 1f2a21)); // -2.0089e+23f, 2.02138e-13f, 3.19905e+24f, 9.6297e-12f, 2.49282e-13 f, 2.86201e-39f
6157 path.lineTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f 6170 path.lineTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f
6158 path.close(); 6171 path.close();
6159 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f 6172 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f
6160 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x 21081f21), SkBits2Float(0x3a7bc003), SkBits2Float(0x47ed7a6a)); // 6.14991e+25f , 2.50338e-13f, 4.61198e-19f, 0.00096035f, 121589 6173 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x 21081f21), SkBits2Float(0x3a7bc003), SkBits2Float(0x47ed7a6a)); // 6.14991e+25f , 2.50338e-13f, 4.61198e-19f, 0.00096035f, 121589
6161 path.lineTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f 6174 path.lineTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f
6162 path.close(); 6175 path.close();
6163 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f 6176 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x2a2a8c55)); // 4.76191e+16 f, 1.51477e-13f
6164 path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3b21), SkBits2Float(0x2 8ee4f9a), SkBits2Float(0x68293b78)); // -1.2117e+19f, 0.00105462f, 2.64578e-14f , 3.19671e+24f 6177 path.quadTo(SkBits2Float(0xdf28282a), SkBits2Float(0x3a8a3b21), SkBits2Float(0x2 8ee4f9a), SkBits2Float(0x68293b78)); // -1.2117e+19f, 0.00105462f, 2.64578e-14f , 3.19671e+24f
6165 path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x5b2d8c55)); // 4.87407e+16 f, 4.88495e+16f 6178 path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x5b2d8c55)); // 4.87407e+16 f, 4.88495e+16f
6166 6179
6167 SkPath path2(path); 6180 SkPath path2(path);
6168 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 6181 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6169 } 6182 }
6170 6183
6171 static void fuzz763_2(skiatest::Reporter* reporter, const char* filename) { 6184 static void fuzz763_2(skiatest::Reporter* reporter, const char* filename) {
6172 SkPath path; 6185 SkPath path;
6173 path.setFillType((SkPath::FillType) 1); 6186 path.setFillType((SkPath::FillType) 1);
6174 6187
6175 SkPath path1(path); 6188 SkPath path1(path);
6176 path.reset(); 6189 path.reset();
6177 path.setFillType((SkPath::FillType) 0); 6190 path.setFillType((SkPath::FillType) 0);
6178 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6191 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
(...skipping 18 matching lines...) Expand all
6197 path.close(); 6210 path.close();
6198 path.moveTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f 6211 path.moveTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f
6199 path.quadTo(SkBits2Float(0x216a2770), SkBits2Float(0x2ab73b28), SkBits2Float(0x4 b28f427), SkBits2Float(0x283b5b28)); // 7.93345e-19f, 3.25484e-13f, 1.10726e+07 f, 1.04004e-14f 6212 path.quadTo(SkBits2Float(0x216a2770), SkBits2Float(0x2ab73b28), SkBits2Float(0x4 b28f427), SkBits2Float(0x283b5b28)); // 7.93345e-19f, 3.25484e-13f, 1.10726e+07 f, 1.04004e-14f
6200 path.lineTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f 6213 path.lineTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f
6201 path.close(); 6214 path.close();
6202 path.moveTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f 6215 path.moveTo(SkBits2Float(0x2a3a2147), SkBits2Float(0xdf212828)); // 1.65317e-13 f, -1.16126e+19f
6203 path.conicTo(SkBits2Float(0xf86d273b), SkBits2Float(0x27e523e3), SkBits2Float(0x 2927e0f5), SkBits2Float(0x2ac0e729), SkBits2Float(0x6b492128)); // -1.92402e+34 f, 6.35992e-15f, 3.72766e-14f, 3.42665e-13f, 2.43151e+26f 6216 path.conicTo(SkBits2Float(0xf86d273b), SkBits2Float(0x27e523e3), SkBits2Float(0x 2927e0f5), SkBits2Float(0x2ac0e729), SkBits2Float(0x6b492128)); // -1.92402e+34 f, 6.35992e-15f, 3.72766e-14f, 3.42665e-13f, 2.43151e+26f
6204 path.cubicTo(SkBits2Float(0x2f273927), SkBits2Float(0xa83a2c21), SkBits2Float(0x d7122121), SkBits2Float(0x21212921), SkBits2Float(0x3be3db3a), SkBits2Float(0xa9 deb63b)); // 1.52089e-10f, -1.03346e-14f, -1.60671e+14f, 5.46034e-19f, 0.006953 62f, -9.89039e-14f 6217 path.cubicTo(SkBits2Float(0x2f273927), SkBits2Float(0xa83a2c21), SkBits2Float(0x d7122121), SkBits2Float(0x21212921), SkBits2Float(0x3be3db3a), SkBits2Float(0xa9 deb63b)); // 1.52089e-10f, -1.03346e-14f, -1.60671e+14f, 5.46034e-19f, 0.006953 62f, -9.89039e-14f
6205 6218
6206 SkPath path2(path); 6219 SkPath path2(path);
6207 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename); 6220 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6208 } 6221 }
6209 6222
6210 // crbug.com/626164 6223 // crbug.com/626164
6211 static void fuzz763_1c(skiatest::Reporter* reporter, const char* filename) { 6224 static void fuzz763_1c(skiatest::Reporter* reporter, const char* filename) {
6212 SkPath path; 6225 SkPath path;
6213 path.setFillType((SkPath::FillType) 0); 6226 path.setFillType((SkPath::FillType) 0);
6214 6227
6215 SkPath path1(path); 6228 SkPath path1(path);
6216 path.reset(); 6229 path.reset();
6217 path.setFillType((SkPath::FillType) 0); 6230 path.setFillType((SkPath::FillType) 0);
6218 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6231 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6219 path.cubicTo(SkBits2Float(0x1931204a), SkBits2Float(0x2ba1a14a), SkBits2Floa t(0x4a4a08ff), SkBits2Float(0x4a4a08ff), SkBits2Float(0x4a4a4a34), SkBits2Float( 0x4a4a4a4a)); // 9.15721e-24f, 1.14845e-12f, 3.31014e+06f, 3.31014e+06f, 3.3143 2e+06f, 3.31432e+06f 6232 path.cubicTo(SkBits2Float(0x1931204a), SkBits2Float(0x2ba1a14a), SkBits2Floa t(0x4a4a08ff), SkBits2Float(0x4a4a08ff), SkBits2Float(0x4a4a4a34), SkBits2Float( 0x4a4a4a4a)); // 9.15721e-24f, 1.14845e-12f, 3.31014e+06f, 3.31014e+06f, 3.3143 2e+06f, 3.31432e+06f
6220 path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533 e-42f, 9.15715e-24f 6233 path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533 e-42f, 9.15715e-24f
6221 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Floa t(0xa14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float( 0x4a344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.536 47e-33f, 2.95387e+06f 6234 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Floa t(0xa14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float( 0x4a344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.536 47e-33f, 2.95387e+06f
6222 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Floa t(0x2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float( 0xa1a181ff)); // 3.31432e+06f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.3143 2e+06f, -1.09442e-18f 6235 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Floa t(0x2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float( 0xa1a181ff)); // 3.31432e+06f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.3143 2e+06f, -1.09442e-18f
6223 6236
6224 SkPath path2(path); 6237 SkPath path2(path);
6225 SkPath dummy; 6238 SkPath dummy;
6226 testPathOp(reporter, path1, path2, (SkPathOp)4, filename); 6239 testPathOpFuzz(reporter, path1, path2, (SkPathOp)4, filename);
6227 } 6240 }
6228 6241
6229 // crbug.com/626186 6242 // crbug.com/626186
6230 static void fuzz763_1b(skiatest::Reporter* reporter, const char* filename) { 6243 static void fuzz763_1b(skiatest::Reporter* reporter, const char* filename) {
6231 SkPath path; 6244 SkPath path;
6232 path.setFillType((SkPath::FillType) 0); 6245 path.setFillType((SkPath::FillType) 0);
6233 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6246 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6234 path.cubicTo(SkBits2Float(0x0000ff07), SkBits2Float(0xf9f9ff00), SkBits2Floa t(0xfe0ef9f4), SkBits2Float(0xd9b105fb), SkBits2Float(0x000000f9), SkBits2Float( 0xfe11f901)); // 9.14866e-41f, -1.62257e+35f, -4.75121e+37f, -6.22846e+15f, 3.4 8923e-43f, -4.85077e+37f 6247 path.cubicTo(SkBits2Float(0x0000ff07), SkBits2Float(0xf9f9ff00), SkBits2Floa t(0xfe0ef9f4), SkBits2Float(0xd9b105fb), SkBits2Float(0x000000f9), SkBits2Float( 0xfe11f901)); // 9.14866e-41f, -1.62257e+35f, -4.75121e+37f, -6.22846e+15f, 3.4 8923e-43f, -4.85077e+37f
6235 path.lineTo(SkBits2Float(0xda1905ed), SkBits2Float(0x3c05fbfb)); // -1.0768 e+16f, 0.00817775f 6248 path.lineTo(SkBits2Float(0xda1905ed), SkBits2Float(0x3c05fbfb)); // -1.0768 e+16f, 0.00817775f
6236 path.cubicTo(SkBits2Float(0x3c3c3c3c), SkBits2Float(0x3c3c3c3c), SkBits2Floa t(0x253c7f00), SkBits2Float(0xfa00d3fa), SkBits2Float(0x250025fe), SkBits2Float( 0x00000006)); // 0.011489f, 0.011489f, 1.63494e-16f, -1.67228e+35f, 1.11151e-16 f, 8.40779e-45f 6249 path.cubicTo(SkBits2Float(0x3c3c3c3c), SkBits2Float(0x3c3c3c3c), SkBits2Floa t(0x253c7f00), SkBits2Float(0xfa00d3fa), SkBits2Float(0x250025fe), SkBits2Float( 0x00000006)); // 0.011489f, 0.011489f, 1.63494e-16f, -1.67228e+35f, 1.11151e-16 f, 8.40779e-45f
6237 6250
6238 SkPath path1(path); 6251 SkPath path1(path);
6239 path.reset(); 6252 path.reset();
6240 path.setFillType((SkPath::FillType) 0); 6253 path.setFillType((SkPath::FillType) 0);
6241 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6254 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6242 path.quadTo(SkBits2Float(0x3c3c3c3c), SkBits2Float(0xfa253c3c), SkBits2Float (0xfefa00d3), SkBits2Float(0x25fad9df)); // 0.011489f, -2.14488e+35f, -1.66156e +38f, 4.35157e-16f 6255 path.quadTo(SkBits2Float(0x3c3c3c3c), SkBits2Float(0xfa253c3c), SkBits2Float (0xfefa00d3), SkBits2Float(0x25fad9df)); // 0.011489f, -2.14488e+35f, -1.66156e +38f, 4.35157e-16f
6243 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6256 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6244 path.close(); 6257 path.close();
6245 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6258 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6246 path.lineTo(SkBits2Float(0x8dfefa00), SkBits2Float(0xf0f9fad9)); // -1.5714 1e-30f, -6.1892e+29f 6259 path.lineTo(SkBits2Float(0x8dfefa00), SkBits2Float(0xf0f9fad9)); // -1.5714 1e-30f, -6.1892e+29f
6247 path.cubicTo(SkBits2Float(0x20fe58f9), SkBits2Float(0x0525fbed), SkBits2Floa t(0x1905ffff), SkBits2Float(0x01f9f9f9), SkBits2Float(0xfbfe0ef9), SkBits2Float( 0xfb212fff)); // 4.30882e-19f, 7.80453e-36f, 6.92764e-24f, 9.18268e-38f, -2.638 29e+36f, -8.36933e+35f 6260 path.cubicTo(SkBits2Float(0x20fe58f9), SkBits2Float(0x0525fbed), SkBits2Floa t(0x1905ffff), SkBits2Float(0x01f9f9f9), SkBits2Float(0xfbfe0ef9), SkBits2Float( 0xfb212fff)); // 4.30882e-19f, 7.80453e-36f, 6.92764e-24f, 9.18268e-38f, -2.638 29e+36f, -8.36933e+35f
6248 6261
6249 SkPath path2(path); 6262 SkPath path2(path);
6250 testPathOp(reporter, path1, path2, (SkPathOp)2, filename); 6263 testPathOpFuzz(reporter, path1, path2, (SkPathOp)2, filename);
6251 } 6264 }
6252 6265
6253 static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) { 6266 static void fuzz763_1a(skiatest::Reporter* reporter, const char* filename) {
6254 // FIXME: fails on Nexus5 by generating a path with points that are not inside t he path bounds 6267 // FIXME: fails on Nexus5 by generating a path with points that are not inside t he path bounds
6255 #if DEBUG_UNDER_DEVELOPMENT 6268 #if DEBUG_UNDER_DEVELOPMENT
6256 return; 6269 return;
6257 #endif 6270 #endif
6258 SkPath path; 6271 SkPath path;
6259 path.setFillType((SkPath::FillType) 0); 6272 path.setFillType((SkPath::FillType) 0);
6260 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6273 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
(...skipping 10 matching lines...) Expand all
6271 path.conicTo(SkBits2Float(0x5947ffff), SkBits2Float(0x40e88004), SkBits2Floa t(0x00002059), SkBits2Float(0x28555900), SkBits2Float(0x5959d559)); // 3.51844e +15f, 7.26563f, 1.16042e-41f, 1.18432e-14f, 3.83217e+15f 6284 path.conicTo(SkBits2Float(0x5947ffff), SkBits2Float(0x40e88004), SkBits2Floa t(0x00002059), SkBits2Float(0x28555900), SkBits2Float(0x5959d559)); // 3.51844e +15f, 7.26563f, 1.16042e-41f, 1.18432e-14f, 3.83217e+15f
6272 path.lineTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f 6285 path.lineTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f
6273 path.close(); 6286 path.close();
6274 path.moveTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f 6287 path.moveTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f
6275 path.lineTo(SkBits2Float(0x38d57f4b), SkBits2Float(0x59597f4b)); // 0.00010 1803f, 3.82625e+15f 6288 path.lineTo(SkBits2Float(0x38d57f4b), SkBits2Float(0x59597f4b)); // 0.00010 1803f, 3.82625e+15f
6276 path.lineTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f 6289 path.lineTo(SkBits2Float(0x3f3f3f3f), SkBits2Float(0xff3f3f3f)); // 0.74705 9f, -2.54211e+38f
6277 path.close(); 6290 path.close();
6278 path.moveTo(SkBits2Float(0x384700ff), SkBits2Float(0x0108804b)); // 4.74462 e-05f, 2.50713e-38f 6291 path.moveTo(SkBits2Float(0x384700ff), SkBits2Float(0x0108804b)); // 4.74462 e-05f, 2.50713e-38f
6279 6292
6280 SkPath path2(path); 6293 SkPath path2(path);
6281 testPathOp(reporter, path1, path2, (SkPathOp)0, filename); 6294 testPathOpFuzz(reporter, path1, path2, (SkPathOp)0, filename);
6282 } 6295 }
6283 6296
6284 // crbug.com/627780 6297 // crbug.com/627780
6285 static void fuzz763_3a(skiatest::Reporter* reporter, const char* filename) { 6298 static void fuzz763_3a(skiatest::Reporter* reporter, const char* filename) {
6286 SkPath path; 6299 SkPath path;
6287 path.setFillType((SkPath::FillType) 1); 6300 path.setFillType((SkPath::FillType) 1);
6288 6301
6289 SkPath path1(path); 6302 SkPath path1(path);
6290 path.reset(); 6303 path.reset();
6291 path.setFillType((SkPath::FillType) 0); 6304 path.setFillType((SkPath::FillType) 0);
6292 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6305 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6293 path.lineTo(SkBits2Float(0x555b292d), SkBits2Float(0x2a212a8c)); // 1.50606e+13 f, 1.43144e-13f 6306 path.lineTo(SkBits2Float(0x555b292d), SkBits2Float(0x2a212a8c)); // 1.50606e+13 f, 1.43144e-13f
6294 path.conicTo(SkBits2Float(0xc0032108), SkBits2Float(0x7a6a4b7b), SkBits2Float(0x 212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0)); // -2.04889f, 3 .04132e+35f, 5.77848e-19f, 4.7323e-37f, 5.63611e+25f 6307 path.conicTo(SkBits2Float(0xc0032108), SkBits2Float(0x7a6a4b7b), SkBits2Float(0x 212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x6a3a7bc0)); // -2.04889f, 3 .04132e+35f, 5.77848e-19f, 4.7323e-37f, 5.63611e+25f
6295 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f 6308 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f
6296 path.cubicTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x63962be6), SkBits2Float(0x 272a812a), SkBits2Float(0x295b2d29), SkBits2Float(0x2a685568), SkBits2Float(0x68 295b2d)); // 2.25206e-21f, 5.54035e+21f, 2.36623e-15f, 4.86669e-14f, 2.06354e-1 3f, 3.19905e+24f 6309 path.cubicTo(SkBits2Float(0x1d2a2928), SkBits2Float(0x63962be6), SkBits2Float(0x 272a812a), SkBits2Float(0x295b2d29), SkBits2Float(0x2a685568), SkBits2Float(0x68 295b2d)); // 2.25206e-21f, 5.54035e+21f, 2.36623e-15f, 4.86669e-14f, 2.06354e-1 3f, 3.19905e+24f
6297 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 7bc00321), SkBits2Float(0x7a6a4b77), SkBits2Float(0x3a214726)); // 2.49282e-13f , 4.78968e-34f, 1.99397e+36f, 3.04132e+35f, 0.000615226f 6310 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 7bc00321), SkBits2Float(0x7a6a4b77), SkBits2Float(0x3a214726)); // 2.49282e-13f , 4.78968e-34f, 1.99397e+36f, 3.04132e+35f, 0.000615226f
6298 path.moveTo(SkBits2Float(0x8adf2028), SkBits2Float(0x3a219a3a)); // -2.14862e-3 2f, 0.000616464f 6311 path.moveTo(SkBits2Float(0x8adf2028), SkBits2Float(0x3a219a3a)); // -2.14862e-3 2f, 0.000616464f
6299 path.quadTo(SkBits2Float(0x3ab38e28), SkBits2Float(0x29283ac2), SkBits2Float(0x2 be61d2a), SkBits2Float(0x812a4396)); // 0.0013699f, 3.73545e-14f, 1.63506e-12f, -3.12726e-38f 6312 path.quadTo(SkBits2Float(0x3ab38e28), SkBits2Float(0x29283ac2), SkBits2Float(0x2 be61d2a), SkBits2Float(0x812a4396)); // 0.0013699f, 3.73545e-14f, 1.63506e-12f, -3.12726e-38f
6300 6313
6301 SkPath path2(path); 6314 SkPath path2(path);
6302 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 1, filename); 6315 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
6303 } 6316 }
6304 6317
6305 // crbug.com/627689 6318 // crbug.com/627689
6306 static void fuzz763_5a(skiatest::Reporter* reporter, const char* filename) { 6319 static void fuzz763_5a(skiatest::Reporter* reporter, const char* filename) {
6307 SkPath path; 6320 SkPath path;
6308 path.setFillType((SkPath::FillType) 1); 6321 path.setFillType((SkPath::FillType) 1);
6309 path.moveTo(SkBits2Float(0x38bd8610), SkBits2Float(0x00000000)); // 9.03719e-05 f, 0 6322 path.moveTo(SkBits2Float(0x38bd8610), SkBits2Float(0x00000000)); // 9.03719e-05 f, 0
6310 path.conicTo(SkBits2Float(0x4183d871), SkBits2Float(0x41fea321), SkBits2Float(0x b700ff00), SkBits2Float(0x4240b8b8), SkBits2Float(0x3b058283)); // 16.4807f, 31 .8297f, -7.68877e-06f, 48.1804f, 0.0020372f 6323 path.conicTo(SkBits2Float(0x4183d871), SkBits2Float(0x41fea321), SkBits2Float(0x b700ff00), SkBits2Float(0x4240b8b8), SkBits2Float(0x3b058283)); // 16.4807f, 31 .8297f, -7.68877e-06f, 48.1804f, 0.0020372f
6311 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f 6324 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f
6312 path.conicTo(SkBits2Float(0x3a455ec8), SkBits2Float(0xb8b8b8b3), SkBits2Float(0x 38b2418d), SkBits2Float(0xb730d014), SkBits2Float(0x3f7ffff3)); // 0.000752908f , -8.80821e-05f, 8.49991e-05f, -1.05389e-05f, 0.999999f 6325 path.conicTo(SkBits2Float(0x3a455ec8), SkBits2Float(0xb8b8b8b3), SkBits2Float(0x 38b2418d), SkBits2Float(0xb730d014), SkBits2Float(0x3f7ffff3)); // 0.000752908f , -8.80821e-05f, 8.49991e-05f, -1.05389e-05f, 0.999999f
6313 path.quadTo(SkBits2Float(0x3a51246a), SkBits2Float(0xb6da45a3), SkBits2Float(0x3 8bc5c3c), SkBits2Float(0x00000000)); // 0.000797814f, -6.50501e-06f, 8.98172e-0 5f, 0 6326 path.quadTo(SkBits2Float(0x3a51246a), SkBits2Float(0xb6da45a3), SkBits2Float(0x3 8bc5c3c), SkBits2Float(0x00000000)); // 0.000797814f, -6.50501e-06f, 8.98172e-0 5f, 0
6314 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f 6327 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f
6315 path.quadTo(SkBits2Float(0x39a32d2d), SkBits2Float(0x00000000), SkBits2Float(0xb 8a13a00), SkBits2Float(0x00000000)); // 0.000311234f, 0, -7.68788e-05f, 0 6328 path.quadTo(SkBits2Float(0x39a32d2d), SkBits2Float(0x00000000), SkBits2Float(0xb 8a13a00), SkBits2Float(0x00000000)); // 0.000311234f, 0, -7.68788e-05f, 0
6316 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f 6329 path.lineTo(SkBits2Float(0x3a3a3ab8), SkBits2Float(0xb8b8b8b8)); // 0.000710409 f, -8.80821e-05f
6317 path.quadTo(SkBits2Float(0x39ba814c), SkBits2Float(0xb838fed2), SkBits2Float(0x0 0000000), SkBits2Float(0x00000000)); // 0.00035573f, -4.41063e-05f, 0, 0 6330 path.quadTo(SkBits2Float(0x39ba814c), SkBits2Float(0xb838fed2), SkBits2Float(0x0 0000000), SkBits2Float(0x00000000)); // 0.00035573f, -4.41063e-05f, 0, 0
6318 path.lineTo(SkBits2Float(0x38bd8610), SkBits2Float(0x00000000)); // 9.03719e-05 f, 0 6331 path.lineTo(SkBits2Float(0x38bd8610), SkBits2Float(0x00000000)); // 9.03719e-05 f, 0
6319 path.close(); 6332 path.close();
6320 6333
6321 SkPath path1(path); 6334 SkPath path1(path);
6322 path.reset(); 6335 path.reset();
6323 path.setFillType((SkPath::FillType) 0); 6336 path.setFillType((SkPath::FillType) 0);
6324 6337
6325 SkPath path2(path); 6338 SkPath path2(path);
6326 testPathOp(reporter, path1, path2, (SkPathOp) 4, filename); 6339 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6327 } 6340 }
6328 6341
6329 // crbug.com/627401 6342 // crbug.com/627401
6330 static void fuzz763_2a(skiatest::Reporter* reporter, const char* filename) { 6343 static void fuzz763_2a(skiatest::Reporter* reporter, const char* filename) {
6331 SkPath path; 6344 SkPath path;
6332 path.setFillType((SkPath::FillType) 1); 6345 path.setFillType((SkPath::FillType) 1);
6333 6346
6334 SkPath path1(path); 6347 SkPath path1(path);
6335 path.reset(); 6348 path.reset();
6336 path.setFillType((SkPath::FillType) 0); 6349 path.setFillType((SkPath::FillType) 0);
6337 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6350 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6338 path.quadTo(SkBits2Float(0x3e484500), SkBits2Float(0x164f3a30), SkBits2Float(0x4 9484801), SkBits2Float(0x7d0100c8)); // 0.195576f, 1.67397e-25f, 820352, 1.0717 2e+37f 6351 path.quadTo(SkBits2Float(0x3e484500), SkBits2Float(0x164f3a30), SkBits2Float(0x4 9484801), SkBits2Float(0x7d0100c8)); // 0.195576f, 1.67397e-25f, 820352, 1.0717 2e+37f
6339 path.conicTo(SkBits2Float(0xff7f36fd), SkBits2Float(0x3e647d01), SkBits2Float(0x 0c00f430), SkBits2Float(0x486b6448), SkBits2Float(0x00484848)); // -3.39239e+38 f, 0.223133f, 9.93424e-32f, 241041, 6.63809e-39f 6352 path.conicTo(SkBits2Float(0xff7f36fd), SkBits2Float(0x3e647d01), SkBits2Float(0x 0c00f430), SkBits2Float(0x486b6448), SkBits2Float(0x00484848)); // -3.39239e+38 f, 0.223133f, 9.93424e-32f, 241041, 6.63809e-39f
6340 path.lineTo(SkBits2Float(0x4f4f557d), SkBits2Float(0x48480112)); // 3.47849e+09 f, 204804 6353 path.lineTo(SkBits2Float(0x4f4f557d), SkBits2Float(0x48480112)); // 3.47849e+09 f, 204804
6341 path.lineTo(SkBits2Float(0xf40c01ff), SkBits2Float(0x45008000)); // -4.43702e+3 1f, 2056 6354 path.lineTo(SkBits2Float(0xf40c01ff), SkBits2Float(0x45008000)); // -4.43702e+3 1f, 2056
6342 path.moveTo(SkBits2Float(0x4bfffa00), SkBits2Float(0x7d4ac859)); // 3.35514e+07 f, 1.68465e+37f 6355 path.moveTo(SkBits2Float(0x4bfffa00), SkBits2Float(0x7d4ac859)); // 3.35514e+07 f, 1.68465e+37f
6343 path.conicTo(SkBits2Float(0x7d014f3e), SkBits2Float(0x00f4ff01), SkBits2Float(0x 6b64480c), SkBits2Float(0x48484848), SkBits2Float(0x557d0100)); // 1.07426e+37f , 2.24993e-38f, 2.75975e+26f, 205089, 1.73863e+13f 6356 path.conicTo(SkBits2Float(0x7d014f3e), SkBits2Float(0x00f4ff01), SkBits2Float(0x 6b64480c), SkBits2Float(0x48484848), SkBits2Float(0x557d0100)); // 1.07426e+37f , 2.24993e-38f, 2.75975e+26f, 205089, 1.73863e+13f
6344 6357
6345 SkPath path2(path); 6358 SkPath path2(path);
6346 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6359 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6347 } 6360 }
6348 6361
6349 // crbug.com/627761 6362 // crbug.com/627761
6350 static void fuzz763_2b(skiatest::Reporter* reporter, const char* filename) { 6363 static void fuzz763_2b(skiatest::Reporter* reporter, const char* filename) {
6351 SkPath path; 6364 SkPath path;
6352 path.setFillType((SkPath::FillType) 1); 6365 path.setFillType((SkPath::FillType) 1);
6353 6366
6354 SkPath path1(path); 6367 SkPath path1(path);
6355 path.reset(); 6368 path.reset();
6356 path.setFillType((SkPath::FillType) 0); 6369 path.setFillType((SkPath::FillType) 0);
(...skipping 27 matching lines...) Expand all
6384 path.conicTo(SkBits2Float(0x7a6a4b7b), SkBits2Float(0x212a8ced), SkBits2Float(0x 0321081f), SkBits2Float(0x6a3a7bc0), SkBits2Float(0x3a21477a)); // 3.04132e+35f , 5.77848e-19f, 4.7323e-37f, 5.63611e+25f, 0.000615231f 6397 path.conicTo(SkBits2Float(0x7a6a4b7b), SkBits2Float(0x212a8ced), SkBits2Float(0x 0321081f), SkBits2Float(0x6a3a7bc0), SkBits2Float(0x3a21477a)); // 3.04132e+35f , 5.77848e-19f, 4.7323e-37f, 5.63611e+25f, 0.000615231f
6385 path.moveTo(SkBits2Float(0x21df2828), SkBits2Float(0x9a3a8a3a)); // 1.51217e-18 f, -3.85756e-23f 6398 path.moveTo(SkBits2Float(0x21df2828), SkBits2Float(0x9a3a8a3a)); // 1.51217e-18 f, -3.85756e-23f
6386 path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x28273ac2), SkBits2Float(0xe 61d2a29), SkBits2Float(0x2a63962b)); // 0.00136978f, 9.2831e-15f, -1.85547e+23f , 2.02138e-13f 6399 path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x28273ac2), SkBits2Float(0xe 61d2a29), SkBits2Float(0x2a63962b)); // 0.00136978f, 9.2831e-15f, -1.85547e+23f , 2.02138e-13f
6387 path.conicTo(SkBits2Float(0x2d29272a), SkBits2Float(0x5568295b), SkBits2Float(0x 5b2d2968), SkBits2Float(0x5b2d6829), SkBits2Float(0x212a8c55)); // 9.61523e-12f , 1.5954e+13f, 4.87407e+16f, 4.88097e+16f, 5.7784e-19f 6400 path.conicTo(SkBits2Float(0x2d29272a), SkBits2Float(0x5568295b), SkBits2Float(0x 5b2d2968), SkBits2Float(0x5b2d6829), SkBits2Float(0x212a8c55)); // 9.61523e-12f , 1.5954e+13f, 4.87407e+16f, 4.88097e+16f, 5.7784e-19f
6388 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6401 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6389 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f 6402 path.conicTo(SkBits2Float(0x3a2147ed), SkBits2Float(0xdf28282a), SkBits2Float(0x 3a8a3a21), SkBits2Float(0x8a284f9a), SkBits2Float(0x3ac23ab3)); // 0.000615238f , -1.2117e+19f, 0.00105459f, -8.10388e-33f, 0.00148185f
6390 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6403 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6391 path.close(); 6404 path.close();
6392 6405
6393 SkPath path2(path); 6406 SkPath path2(path);
6394 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 6407 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6395 } 6408 }
6396 6409
6397 static void fuzz763_2c(skiatest::Reporter* reporter, const char* filename) { 6410 static void fuzz763_2c(skiatest::Reporter* reporter, const char* filename) {
6398 SkPath path; 6411 SkPath path;
6399 path.setFillType((SkPath::FillType) 1); 6412 path.setFillType((SkPath::FillType) 1);
6400 6413
6401 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x36344a4a)); // 0, 2.68653e -06f 6414 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x36344a4a)); // 0, 2.68653e -06f
6402 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000), SkBits2Float(0x 364a4a4a), SkBits2Float(0x364a4a4a), SkBits2Float(0x00000000), SkBits2Float(0x00 000000)); // 0, 0, 3.01436e-06f, 3.01436e-06f, 0, 0 6415 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000), SkBits2Float(0x 364a4a4a), SkBits2Float(0x364a4a4a), SkBits2Float(0x00000000), SkBits2Float(0x00 000000)); // 0, 0, 3.01436e-06f, 3.01436e-06f, 0, 0
6403 path.lineTo(SkBits2Float(0x364a4a4a), SkBits2Float(0x00000000)); // 3.01436e-06 f, 0 6416 path.lineTo(SkBits2Float(0x364a4a4a), SkBits2Float(0x00000000)); // 3.01436e-06 f, 0
6404 path.cubicTo(SkBits2Float(0x364a30f0), SkBits2Float(0x344ac7fb), SkBits2Float(0x 3656d432), SkBits2Float(0x34cabb48), SkBits2Float(0x367031a9), SkBits2Float(0x35 1802f1)); // 3.01288e-06f, 1.88855e-07f, 3.2012e-06f, 3.77617e-07f, 3.57917e-06 f, 5.66287e-07f 6417 path.cubicTo(SkBits2Float(0x364a30f0), SkBits2Float(0x344ac7fb), SkBits2Float(0x 3656d432), SkBits2Float(0x34cabb48), SkBits2Float(0x367031a9), SkBits2Float(0x35 1802f1)); // 3.01288e-06f, 1.88855e-07f, 3.2012e-06f, 3.77617e-07f, 3.57917e-06 f, 5.66287e-07f
6405 path.cubicTo(SkBits2Float(0x36a7b150), SkBits2Float(0x35ab09db), SkBits2Float(0x 371874ed), SkBits2Float(0x3604f2c7), SkBits2Float(0x3784e0c7), SkBits2Float(0x36 344a51)); // 4.99763e-06f, 1.27434e-06f, 9.08713e-06f, 1.98108e-06f, 1.58403e-0 5f, 2.68653e-06f 6418 path.cubicTo(SkBits2Float(0x36a7b150), SkBits2Float(0x35ab09db), SkBits2Float(0x 371874ed), SkBits2Float(0x3604f2c7), SkBits2Float(0x3784e0c7), SkBits2Float(0x36 344a51)); // 4.99763e-06f, 1.27434e-06f, 9.08713e-06f, 1.98108e-06f, 1.58403e-0 5f, 2.68653e-06f
6406 path.cubicTo(SkBits2Float(0x3743dc9a), SkBits2Float(0x36344a4f), SkBits2Float(0x 36fbef33), SkBits2Float(0x36344a4e), SkBits2Float(0x36604a35), SkBits2Float(0x36 344a4c)); // 1.16743e-05f, 2.68653e-06f, 7.50823e-06f, 2.68653e-06f, 3.34218e-0 6f, 2.68653e-06f 6419 path.cubicTo(SkBits2Float(0x3743dc9a), SkBits2Float(0x36344a4f), SkBits2Float(0x 36fbef33), SkBits2Float(0x36344a4e), SkBits2Float(0x36604a35), SkBits2Float(0x36 344a4c)); // 1.16743e-05f, 2.68653e-06f, 7.50823e-06f, 2.68653e-06f, 3.34218e-0 6f, 2.68653e-06f
6407 path.cubicTo(SkBits2Float(0x36531715), SkBits2Float(0x36344a4c), SkBits2Float(0x 3645e3f5), SkBits2Float(0x36344a4b), SkBits2Float(0x3638b0d4), SkBits2Float(0x36 344a4b)); // 3.14549e-06f, 2.68653e-06f, 2.9488e-06f, 2.68653e-06f, 2.75211e-06 f, 2.68653e-06f 6420 path.cubicTo(SkBits2Float(0x36531715), SkBits2Float(0x36344a4c), SkBits2Float(0x 3645e3f5), SkBits2Float(0x36344a4b), SkBits2Float(0x3638b0d4), SkBits2Float(0x36 344a4b)); // 3.14549e-06f, 2.68653e-06f, 2.9488e-06f, 2.68653e-06f, 2.75211e-06 f, 2.68653e-06f
6408 path.cubicTo(SkBits2Float(0x35f64120), SkBits2Float(0x36344a4b), SkBits2Float(0x 35764124), SkBits2Float(0x36344a4a), SkBits2Float(0x00000000), SkBits2Float(0x36 344a4a)); // 1.83474e-06f, 2.68653e-06f, 9.17369e-07f, 2.68653e-06f, 0, 2.68653 e-06f 6421 path.cubicTo(SkBits2Float(0x35f64120), SkBits2Float(0x36344a4b), SkBits2Float(0x 35764124), SkBits2Float(0x36344a4a), SkBits2Float(0x00000000), SkBits2Float(0x36 344a4a)); // 1.83474e-06f, 2.68653e-06f, 9.17369e-07f, 2.68653e-06f, 0, 2.68653 e-06f
6409 path.close(); 6422 path.close();
6410 SkPath path1(path); 6423 SkPath path1(path);
6411 path.reset(); 6424 path.reset();
6412 path.setFillType((SkPath::FillType) 0); 6425 path.setFillType((SkPath::FillType) 0);
6413 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6426 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6414 path.cubicTo(SkBits2Float(0x1931204a), SkBits2Float(0x2ba1a14a), SkBits2Float(0x 4a4a08ff), SkBits2Float(0x4a4a08ff), SkBits2Float(0x4a4a4a34), SkBits2Float(0x4a 4a4a4a)); // 9.15721e-24f, 1.14845e-12f, 3.31014e+06f, 3.31014e+06f, 3.31432e+0 6f, 3.31432e+06f 6427 path.cubicTo(SkBits2Float(0x1931204a), SkBits2Float(0x2ba1a14a), SkBits2Float(0x 4a4a08ff), SkBits2Float(0x4a4a08ff), SkBits2Float(0x4a4a4a34), SkBits2Float(0x4a 4a4a4a)); // 9.15721e-24f, 1.14845e-12f, 3.31014e+06f, 3.31014e+06f, 3.31432e+0 6f, 3.31432e+06f
6415 path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533e-42 f, 9.15715e-24f 6428 path.moveTo(SkBits2Float(0x000010a1), SkBits2Float(0x19312000)); // 5.96533e-42 f, 9.15715e-24f
6416 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x a14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float(0x4a 344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.53647e- 33f, 2.95387e+06f 6429 path.cubicTo(SkBits2Float(0x4a4a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x a14a4a4a), SkBits2Float(0x08ff2ba1), SkBits2Float(0x08ff4a4a), SkBits2Float(0x4a 344a4a)); // 3.31432e+06f, 3.31432e+06f, -6.85386e-19f, 1.53575e-33f, 1.53647e- 33f, 2.95387e+06f
6417 path.cubicTo(SkBits2Float(0x544a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x 2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa1 a181ff)); // 3.47532e+12f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.31432e+0 6f, -1.09442e-18f 6430 path.cubicTo(SkBits2Float(0x544a4a4a), SkBits2Float(0x4a4a4a4a), SkBits2Float(0x 2ba1a14a), SkBits2Float(0x4e4a08ff), SkBits2Float(0x4a4a4a4a), SkBits2Float(0xa1 a181ff)); // 3.47532e+12f, 3.31432e+06f, 1.14845e-12f, 8.47397e+08f, 3.31432e+0 6f, -1.09442e-18f
6418 SkPath path2(path); 6431 SkPath path2(path);
6419 testPathOpCheck(reporter, path1, path2, kReverseDifference_SkPathOp, filenam e, true); 6432 testPathOpFuzz(reporter, path1, path2, kReverseDifference_SkPathOp, filename );
6420 } 6433 }
6421 6434
6422 static void fuzz763_6(skiatest::Reporter* reporter, const char* filename) { 6435 static void fuzz763_6(skiatest::Reporter* reporter, const char* filename) {
6423 SkPath path; 6436 SkPath path;
6424 path.setFillType((SkPath::FillType) 1); 6437 path.setFillType((SkPath::FillType) 1);
6425 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f 6438 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f
6426 path.cubicTo(SkBits2Float(0x68295b2d), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x00000000), SkBits2Float(0x68 556829)); // 3.19905e+24f, 0, 0, 0, 0, 4.03114e+24f 6439 path.cubicTo(SkBits2Float(0x68295b2d), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x00000000), SkBits2Float(0x68 556829)); // 3.19905e+24f, 0, 0, 0, 0, 4.03114e+24f
6427 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68555b2a)); // 0, 4.03018e +24f 6440 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68555b2a)); // 0, 4.03018e +24f
6428 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x67d55b2a), SkBits2Float(0x 67296a4b), SkBits2Float(0x67555b2a), SkBits2Float(0x677e1f70), SkBits2Float(0x66 d55b2a)); // 0, 2.01509e+24f, 8.00041e+23f, 1.00755e+24f, 1.20006e+24f, 5.03773 e+23f 6441 path.cubicTo(SkBits2Float(0x00000000), SkBits2Float(0x67d55b2a), SkBits2Float(0x 67296a4b), SkBits2Float(0x67555b2a), SkBits2Float(0x677e1f70), SkBits2Float(0x66 d55b2a)); // 0, 2.01509e+24f, 8.00041e+23f, 1.00755e+24f, 1.20006e+24f, 5.03773 e+23f
6429 path.cubicTo(SkBits2Float(0x678f0684), SkBits2Float(0x6684f008), SkBits2Float(0x 6798f8ea), SkBits2Float(0x6625a942), SkBits2Float(0x67961914), SkBits2Float(0x65 ce709a)); // 1.35084e+24f, 3.1389e+23f, 1.44478e+24f, 1.95578e+23f, 1.41764e+24 f, 1.21861e+23f 6442 path.cubicTo(SkBits2Float(0x678f0684), SkBits2Float(0x6684f008), SkBits2Float(0x 6798f8ea), SkBits2Float(0x6625a942), SkBits2Float(0x67961914), SkBits2Float(0x65 ce709a)); // 1.35084e+24f, 3.1389e+23f, 1.44478e+24f, 1.95578e+23f, 1.41764e+24 f, 1.21861e+23f
6430 path.cubicTo(SkBits2Float(0x679174f7), SkBits2Float(0x63199132), SkBits2Float(0x 6756c79f), SkBits2Float(0x606478de), SkBits2Float(0x65682bcf), SkBits2Float(0x00 000000)); // 1.3738e+24f, 2.83281e+21f, 1.01427e+24f, 6.58526e+19f, 6.85248e+22 f, 0 6443 path.cubicTo(SkBits2Float(0x679174f7), SkBits2Float(0x63199132), SkBits2Float(0x 6756c79f), SkBits2Float(0x606478de), SkBits2Float(0x65682bcf), SkBits2Float(0x00 000000)); // 1.3738e+24f, 2.83281e+21f, 1.01427e+24f, 6.58526e+19f, 6.85248e+22 f, 0
6431 path.conicTo(SkBits2Float(0x68295b02), SkBits2Float(0x60f7f28b), SkBits2Float(0x 00000000), SkBits2Float(0x6a2a291f), SkBits2Float(0x42784f5a)); // 3.19903e+24f , 1.42932e+20f, 0, 5.14279e+25f, 62.0775f 6444 path.conicTo(SkBits2Float(0x68295b02), SkBits2Float(0x60f7f28b), SkBits2Float(0x 00000000), SkBits2Float(0x6a2a291f), SkBits2Float(0x42784f5a)); // 3.19903e+24f , 1.42932e+20f, 0, 5.14279e+25f, 62.0775f
6432 path.close(); 6445 path.close();
6433 path.moveTo(SkBits2Float(0x654d6d10), SkBits2Float(0x00000000)); // 6.06311e+22 f, 0 6446 path.moveTo(SkBits2Float(0x654d6d10), SkBits2Float(0x00000000)); // 6.06311e+22 f, 0
6434 path.lineTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x00000000)); // 6.14991e+25 f, 0 6447 path.lineTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x00000000)); // 6.14991e+25 f, 0
6435 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc0)); // 0, 6.14991e +25f 6448 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc0)); // 0, 6.14991e +25f
6436 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6449 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6437 6450
6438 SkPath path1(path); 6451 SkPath path1(path);
6439 path.reset(); 6452 path.reset();
6440 path.setFillType((SkPath::FillType) 0); 6453 path.setFillType((SkPath::FillType) 0);
6441 path.moveTo(SkBits2Float(0x3ac23a55), SkBits2Float(0x2a292827)); // 0.00148184f , 1.50241e-13f 6454 path.moveTo(SkBits2Float(0x3ac23a55), SkBits2Float(0x2a292827)); // 0.00148184f , 1.50241e-13f
6442 path.lineTo(SkBits2Float(0x63962be6), SkBits2Float(0x272a812a)); // 5.54035e+21 f, 2.36623e-15f 6455 path.lineTo(SkBits2Float(0x63962be6), SkBits2Float(0x272a812a)); // 5.54035e+21 f, 2.36623e-15f
6443 6456
6444 SkPath path2(path); 6457 SkPath path2(path);
6445 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename); 6458 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6446 } 6459 }
6447 6460
6448 static void fuzz763_7(skiatest::Reporter* reporter, const char* filename) { 6461 static void fuzz763_7(skiatest::Reporter* reporter, const char* filename) {
6449 SkPath path; 6462 SkPath path;
6450 path.setFillType((SkPath::FillType) 0); 6463 path.setFillType((SkPath::FillType) 0);
6451 6464
6452 SkPath path1(path); 6465 SkPath path1(path);
6453 path.reset(); 6466 path.reset();
6454 path.setFillType((SkPath::FillType) 0); 6467 path.setFillType((SkPath::FillType) 0);
6455 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6468 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
6489 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6502 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6490 path.close(); 6503 path.close();
6491 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6504 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6492 path.quadTo(SkBits2Float(0x2d28282a), SkBits2Float(0x5568295b), SkBits2Float(0x3 a21df68), SkBits2Float(0x4f9a3a8a)); // 9.55861e-12f, 1.5954e+13f, 0.000617495f , 5.17506e+09f 6505 path.quadTo(SkBits2Float(0x2d28282a), SkBits2Float(0x5568295b), SkBits2Float(0x3 a21df68), SkBits2Float(0x4f9a3a8a)); // 9.55861e-12f, 1.5954e+13f, 0.000617495f , 5.17506e+09f
6493 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6506 path.lineTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6494 path.close(); 6507 path.close();
6495 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 6508 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
6496 path.cubicTo(SkBits2Float(0x5568c23a), SkBits2Float(0x5b2d2968), SkBits2Float(0x 212a8c55), SkBits2Float(0x21081f2a), SkBits2Float(0x3a7bc003), SkBits2Float(0x29 4b2827)); // 1.59951e+13f, 4.87407e+16f, 5.7784e-19f, 4.61198e-19f, 0.00096035f , 4.51099e-14f 6509 path.cubicTo(SkBits2Float(0x5568c23a), SkBits2Float(0x5b2d2968), SkBits2Float(0x 212a8c55), SkBits2Float(0x21081f2a), SkBits2Float(0x3a7bc003), SkBits2Float(0x29 4b2827)); // 1.59951e+13f, 4.87407e+16f, 5.7784e-19f, 4.61198e-19f, 0.00096035f , 4.51099e-14f
6497 6510
6498 SkPath path2(path); 6511 SkPath path2(path);
6499 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename); 6512 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6500 } 6513 }
6501 6514
6502 static void kfuzz2(skiatest::Reporter* reporter, const char* filename) { 6515 static void kfuzz2(skiatest::Reporter* reporter, const char* filename) {
6503 SkPath path1; 6516 SkPath path1;
6504 SkPath path; 6517 SkPath path;
6505 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f 6518 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f
6506 path.close(); 6519 path.close();
6507 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f 6520 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f
6508 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xf19e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0x60600100), SkBits2Float(0x01 00ff60)); // -2.36118e+21f, -1.57043e+30f, -1.26726e+30f, -3.40177e+38f, 6.4564 7e+19f, 2.36931e-38f 6521 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xf19e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0x60600100), SkBits2Float(0x01 00ff60)); // -2.36118e+21f, -1.57043e+30f, -1.26726e+30f, -3.40177e+38f, 6.4564 7e+19f, 2.36931e-38f
6509 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f 6522 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0xfafadbfa)); // 0, -6.51268 e+35f
(...skipping 12 matching lines...) Expand all
6522 path.close(); 6535 path.close();
6523 path.moveTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f 6536 path.moveTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f
6524 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xf19e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0xfafafa00), SkBits2Float(0xfa fafafa)); // -2.36118e+21f, -1.57043e+30f, -1.26726e+30f, -3.40177e+38f, -6.515 72e+35f, -6.51582e+35f 6537 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xf19e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0xfafafa00), SkBits2Float(0xfa fafafa)); // -2.36118e+21f, -1.57043e+30f, -1.26726e+30f, -3.40177e+38f, -6.515 72e+35f, -6.51582e+35f
6525 path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f 6538 path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f
6526 path.close(); 6539 path.close();
6527 path.moveTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f 6540 path.moveTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f
6528 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xe39e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0xeed0ee9a), SkBits2Float(0x9a 98ffca)); // -2.36118e+21f, -5.85032e+21f, -1.26726e+30f, -3.40177e+38f, -3.233 07e+28f, -6.3279e-23f 6541 path.cubicTo(SkBits2Float(0xe3000000), SkBits2Float(0xe39e92c7), SkBits2Float(0x f17febcb), SkBits2Float(0xff7febcb), SkBits2Float(0xeed0ee9a), SkBits2Float(0x9a 98ffca)); // -2.36118e+21f, -5.85032e+21f, -1.26726e+30f, -3.40177e+38f, -3.233 07e+28f, -6.3279e-23f
6529 path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f 6542 path.lineTo(SkBits2Float(0xba98ffee), SkBits2Float(0xfafafa1a)); // -0.0011673f , -6.51573e+35f
6530 path.close(); 6543 path.close();
6531 SkPath path2(path); 6544 SkPath path2(path);
6532 testPathOpFail(reporter, path1, path2, kXOR_SkPathOp, filename); 6545 testPathOpFuzz(reporter, path1, path2, kXOR_SkPathOp, filename);
6533 } 6546 }
6534 6547
6535 static void fuzz763_10(skiatest::Reporter* reporter, const char* filename) { 6548 static void fuzz763_10(skiatest::Reporter* reporter, const char* filename) {
6536 SkPath path; 6549 SkPath path;
6537 path.setFillType((SkPath::FillType) 1); 6550 path.setFillType((SkPath::FillType) 1);
6538 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x68556829)); // 0, 4.03114e +24f 6551 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x68556829)); // 0, 4.03114e +24f
6539 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6552 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6540 path.quadTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x00000000), SkBits2Float(0x0 0000000), SkBits2Float(0x6a4b7bc4)); // 6.14991e+25f, 0, 0, 6.14991e+25f 6553 path.quadTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x00000000), SkBits2Float(0x0 0000000), SkBits2Float(0x6a4b7bc4)); // 6.14991e+25f, 0, 0, 6.14991e+25f
6541 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68556829)); // 0, 4.03114e +24f 6554 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68556829)); // 0, 4.03114e +24f
6542 path.close(); 6555 path.close();
(...skipping 22 matching lines...) Expand all
6565 path.quadTo(SkBits2Float(0x282a282a), SkBits2Float(0x8a3a21df), SkBits2Float(0x2 728282a), SkBits2Float(0x8a3a2129)); // 9.4456e-15f, -8.96194e-33f, 2.33365e-15 f, -8.96181e-33f 6578 path.quadTo(SkBits2Float(0x282a282a), SkBits2Float(0x8a3a21df), SkBits2Float(0x2 728282a), SkBits2Float(0x8a3a2129)); // 9.4456e-15f, -8.96194e-33f, 2.33365e-15 f, -8.96181e-33f
6566 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3a3ac2b3), SkBits2Float(0x2 a292827), SkBits2Float(0x962be61d)); // -8.10388e-33f, 0.000712435f, 1.50241e-1 3f, -1.38859e-25f 6579 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3a3ac2b3), SkBits2Float(0x2 a292827), SkBits2Float(0x962be61d)); // -8.10388e-33f, 0.000712435f, 1.50241e-1 3f, -1.38859e-25f
6567 path.lineTo(SkBits2Float(0x272a802a), SkBits2Float(0x2a8c2d29)); // 2.36617e-15 f, 2.49003e-13f 6580 path.lineTo(SkBits2Float(0x272a802a), SkBits2Float(0x2a8c2d29)); // 2.36617e-15 f, 2.49003e-13f
6568 path.lineTo(SkBits2Float(0xc021211f), SkBits2Float(0x6a4b7b03)); // -2.51765f, 6.14982e+25f 6581 path.lineTo(SkBits2Float(0xc021211f), SkBits2Float(0x6a4b7b03)); // -2.51765f, 6.14982e+25f
6569 path.close(); 6582 path.close();
6570 path.moveTo(SkBits2Float(0x4f9a3a29), SkBits2Float(0x3ab38a28)); // 5.17501e+09 f, 0.00136978f 6583 path.moveTo(SkBits2Float(0x4f9a3a29), SkBits2Float(0x3ab38a28)); // 5.17501e+09 f, 0.00136978f
6571 path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2 d8c5568), SkBits2Float(0x1f2a2172)); // -232.189f, 4.7684e+16f, 1.59541e-11f, 3 .60266e-20f 6584 path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2 d8c5568), SkBits2Float(0x1f2a2172)); // -232.189f, 4.7684e+16f, 1.59541e-11f, 3 .60266e-20f
6572 path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14 f, 5.72747e+16f 6585 path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14 f, 5.72747e+16f
6573 6586
6574 SkPath path2(path); 6587 SkPath path2(path);
6575 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 6588 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6576 } 6589 }
6577 6590
6578 static void fuzz763_11(skiatest::Reporter* reporter, const char* filename) { 6591 static void fuzz763_11(skiatest::Reporter* reporter, const char* filename) {
6579 SkPath path; 6592 SkPath path;
6580 path.setFillType((SkPath::FillType) 0); 6593 path.setFillType((SkPath::FillType) 0);
6581 6594
6582 SkPath path1(path); 6595 SkPath path1(path);
6583 path.reset(); 6596 path.reset();
6584 path.setFillType((SkPath::FillType) 0); 6597 path.setFillType((SkPath::FillType) 0);
6585 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6598 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 30 matching lines...) Expand all
6616 path.lineTo(SkBits2Float(0x213b1e2a), SkBits2Float(0x27292720)); // 6.3398e-19f , 2.34747e-15f 6629 path.lineTo(SkBits2Float(0x213b1e2a), SkBits2Float(0x27292720)); // 6.3398e-19f , 2.34747e-15f
6617 path.conicTo(SkBits2Float(0x371f203a), SkBits2Float(0xc52a22c4), SkBits2Float(0x c25d27ec), SkBits2Float(0x3a705921), SkBits2Float(0x5210513a)); // 9.48464e-06f , -2722.17f, -55.289f, 0.000916855f, 1.5496e+11f 6630 path.conicTo(SkBits2Float(0x371f203a), SkBits2Float(0xc52a22c4), SkBits2Float(0x c25d27ec), SkBits2Float(0x3a705921), SkBits2Float(0x5210513a)); // 9.48464e-06f , -2722.17f, -55.289f, 0.000916855f, 1.5496e+11f
6618 path.cubicTo(SkBits2Float(0x63102ad9), SkBits2Float(0x29c80927), SkBits2Float(0x 633a27b0), SkBits2Float(0x2909c827), SkBits2Float(0x272927b1), SkBits2Float(0x3a 685b2d)); // 2.65942e+21f, 8.88337e-14f, 3.43395e+21f, 3.05937e-14f, 2.3475e-15 f, 0.000886368f 6631 path.cubicTo(SkBits2Float(0x63102ad9), SkBits2Float(0x29c80927), SkBits2Float(0x 633a27b0), SkBits2Float(0x2909c827), SkBits2Float(0x272927b1), SkBits2Float(0x3a 685b2d)); // 2.65942e+21f, 8.88337e-14f, 3.43395e+21f, 3.05937e-14f, 2.3475e-15 f, 0.000886368f
6619 path.moveTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24 f, 5.15884e-14f 6632 path.moveTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24 f, 5.15884e-14f
6620 path.conicTo(SkBits2Float(0xaa8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 5b2d0321), SkBits2Float(0x68556829), SkBits2Float(0x5b2d2729)); // -2.49282e-13 f, 4.78968e-34f, 4.86986e+16f, 4.03114e+24f, 4.87382e+16f 6633 path.conicTo(SkBits2Float(0xaa8c555b), SkBits2Float(0x081f2a21), SkBits2Float(0x 5b2d0321), SkBits2Float(0x68556829), SkBits2Float(0x5b2d2729)); // -2.49282e-13 f, 4.78968e-34f, 4.86986e+16f, 4.03114e+24f, 4.87382e+16f
6621 path.quadTo(SkBits2Float(0x2d685568), SkBits2Float(0x5568295b), SkBits2Float(0x2 a552d29), SkBits2Float(0x295b2d27)); // 1.32066e-11f, 1.5954e+13f, 1.89339e-13f , 4.86669e-14f 6634 path.quadTo(SkBits2Float(0x2d685568), SkBits2Float(0x5568295b), SkBits2Float(0x2 a552d29), SkBits2Float(0x295b2d27)); // 1.32066e-11f, 1.5954e+13f, 1.89339e-13f , 4.86669e-14f
6622 path.lineTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24 f, 5.15884e-14f 6635 path.lineTo(SkBits2Float(0x682d6829), SkBits2Float(0x29685555)); // 3.27556e+24 f, 5.15884e-14f
6623 path.close(); 6636 path.close();
6624 6637
6625 SkPath path2(path); 6638 SkPath path2(path);
6626 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6639 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6627 } 6640 }
6628 6641
6629 static void fuzz763_12(skiatest::Reporter* reporter, const char* filename) { 6642 static void fuzz763_12(skiatest::Reporter* reporter, const char* filename) {
6630 SkPath path; 6643 SkPath path;
6631 path.setFillType((SkPath::FillType) 1); 6644 path.setFillType((SkPath::FillType) 1);
6632 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 6645 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
6633 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a29082a)); // 0, 5.10868e +25f 6646 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a29082a)); // 0, 5.10868e +25f
6634 path.conicTo(SkBits2Float(0x6a295ac3), SkBits2Float(0x61bb988e), SkBits2Float(0x 6829682d), SkBits2Float(0x5f3ba76a), SkBits2Float(0x42730a87)); // 5.11843e+25f , 4.32567e+20f, 3.20001e+24f, 1.35219e+19f, 60.7603f 6647 path.conicTo(SkBits2Float(0x6a295ac3), SkBits2Float(0x61bb988e), SkBits2Float(0x 6829682d), SkBits2Float(0x5f3ba76a), SkBits2Float(0x42730a87)); // 5.11843e+25f , 4.32567e+20f, 3.20001e+24f, 1.35219e+19f, 60.7603f
6635 path.conicTo(SkBits2Float(0x67aedf99), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x3f801112)); // 1.65163e+24f , 0, 0, 0, 1.00052f 6648 path.conicTo(SkBits2Float(0x67aedf99), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x3f801112)); // 1.65163e+24f , 0, 0, 0, 1.00052f
6636 path.close(); 6649 path.close();
(...skipping 17 matching lines...) Expand all
6654 path.moveTo(SkBits2Float(0x29272a1d), SkBits2Float(0xb03a2a55)); // 3.7118e-14f , -6.77266e-10f 6667 path.moveTo(SkBits2Float(0x29272a1d), SkBits2Float(0xb03a2a55)); // 3.7118e-14f , -6.77266e-10f
6655 path.moveTo(SkBits2Float(0x20213b1e), SkBits2Float(0xc5272927)); // 1.36568e-19 f, -2674.57f 6668 path.moveTo(SkBits2Float(0x20213b1e), SkBits2Float(0xc5272927)); // 1.36568e-19 f, -2674.57f
6656 path.quadTo(SkBits2Float(0xc422373b), SkBits2Float(0xec2a201f), SkBits2Float(0x2 1c25d27), SkBits2Float(0x523a7059)); // -648.863f, -8.22676e+26f, 1.31706e-18f, 2.00187e+11f 6669 path.quadTo(SkBits2Float(0xc422373b), SkBits2Float(0xec2a201f), SkBits2Float(0x2 1c25d27), SkBits2Float(0x523a7059)); // -648.863f, -8.22676e+26f, 1.31706e-18f, 2.00187e+11f
6657 path.cubicTo(SkBits2Float(0x12102a10), SkBits2Float(0xe73a28d9), SkBits2Float(0x c8092763), SkBits2Float(0x2927b029), SkBits2Float(0x295b2d27), SkBits2Float(0x2d 685568)); // 4.54902e-28f, -8.79114e+23f, -140446, 3.72342e-14f, 4.86669e-14f, 1.32066e-11f 6670 path.cubicTo(SkBits2Float(0x12102a10), SkBits2Float(0xe73a28d9), SkBits2Float(0x c8092763), SkBits2Float(0x2927b029), SkBits2Float(0x295b2d27), SkBits2Float(0x2d 685568)); // 4.54902e-28f, -8.79114e+23f, -140446, 3.72342e-14f, 4.86669e-14f, 1.32066e-11f
6658 path.moveTo(SkBits2Float(0x68556809), SkBits2Float(0x555b2d29)); // 4.03113e+24 f, 1.50617e+13f 6671 path.moveTo(SkBits2Float(0x68556809), SkBits2Float(0x555b2d29)); // 4.03113e+24 f, 1.50617e+13f
6659 path.moveTo(SkBits2Float(0x1f2a212a), SkBits2Float(0x2d032108)); // 3.60263e-20 f, 7.45382e-12f 6672 path.moveTo(SkBits2Float(0x1f2a212a), SkBits2Float(0x2d032108)); // 3.60263e-20 f, 7.45382e-12f
6660 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x2a552d29)); // 4.03114e+24 f, 1.89339e-13f 6673 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x2a552d29)); // 4.03114e+24 f, 1.89339e-13f
6661 path.cubicTo(SkBits2Float(0x21295b2d), SkBits2Float(0x2a528c5b), SkBits2Float(0x 284f5b2d), SkBits2Float(0x218aa621), SkBits2Float(0x3f2d2db3), SkBits2Float(0x68 293a2a)); // 5.73801e-19f, 1.87004e-13f, 1.15106e-14f, 9.39522e-19f, 0.676479f, 3.19661e+24f 6674 path.cubicTo(SkBits2Float(0x21295b2d), SkBits2Float(0x2a528c5b), SkBits2Float(0x 284f5b2d), SkBits2Float(0x218aa621), SkBits2Float(0x3f2d2db3), SkBits2Float(0x68 293a2a)); // 5.73801e-19f, 1.87004e-13f, 1.15106e-14f, 9.39522e-19f, 0.676479f, 3.19661e+24f
6662 6675
6663 SkPath path2(path); 6676 SkPath path2(path);
6664 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6677 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6665 } 6678 }
6666 6679
6667 static void fuzz763_13(skiatest::Reporter* reporter, const char* filename) { 6680 static void fuzz763_13(skiatest::Reporter* reporter, const char* filename) {
6668 SkPath path; 6681 SkPath path;
6669 path.setFillType((SkPath::FillType) 1); 6682 path.setFillType((SkPath::FillType) 1);
6670 6683
6671 SkPath path1(path); 6684 SkPath path1(path);
6672 path.reset(); 6685 path.reset();
6673 path.setFillType((SkPath::FillType) 0); 6686 path.setFillType((SkPath::FillType) 0);
6674 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f 6687 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f
(...skipping 15 matching lines...) Expand all
6690 path.close(); 6703 path.close();
6691 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f 6704 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f
6692 path.lineTo(SkBits2Float(0x5b2d6829), SkBits2Float(0x212a8c55)); // 4.88097e+16 f, 5.7784e-19f 6705 path.lineTo(SkBits2Float(0x5b2d6829), SkBits2Float(0x212a8c55)); // 4.88097e+16 f, 5.7784e-19f
6693 path.conicTo(SkBits2Float(0x8ced7aba), SkBits2Float(0x3f2a212a), SkBits2Float(0x 2d212d08), SkBits2Float(0x5568295b), SkBits2Float(0x29685b2d)); // -3.65895e-31 f, 0.664569f, 9.16179e-12f, 1.5954e+13f, 5.15934e-14f 6706 path.conicTo(SkBits2Float(0x8ced7aba), SkBits2Float(0x3f2a212a), SkBits2Float(0x 2d212d08), SkBits2Float(0x5568295b), SkBits2Float(0x29685b2d)); // -3.65895e-31 f, 0.664569f, 9.16179e-12f, 1.5954e+13f, 5.15934e-14f
6694 path.lineTo(SkBits2Float(0x68295b68), SkBits2Float(0x2d296855)); // 3.19906e+24 f, 9.6297e-12f 6707 path.lineTo(SkBits2Float(0x68295b68), SkBits2Float(0x2d296855)); // 3.19906e+24 f, 9.6297e-12f
6695 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f 6708 path.moveTo(SkBits2Float(0x212a8c55), SkBits2Float(0x21081f2a)); // 5.7784e-19f , 4.61198e-19f
6696 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x 21081f21), SkBits2Float(0x6aba7b03), SkBits2Float(0x2147ed7a)); // 6.14991e+25f , 2.50338e-13f, 4.61198e-19f, 1.12721e+26f, 6.77381e-19f 6709 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x2a8ced7a), SkBits2Float(0x 21081f21), SkBits2Float(0x6aba7b03), SkBits2Float(0x2147ed7a)); // 6.14991e+25f , 2.50338e-13f, 4.61198e-19f, 1.12721e+26f, 6.77381e-19f
6697 path.quadTo(SkBits2Float(0x6028282a), SkBits2Float(0x68292ddf), SkBits2Float(0x5 b2d555b), SkBits2Float(0x68556829)); // 4.84679e+19f, 3.1957e+24f, 4.8789e+16f, 4.03114e+24f 6710 path.quadTo(SkBits2Float(0x6028282a), SkBits2Float(0x68292ddf), SkBits2Float(0x5 b2d555b), SkBits2Float(0x68556829)); // 4.84679e+19f, 3.1957e+24f, 4.8789e+16f, 4.03114e+24f
6698 6711
6699 SkPath path2(path); 6712 SkPath path2(path);
6700 testPathOp(reporter, path1, path2, (SkPathOp) 4, filename); 6713 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6701 } 6714 }
6702 6715
6703 static void fuzz763_14(skiatest::Reporter* reporter, const char* filename) { 6716 static void fuzz763_14(skiatest::Reporter* reporter, const char* filename) {
6704 SkPath path; 6717 SkPath path;
6705 path.setFillType((SkPath::FillType) 0); 6718 path.setFillType((SkPath::FillType) 0);
6706 6719
6707 SkPath path1(path); 6720 SkPath path1(path);
6708 path.reset(); 6721 path.reset();
6709 path.setFillType((SkPath::FillType) 0); 6722 path.setFillType((SkPath::FillType) 0);
6710 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0xf45b2d29)); // 4.03114e+24 f, -6.94598e+31f 6723 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0xf45b2d29)); // 4.03114e+24 f, -6.94598e+31f
6711 path.moveTo(SkBits2Float(0x1f2a302a), SkBits2Float(0xc8032108)); // 3.60387e-20 f, -134276 6724 path.moveTo(SkBits2Float(0x1f2a302a), SkBits2Float(0xc8032108)); // 3.60387e-20 f, -134276
6712 path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf0db684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x302a5b25), SkBits2Float(0xf0 685568)); // 3.4979e+24f, -5.43226e+29f, -1.64207e-31f, 5.76527e-19f, 6.19752e- 10f, -2.87615e+29f 6725 path.cubicTo(SkBits2Float(0x68392d55), SkBits2Float(0xf0db684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x302a5b25), SkBits2Float(0xf0 685568)); // 3.4979e+24f, -5.43226e+29f, -1.64207e-31f, 5.76527e-19f, 6.19752e- 10f, -2.87615e+29f
6713 6726
6714 SkPath path2(path); 6727 SkPath path2(path);
6715 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6728 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6716 } 6729 }
6717 6730
6718 static void fuzz763_15(skiatest::Reporter* reporter, const char* filename) { 6731 static void fuzz763_15(skiatest::Reporter* reporter, const char* filename) {
6719 SkPath path; 6732 SkPath path;
6720 path.setFillType((SkPath::FillType) 1); 6733 path.setFillType((SkPath::FillType) 1);
6721 6734
6722 SkPath path1(path); 6735 SkPath path1(path);
6723 path.reset(); 6736 path.reset();
6724 path.setFillType((SkPath::FillType) 0); 6737 path.setFillType((SkPath::FillType) 0);
6725 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x212a8c55)); // 4.76191e+16 f, 5.7784e-19f 6738 path.moveTo(SkBits2Float(0x5b292d55), SkBits2Float(0x212a8c55)); // 4.76191e+16 f, 5.7784e-19f
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6760 path.quadTo(SkBits2Float(0x282a282a), SkBits2Float(0x8a3a21df), SkBits2Float(0x2 728282a), SkBits2Float(0x8a3a21df)); // 9.4456e-15f, -8.96194e-33f, 2.33365e-15 f, -8.96194e-33f 6773 path.quadTo(SkBits2Float(0x282a282a), SkBits2Float(0x8a3a21df), SkBits2Float(0x2 728282a), SkBits2Float(0x8a3a21df)); // 9.4456e-15f, -8.96194e-33f, 2.33365e-15 f, -8.96194e-33f
6761 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3a3ac2b3), SkBits2Float(0x2 a292827), SkBits2Float(0x962be61d)); // -8.10388e-33f, 0.000712435f, 1.50241e-1 3f, -1.38859e-25f 6774 path.quadTo(SkBits2Float(0x8a284f9a), SkBits2Float(0x3a3ac2b3), SkBits2Float(0x2 a292827), SkBits2Float(0x962be61d)); // -8.10388e-33f, 0.000712435f, 1.50241e-1 3f, -1.38859e-25f
6762 path.lineTo(SkBits2Float(0x272a802a), SkBits2Float(0x2a8c2d29)); // 2.36617e-15 f, 2.49003e-13f 6775 path.lineTo(SkBits2Float(0x272a802a), SkBits2Float(0x2a8c2d29)); // 2.36617e-15 f, 2.49003e-13f
6763 path.lineTo(SkBits2Float(0xc021211f), SkBits2Float(0x6a4b7b03)); // -2.51765f, 6.14982e+25f 6776 path.lineTo(SkBits2Float(0xc021211f), SkBits2Float(0x6a4b7b03)); // -2.51765f, 6.14982e+25f
6764 path.close(); 6777 path.close();
6765 path.moveTo(SkBits2Float(0x4f9a3a29), SkBits2Float(0x3ab38a28)); // 5.17501e+09 f, 0.00136978f 6778 path.moveTo(SkBits2Float(0x4f9a3a29), SkBits2Float(0x3ab38a28)); // 5.17501e+09 f, 0.00136978f
6766 path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2 d8c5568), SkBits2Float(0x1f2a2172)); // -232.189f, 4.7684e+16f, 1.59541e-11f, 3 .60266e-20f 6779 path.quadTo(SkBits2Float(0xc368305b), SkBits2Float(0x5b296855), SkBits2Float(0x2 d8c5568), SkBits2Float(0x1f2a2172)); // -232.189f, 4.7684e+16f, 1.59541e-11f, 3 .60266e-20f
6767 path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14 f, 5.72747e+16f 6780 path.lineTo(SkBits2Float(0x29c00321), SkBits2Float(0x5b4b7b13)); // 8.52706e-14 f, 5.72747e+16f
6768 6781
6769 SkPath path2(path); 6782 SkPath path2(path);
6770 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 6783 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
6771 } 6784 }
6772 6785
6773 static void fuzz763_16(skiatest::Reporter* reporter, const char* filename) { 6786 static void fuzz763_16(skiatest::Reporter* reporter, const char* filename) {
6774 SkPath path; 6787 SkPath path;
6775 path.setFillType((SkPath::FillType) 0); 6788 path.setFillType((SkPath::FillType) 0);
6776 6789
6777 SkPath path1(path); 6790 SkPath path1(path);
6778 path.reset(); 6791 path.reset();
6779 path.setFillType((SkPath::FillType) 0); 6792 path.setFillType((SkPath::FillType) 0);
6780 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6793 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6815 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f 6828 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
6816 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x8cef552a), SkBits2Float(0x 295b2d2a), SkBits2Float(0x68210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f , -3.6875e-31f, 4.86669e-14f, 3.04146e+24f, 1.99729e+36f 6829 path.conicTo(SkBits2Float(0x212a1f5b), SkBits2Float(0x8cef552a), SkBits2Float(0x 295b2d2a), SkBits2Float(0x68210368), SkBits2Float(0x7bc05508)); // 5.76397e-19f , -3.6875e-31f, 4.86669e-14f, 3.04146e+24f, 1.99729e+36f
6817 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f 6830 path.lineTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
6818 path.close(); 6831 path.close();
6819 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f 6832 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0682955)); // 3.33127e+24 f, -2.87402e+29f
6820 path.lineTo(SkBits2Float(0x555b6829), SkBits2Float(0x6c212a8c)); // 1.50775e+13 f, 7.79352e+26f 6833 path.lineTo(SkBits2Float(0x555b6829), SkBits2Float(0x6c212a8c)); // 1.50775e+13 f, 7.79352e+26f
6821 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0x5bf05568), SkBits2Float(0x212a3a8c)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, 1.35296e+17f, 5.76757e-19f 6834 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0x5bf05568), SkBits2Float(0x212a3a8c)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, 1.35296e+17f, 5.76757e-19f
6822 path.lineTo(SkBits2Float(0x8c558c55), SkBits2Float(0x212a1f2a)); // -1.64512e-3 1f, 5.76395e-19f 6835 path.lineTo(SkBits2Float(0x8c558c55), SkBits2Float(0x212a1f2a)); // -1.64512e-3 1f, 5.76395e-19f
6823 6836
6824 SkPath path2(path); 6837 SkPath path2(path);
6825 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6838 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6826 } 6839 }
6827 6840
6828 static void fuzz763_17(skiatest::Reporter* reporter, const char* filename) { 6841 static void fuzz763_17(skiatest::Reporter* reporter, const char* filename) {
6829 SkPath path; 6842 SkPath path;
6830 path.setFillType((SkPath::FillType) 0); 6843 path.setFillType((SkPath::FillType) 0);
6831 6844
6832 SkPath path1(path); 6845 SkPath path1(path);
6833 path.reset(); 6846 path.reset();
6834 path.setFillType((SkPath::FillType) 0); 6847 path.setFillType((SkPath::FillType) 0);
6835 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6848 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
6867 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 6880 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6868 path.close(); 6881 path.close();
6869 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f 6882 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f
6870 path.conicTo(SkBits2Float(0x55086821), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 5b2c6829), SkBits2Float(0x21218c55), SkBits2Float(0x2a6c1f03)); // 9.3738e+12f, 6.14991e+25f, 4.85282e+16f, 5.47346e-19f, 2.09718e-13f 6883 path.conicTo(SkBits2Float(0x55086821), SkBits2Float(0x6a4b7bc0), SkBits2Float(0x 5b2c6829), SkBits2Float(0x21218c55), SkBits2Float(0x2a6c1f03)); // 9.3738e+12f, 6.14991e+25f, 4.85282e+16f, 5.47346e-19f, 2.09718e-13f
6871 path.lineTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f 6884 path.lineTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f
6872 path.close(); 6885 path.close();
6873 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f 6886 path.moveTo(SkBits2Float(0x2a8cef55), SkBits2Float(0x68295b2d)); // 2.50351e-13 f, 3.19905e+24f
6874 path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26 f, 0.000209024f 6887 path.lineTo(SkBits2Float(0x6ac07b2a), SkBits2Float(0x395b2d7a)); // 1.16348e+26 f, 0.000209024f
6875 6888
6876 SkPath path2(path); 6889 SkPath path2(path);
6877 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6890 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6878 } 6891 }
6879 6892
6880 static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) { 6893 static void fuzz763_18(skiatest::Reporter* reporter, const char* filename) {
6881 SkPath path; 6894 SkPath path;
6882 path.setFillType((SkPath::FillType) 0); 6895 path.setFillType((SkPath::FillType) 0);
6883 6896
6884 SkPath path1(path); 6897 SkPath path1(path);
6885 path.reset(); 6898 path.reset();
6886 path.setFillType((SkPath::FillType) 0); 6899 path.setFillType((SkPath::FillType) 0);
6887 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6900 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 30 matching lines...) Expand all
6918 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x2a1f08c0)); // -1.31678e-3 1f, 1.41251e-13f 6931 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x2a1f08c0)); // -1.31678e-3 1f, 1.41251e-13f
6919 6932
6920 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f 6933 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
6921 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 6934 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
6922 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f 6935 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
6923 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 4.06458e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e- 37f, 6.14991e+25f 6936 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 4.06458e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e- 37f, 6.14991e+25f
6924 path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x 4b7bc003), SkBits2Float(0x29ed846a), SkBits2Float(0x555b2d28)); // 2.49279e-13f , 4.61198e-19f, 1.64987e+07f, 1.05479e-13f, 1.50617e+13f 6937 path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x 4b7bc003), SkBits2Float(0x29ed846a), SkBits2Float(0x555b2d28)); // 2.49279e-13f , 4.61198e-19f, 1.64987e+07f, 1.05479e-13f, 1.50617e+13f
6925 path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x 2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f 6938 path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x 2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
6926 6939
6927 SkPath path2(path); 6940 SkPath path2(path);
6928 // FIXME: fails on» Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Fast, passes everywhere else 6941 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6929 testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename);
6930 } 6942 }
6931 6943
6932 static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) { 6944 static void fuzz763_19(skiatest::Reporter* reporter, const char* filename) {
6933 SkPath path; 6945 SkPath path;
6934 path.setFillType((SkPath::FillType) 1); 6946 path.setFillType((SkPath::FillType) 1);
6935 6947
6936 SkPath path1(path); 6948 SkPath path1(path);
6937 path.reset(); 6949 path.reset();
6938 path.setFillType((SkPath::FillType) 0); 6950 path.setFillType((SkPath::FillType) 0);
6939 path.moveTo(SkBits2Float(0x21081f21), SkBits2Float(0x4b7bc003)); // 4.61198e-19 f, 1.64987e+07f 6951 path.moveTo(SkBits2Float(0x21081f21), SkBits2Float(0x4b7bc003)); // 4.61198e-19 f, 1.64987e+07f
(...skipping 29 matching lines...) Expand all
6969 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0xf05b5568), SkBits2Float(0x212a3a8c)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, -2.71522e+29f, 5.76757e-19f 6981 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0xf05b5568), SkBits2Float(0x212a3a8c)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, -2.71522e+29f, 5.76757e-19f
6970 path.conicTo(SkBits2Float(0x290321d9), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x2abe2a1f), SkBits2Float(0x7bc00321)); // 2.91172e-14f , 1.50618e+13f, 2.49284e-13f, 3.378e-13f, 1.99397e+36f 6982 path.conicTo(SkBits2Float(0x290321d9), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x2abe2a1f), SkBits2Float(0x7bc00321)); // 2.91172e-14f , 1.50618e+13f, 2.49284e-13f, 3.378e-13f, 1.99397e+36f
6971 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 6983 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6972 path.close(); 6984 path.close();
6973 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 6985 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6974 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3 1f, 3.41268e-20f 6986 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3 1f, 3.41268e-20f
6975 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 6987 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
6976 path.close(); 6988 path.close();
6977 6989
6978 SkPath path2(path); 6990 SkPath path2(path);
6979 testPathOpFlakySkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 6991 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
6980 } 6992 }
6981 6993
6982 static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) { 6994 static void fuzz763_20(skiatest::Reporter* reporter, const char* filename) {
6983 SkPath path; 6995 SkPath path;
6984 path.setFillType((SkPath::FillType) 0); 6996 path.setFillType((SkPath::FillType) 0);
6985 6997
6986 SkPath path1(path); 6998 SkPath path1(path);
6987 path.reset(); 6999 path.reset();
6988 path.setFillType((SkPath::FillType) 0); 7000 path.setFillType((SkPath::FillType) 0);
6989 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 7001 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
7027 path.lineTo(SkBits2Float(0x5b2d7a6a), SkBits2Float(0xf0556830)); // 4.88298e+16 f, -2.64185e+29f 7039 path.lineTo(SkBits2Float(0x5b2d7a6a), SkBits2Float(0xf0556830)); // 4.88298e+16 f, -2.64185e+29f
7028 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 7040 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7029 path.close(); 7041 path.close();
7030 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 7042 path.moveTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7031 path.conicTo(SkBits2Float(0x0321d90a), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x212a2a1f), SkBits2Float(0x4b7bc003)); // 4.75628e-37f , 1.50618e+13f, 2.49284e-13f, 5.7654e-19f, 1.64987e+07f 7043 path.conicTo(SkBits2Float(0x0321d90a), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x212a2a1f), SkBits2Float(0x4b7bc003)); // 4.75628e-37f , 1.50618e+13f, 2.49284e-13f, 5.7654e-19f, 1.64987e+07f
7032 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x212128c0)); // -1.31678e-3 1f, 5.46029e-19f 7044 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x212128c0)); // -1.31678e-3 1f, 5.46029e-19f
7033 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f 7045 path.lineTo(SkBits2Float(0x68395b2d), SkBits2Float(0xf0682955)); // 3.50128e+24 f, -2.87402e+29f
7034 path.close(); 7046 path.close();
7035 7047
7036 SkPath path2(path); 7048 SkPath path2(path);
7037 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 7049 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
7038 } 7050 }
7039 7051
7040 static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) { 7052 static void fuzz763_21(skiatest::Reporter* reporter, const char* filename) {
7041 SkPath path; 7053 SkPath path;
7042 path.setFillType((SkPath::FillType) 1); 7054 path.setFillType((SkPath::FillType) 1);
7043 path.moveTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f 7055 path.moveTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f
7044 path.cubicTo(SkBits2Float(0x68303469), SkBits2Float(0x661f92fc), SkBits2Float(0x 6837d3c3), SkBits2Float(0x662b0eb2), SkBits2Float(0x683fa268), SkBits2Float(0x66 3759e1)); // 3.32841e+24f, 1.88392e+23f, 3.4724e+24f, 2.01949e+23f, 3.61987e+24 f, 2.16463e+23f 7056 path.cubicTo(SkBits2Float(0x68303469), SkBits2Float(0x661f92fc), SkBits2Float(0x 6837d3c3), SkBits2Float(0x662b0eb2), SkBits2Float(0x683fa268), SkBits2Float(0x66 3759e1)); // 3.32841e+24f, 1.88392e+23f, 3.4724e+24f, 2.01949e+23f, 3.61987e+24 f, 2.16463e+23f
7045 path.cubicTo(SkBits2Float(0x68c4391f), SkBits2Float(0x672c5c9f), SkBits2Float(0x 688b20ab), SkBits2Float(0x6804b825), SkBits2Float(0x681ddb5e), SkBits2Float(0x68 38dc00)); // 7.4131e+24f, 8.13956e+23f, 5.25609e+24f, 2.507e+24f, 2.98183e+24f, 3.49189e+24f 7057 path.cubicTo(SkBits2Float(0x68c4391f), SkBits2Float(0x672c5c9f), SkBits2Float(0x 688b20ab), SkBits2Float(0x6804b825), SkBits2Float(0x681ddb5e), SkBits2Float(0x68 38dc00)); // 7.4131e+24f, 8.13956e+23f, 5.25609e+24f, 2.507e+24f, 2.98183e+24f, 3.49189e+24f
7046 path.lineTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f 7058 path.lineTo(SkBits2Float(0x6828c6f9), SkBits2Float(0x6614dc9e)); // 3.18811e+24 f, 1.75745e+23f
7047 path.close(); 7059 path.close();
(...skipping 22 matching lines...) Expand all
7070 path.cubicTo(SkBits2Float(0x674384e7), SkBits2Float(0x682e2068), SkBits2Float(0x 674db698), SkBits2Float(0x6843893b), SkBits2Float(0x6757755b), SkBits2Float(0x68 5b93f2)); // 9.23313e+23f, 3.28916e+24f, 9.71453e+23f, 3.69357e+24f, 1.01747e+2 4f, 4.14771e+24f 7082 path.cubicTo(SkBits2Float(0x674384e7), SkBits2Float(0x682e2068), SkBits2Float(0x 674db698), SkBits2Float(0x6843893b), SkBits2Float(0x6757755b), SkBits2Float(0x68 5b93f2)); // 9.23313e+23f, 3.28916e+24f, 9.71453e+23f, 3.69357e+24f, 1.01747e+2 4f, 4.14771e+24f
7071 path.cubicTo(SkBits2Float(0x67a63484), SkBits2Float(0x68556bdd), SkBits2Float(0x 67f18c5f), SkBits2Float(0x6848eb25), SkBits2Float(0x681ddb5e), SkBits2Float(0x68 38dc00)); // 1.56976e+24f, 4.03142e+24f, 2.28136e+24f, 3.79524e+24f, 2.98183e+2 4f, 3.49189e+24f 7083 path.cubicTo(SkBits2Float(0x67a63484), SkBits2Float(0x68556bdd), SkBits2Float(0x 67f18c5f), SkBits2Float(0x6848eb25), SkBits2Float(0x681ddb5e), SkBits2Float(0x68 38dc00)); // 1.56976e+24f, 4.03142e+24f, 2.28136e+24f, 3.79524e+24f, 2.98183e+2 4f, 3.49189e+24f
7072 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f 7084 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a2a291f)); // 0, 5.14279e +25f
7073 path.close(); 7085 path.close();
7074 7086
7075 SkPath path1(path); 7087 SkPath path1(path);
7076 path.reset(); 7088 path.reset();
7077 path.setFillType((SkPath::FillType) 0); 7089 path.setFillType((SkPath::FillType) 0);
7078 7090
7079 SkPath path2(path); 7091 SkPath path2(path);
7080 testPathOp(reporter, path1, path2, (SkPathOp) 1, filename); 7092 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 1, filename);
7081 } 7093 }
7082 7094
7083 static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) { 7095 static void fuzz763_22(skiatest::Reporter* reporter, const char* filename) {
7084 SkPath path; 7096 SkPath path;
7085 path.setFillType((SkPath::FillType) 1); 7097 path.setFillType((SkPath::FillType) 1);
7086 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f 7098 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f
7087 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7099 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7088 path.lineTo(SkBits2Float(0x6a3a7bc0), SkBits2Float(0x00000000)); // 5.63611e+25 f, 0 7100 path.lineTo(SkBits2Float(0x6a3a7bc0), SkBits2Float(0x00000000)); // 5.63611e+25 f, 0
7089 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a034b21)); // 0, 3.9681e+ 25f 7101 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a034b21)); // 0, 3.9681e+ 25f
7090 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f 7102 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x68295b2d)); // 0, 3.19905e +24f
7091 path.close(); 7103 path.close();
7092 path.moveTo(SkBits2Float(0x6617da56), SkBits2Float(0x00000000)); // 1.79276e+23 f, 0 7104 path.moveTo(SkBits2Float(0x6617da56), SkBits2Float(0x00000000)); // 1.79276e+23 f, 0
7093 path.conicTo(SkBits2Float(0x5e704d09), SkBits2Float(0x5e3a4dfd), SkBits2Float(0x 00000000), SkBits2Float(0x65eb62ef), SkBits2Float(0x430fa5e6)); // 4.32888e+18f , 3.35617e+18f, 0, 1.38948e+23f, 143.648f 7105 path.conicTo(SkBits2Float(0x5e704d09), SkBits2Float(0x5e3a4dfd), SkBits2Float(0x 00000000), SkBits2Float(0x65eb62ef), SkBits2Float(0x430fa5e6)); // 4.32888e+18f , 3.35617e+18f, 0, 1.38948e+23f, 143.648f
7094 path.conicTo(SkBits2Float(0x5e798b32), SkBits2Float(0x627a95c0), SkBits2Float(0x 61f5014c), SkBits2Float(0x61fba0fd), SkBits2Float(0x40f8a1a1)); // 4.49538e+18f , 1.15562e+21f, 5.64943e+20f, 5.80217e+20f, 7.76973f 7106 path.conicTo(SkBits2Float(0x5e798b32), SkBits2Float(0x627a95c0), SkBits2Float(0x 61f5014c), SkBits2Float(0x61fba0fd), SkBits2Float(0x40f8a1a1)); // 4.49538e+18f , 1.15562e+21f, 5.64943e+20f, 5.80217e+20f, 7.76973f
7095 path.conicTo(SkBits2Float(0x62743d2d), SkBits2Float(0x5e49b862), SkBits2Float(0x 6617da56), SkBits2Float(0x00000000), SkBits2Float(0x410ef54c)); // 1.12635e+21f , 3.63387e+18f, 1.79276e+23f, 0, 8.93489f 7107 path.conicTo(SkBits2Float(0x62743d2d), SkBits2Float(0x5e49b862), SkBits2Float(0x 6617da56), SkBits2Float(0x00000000), SkBits2Float(0x410ef54c)); // 1.12635e+21f , 3.63387e+18f, 1.79276e+23f, 0, 8.93489f
7096 path.close(); 7108 path.close();
7097 7109
7098 SkPath path1(path); 7110 SkPath path1(path);
7099 path.reset(); 7111 path.reset();
7100 path.setFillType((SkPath::FillType) 0); 7112 path.setFillType((SkPath::FillType) 0);
7101 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7113 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7102 path.quadTo(SkBits2Float(0x4f9a3a8a), SkBits2Float(0xc28a0d28), SkBits2Float(0x2 73a3ab3), SkBits2Float(0x8b2a2928)); // 5.17506e+09f, -69.0257f, 2.58445e-15f, -3.27718e-32f 7114 path.quadTo(SkBits2Float(0x4f9a3a8a), SkBits2Float(0xc28a0d28), SkBits2Float(0x2 73a3ab3), SkBits2Float(0x8b2a2928)); // 5.17506e+09f, -69.0257f, 2.58445e-15f, -3.27718e-32f
7103 path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f , 2.33377e-15f 7115 path.lineTo(SkBits2Float(0x63283ae6), SkBits2Float(0x27282a81)); // 3.1033e+21f , 2.33377e-15f
7104 7116
7105 SkPath path2(path); 7117 SkPath path2(path);
7106 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 3, filename); 7118 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 3, filename);
7107 } 7119 }
7108 7120
7109 static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) { 7121 static void fuzz763_23(skiatest::Reporter* reporter, const char* filename) {
7110 SkPath path; 7122 SkPath path;
7111 path.setFillType((SkPath::FillType) 0); 7123 path.setFillType((SkPath::FillType) 0);
7112 7124
7113 SkPath path1(path); 7125 SkPath path1(path);
7114 path.reset(); 7126 path.reset();
7115 path.setFillType((SkPath::FillType) 0); 7127 path.setFillType((SkPath::FillType) 0);
7116 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 7128 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 20 matching lines...) Expand all
7137 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f 7149 path.lineTo(SkBits2Float(0x68315b2d), SkBits2Float(0xf0685527)); // 3.35016e+24 f, -2.87614e+29f
7138 path.close(); 7150 path.close();
7139 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f 7151 path.moveTo(SkBits2Float(0x6829523a), SkBits2Float(0x2d555b2d)); // 3.19839e+24 f, 1.21279e-11f
7140 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 7152 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
7141 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f 7153 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7142 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 4.06458e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e- 37f, 6.14991e+25f 7154 path.cubicTo(SkBits2Float(0x68572d55), SkBits2Float(0xf05b684b), SkBits2Float(0x 8c55272d), SkBits2Float(0x212a292a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 4.06458e+24f, -2.71613e+29f, -1.64207e-31f, 5.76527e-19f, 4.7323e- 37f, 6.14991e+25f
7143 path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x 4b7bc003), SkBits2Float(0x29ed846a), SkBits2Float(0x555b2d28)); // 2.49279e-13f , 4.61198e-19f, 1.64987e+07f, 1.05479e-13f, 1.50617e+13f 7155 path.conicTo(SkBits2Float(0x2a8c54ed), SkBits2Float(0x21081f21), SkBits2Float(0x 4b7bc003), SkBits2Float(0x29ed846a), SkBits2Float(0x555b2d28)); // 2.49279e-13f , 4.61198e-19f, 1.64987e+07f, 1.05479e-13f, 1.50617e+13f
7144 path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x 2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f 7156 path.conicTo(SkBits2Float(0x68392d5b), SkBits2Float(0xf0682955), SkBits2Float(0x 2a1f5b2d), SkBits2Float(0xef552a21), SkBits2Float(0x5b2d2a8c)); // 3.4979e+24f, -2.87402e+29f, 1.41537e-13f, -6.59712e+28f, 4.8742e+16f
7145 7157
7146 SkPath path2(path); 7158 SkPath path2(path);
7147 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 7159 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
7148 } 7160 }
7149 7161
7150 static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) { 7162 static void fuzz763_24(skiatest::Reporter* reporter, const char* filename) {
7151 SkPath path; 7163 SkPath path;
7152 path.setFillType((SkPath::FillType) 1); 7164 path.setFillType((SkPath::FillType) 1);
7153 7165
7154 SkPath path1(path); 7166 SkPath path1(path);
7155 path.reset(); 7167 path.reset();
7156 path.setFillType((SkPath::FillType) 0); 7168 path.setFillType((SkPath::FillType) 0);
7157 path.moveTo(SkBits2Float(0xededed02), SkBits2Float(0xedededed)); // -9.20431e+2 7f, -9.20445e+27f 7169 path.moveTo(SkBits2Float(0xededed02), SkBits2Float(0xedededed)); // -9.20431e+2 7f, -9.20445e+27f
(...skipping 28 matching lines...) Expand all
7186 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f 7198 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7187 path.lineTo(SkBits2Float(0x01003300), SkBits2Float(0x33d83333)); // 2.35465e-38 f, 1.00676e-07f 7199 path.lineTo(SkBits2Float(0x01003300), SkBits2Float(0x33d83333)); // 2.35465e-38 f, 1.00676e-07f
7188 path.quadTo(SkBits2Float(0xecec3333), SkBits2Float(0x04eeedec), SkBits2Float(0xe 0e0e0e0), SkBits2Float(0x9ee0e0e0)); // -2.28439e+27f, 5.6172e-36f, -1.29634e+2 0f, -2.38099e-20f 7200 path.quadTo(SkBits2Float(0xecec3333), SkBits2Float(0x04eeedec), SkBits2Float(0xe 0e0e0e0), SkBits2Float(0x9ee0e0e0)); // -2.28439e+27f, 5.6172e-36f, -1.29634e+2 0f, -2.38099e-20f
7189 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f 7201 path.lineTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7190 path.close(); 7202 path.close();
7191 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f 7203 path.moveTo(SkBits2Float(0x73737300), SkBits2Float(0x73735273)); // 1.9288e+31f , 1.9278e+31f
7192 path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x ececb6ec), SkBits2Float(0xf0ececec), SkBits2Float(0x0000ecec), SkBits2Float(0x9e be6e6e)); // 7.04413e-14f, -2.2914e+27f, -2.28936e+27f, -5.86599e+29f, 8.49916e -41f, -2.01627e-20f 7204 path.cubicTo(SkBits2Float(0x299e9e9e), SkBits2Float(0xecececec), SkBits2Float(0x ececb6ec), SkBits2Float(0xf0ececec), SkBits2Float(0x0000ecec), SkBits2Float(0x9e be6e6e)); // 7.04413e-14f, -2.2914e+27f, -2.28936e+27f, -5.86599e+29f, 8.49916e -41f, -2.01627e-20f
7193 path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x 9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xec ecf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.665 72e+26f, -2.29155e+27f 7205 path.cubicTo(SkBits2Float(0x9e9e9e9e), SkBits2Float(0xe8009e9e), SkBits2Float(0x 9e9e9e9e), SkBits2Float(0xecec9e9e), SkBits2Float(0xec3333ec), SkBits2Float(0xec ecf0ec)); // -1.67945e-20f, -2.42956e+24f, -1.67945e-20f, -2.28844e+27f, -8.665 72e+26f, -2.29155e+27f
7194 7206
7195 SkPath path2(path); 7207 SkPath path2(path);
7196 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename); 7208 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
7197 } 7209 }
7198 7210
7199 static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) { 7211 static void fuzz763_25(skiatest::Reporter* reporter, const char* filename) {
7200 SkPath path; 7212 SkPath path;
7201 path.setFillType((SkPath::FillType) 1); 7213 path.setFillType((SkPath::FillType) 1);
7202 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e +25f 7214 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e +25f
7203 path.conicTo(SkBits2Float(0x653140d9), SkBits2Float(0x6a4b4f74), SkBits2Float(0x 65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3f6728a2)); // 5.23159e+22f , 6.14468e+25f, 8.52382e+22f, 5.00576e+25f, 0.902964f 7215 path.conicTo(SkBits2Float(0x653140d9), SkBits2Float(0x6a4b4f74), SkBits2Float(0x 65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3f6728a2)); // 5.23159e+22f , 6.14468e+25f, 8.52382e+22f, 5.00576e+25f, 0.902964f
7204 path.cubicTo(SkBits2Float(0x68295bc5), SkBits2Float(0x00000000), SkBits2Float(0x 682958ff), SkBits2Float(0x00000000), SkBits2Float(0x68286829), SkBits2Float(0x00 000000)); // 3.19909e+24f, 0, 3.19889e+24f, 0, 3.18112e+24f, 0 7216 path.cubicTo(SkBits2Float(0x68295bc5), SkBits2Float(0x00000000), SkBits2Float(0x 682958ff), SkBits2Float(0x00000000), SkBits2Float(0x68286829), SkBits2Float(0x00 000000)); // 3.19909e+24f, 0, 3.19889e+24f, 0, 3.18112e+24f, 0
7205 path.lineTo(SkBits2Float(0x68555b29), SkBits2Float(0x00000000)); // 4.03018e+24 f, 0 7217 path.lineTo(SkBits2Float(0x68555b29), SkBits2Float(0x00000000)); // 4.03018e+24 f, 0
7206 path.conicTo(SkBits2Float(0x00000000), SkBits2Float(0x682d2927), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x6829686f)); // 0, 3.27091e+ 24f, 0, 0, 3.20003e+24f 7218 path.conicTo(SkBits2Float(0x00000000), SkBits2Float(0x682d2927), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x6829686f)); // 0, 3.27091e+ 24f, 0, 0, 3.20003e+24f
7207 path.lineTo(SkBits2Float(0xdf218a28), SkBits2Float(0x00000000)); // -1.16402e+1 9f, 0 7219 path.lineTo(SkBits2Float(0xdf218a28), SkBits2Float(0x00000000)); // -1.16402e+1 9f, 0
7208 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e +25f 7220 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x6a4b7bc4)); // 0, 6.14991e +25f
7209 path.close(); 7221 path.close();
7210 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7222 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7211 path.conicTo(SkBits2Float(0x6642c40c), SkBits2Float(0x00000000), SkBits2Float(0x 65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3edcd74d)); // 2.29939e+23f , 0, 8.52382e+22f, 5.00576e+25f, 0.43133f 7223 path.conicTo(SkBits2Float(0x6642c40c), SkBits2Float(0x00000000), SkBits2Float(0x 65906630), SkBits2Float(0x6a25a070), SkBits2Float(0x3edcd74d)); // 2.29939e+23f , 0, 8.52382e+22f, 5.00576e+25f, 0.43133f
7212 path.conicTo(SkBits2Float(0x68295afa), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x4277a57b)); // 3.19903e+24f , 0, 0, 0, 61.9116f 7224 path.conicTo(SkBits2Float(0x68295afa), SkBits2Float(0x00000000), SkBits2Float(0x 00000000), SkBits2Float(0x00000000), SkBits2Float(0x4277a57b)); // 3.19903e+24f , 0, 0, 0, 61.9116f
7213 path.close(); 7225 path.close();
7214 7226
7215 SkPath path1(path); 7227 SkPath path1(path);
7216 path.reset(); 7228 path.reset();
7217 path.setFillType((SkPath::FillType) 0); 7229 path.setFillType((SkPath::FillType) 0);
7218 7230
7219 SkPath path2(path); 7231 SkPath path2(path);
7220 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 7232 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
7221 } 7233 }
7222 7234
7223 7235
7224 static void fuzz763_26(skiatest::Reporter* reporter, const char* filename) { 7236 static void fuzz763_26(skiatest::Reporter* reporter, const char* filename) {
7225 SkPath path; 7237 SkPath path;
7226 path.setFillType((SkPath::FillType) 0); 7238 path.setFillType((SkPath::FillType) 0);
7227 7239
7228 SkPath path1(path); 7240 SkPath path1(path);
7229 path.reset(); 7241 path.reset();
7230 path.setFillType((SkPath::FillType) 0); 7242 path.setFillType((SkPath::FillType) 0);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
7269 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0x8c5bf055), SkBits2Float(0x1f212a3a)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, -1.69435e-31f, 3.4128e-20f 7281 path.conicTo(SkBits2Float(0x084b0321), SkBits2Float(0x6ac07b2a), SkBits2Float(0x 395b2d7a), SkBits2Float(0x8c5bf055), SkBits2Float(0x1f212a3a)); // 6.10918e-34f , 1.16348e+26f, 0.000209024f, -1.69435e-31f, 3.4128e-20f
7270 path.conicTo(SkBits2Float(0x290321d9), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x2a212a1f), SkBits2Float(0x7bc00321)); // 2.91172e-14f , 1.50618e+13f, 2.49284e-13f, 1.43143e-13f, 1.99397e+36f 7282 path.conicTo(SkBits2Float(0x290321d9), SkBits2Float(0x555b2d68), SkBits2Float(0x 2a8c558c), SkBits2Float(0x2a212a1f), SkBits2Float(0x7bc00321)); // 2.91172e-14f , 1.50618e+13f, 2.49284e-13f, 1.43143e-13f, 1.99397e+36f
7271 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f 7283 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f
7272 path.close(); 7284 path.close();
7273 path.moveTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f 7285 path.moveTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f
7274 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3 1f, 3.41268e-20f 7286 path.lineTo(SkBits2Float(0x8c2aed7a), SkBits2Float(0x1f2128c0)); // -1.31678e-3 1f, 3.41268e-20f
7275 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f 7287 path.lineTo(SkBits2Float(0x68385b2d), SkBits2Float(0xf0682955)); // 3.48239e+24 f, -2.87402e+29f
7276 path.close(); 7288 path.close();
7277 7289
7278 SkPath path2(path); 7290 SkPath path2(path);
7279 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 7291 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
7280 } 7292 }
7281 7293
7282 static void fuzz763_28(skiatest::Reporter* reporter, const char* filename) { 7294 static void fuzz763_28(skiatest::Reporter* reporter, const char* filename) {
7283 SkPath path; 7295 SkPath path;
7284 path.setFillType((SkPath::FillType) 0); 7296 path.setFillType((SkPath::FillType) 0);
7285 7297
7286 SkPath path1(path); 7298 SkPath path1(path);
7287 path.reset(); 7299 path.reset();
7288 path.setFillType((SkPath::FillType) 0); 7300 path.setFillType((SkPath::FillType) 0);
7289 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 7301 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
(...skipping 17 matching lines...) Expand all
7307 path.close(); 7319 path.close();
7308 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 7320 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
7309 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x5b2d6829), SkBits2Float(0x 1f212a55), SkBits2Float(0x8ced7aba), SkBits2Float(0x3f2a212a)); // 6.14991e+25f , 4.88097e+16f, 3.41281e-20f, -3.65895e-31f, 0.664569f 7321 path.conicTo(SkBits2Float(0x6a4b7bc0), SkBits2Float(0x5b2d6829), SkBits2Float(0x 1f212a55), SkBits2Float(0x8ced7aba), SkBits2Float(0x3f2a212a)); // 6.14991e+25f , 4.88097e+16f, 3.41281e-20f, -3.65895e-31f, 0.664569f
7310 path.lineTo(SkBits2Float(0x5b2d212d), SkBits2Float(0x2d556829)); // 4.87316e+16 f, 1.21308e-11f 7322 path.lineTo(SkBits2Float(0x5b2d212d), SkBits2Float(0x2d556829)); // 4.87316e+16 f, 1.21308e-11f
7311 path.moveTo(SkBits2Float(0x68552968), SkBits2Float(0x5568295b)); // 4.02651e+24 f, 1.5954e+13f 7323 path.moveTo(SkBits2Float(0x68552968), SkBits2Float(0x5568295b)); // 4.02651e+24 f, 1.5954e+13f
7312 path.moveTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55)); // 4.87407e+16 f, 5.7784e-19f 7324 path.moveTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55)); // 4.87407e+16 f, 5.7784e-19f
7313 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f 7325 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x6a4b7bc0)); // 4.7323e-37f , 6.14991e+25f
7314 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a3a7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a)); // 5.77848e-19f , 4.7323e-37f, 5.63611e+25f, 6.77381e-19f, 9.33503e-15f 7326 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0x0321081f), SkBits2Float(0x 6a3a7bc0), SkBits2Float(0x2147ed7a), SkBits2Float(0x28282a3a)); // 5.77848e-19f , 4.7323e-37f, 5.63611e+25f, 6.77381e-19f, 9.33503e-15f
7315 7327
7316 SkPath path2(path); 7328 SkPath path2(path);
7317 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 0, filename); 7329 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
7318 } 7330 }
7319 7331
7320 static void fuzz763_27(skiatest::Reporter* reporter, const char* filename) { 7332 static void fuzz763_27(skiatest::Reporter* reporter, const char* filename) {
7321 SkPath path; 7333 SkPath path;
7322 path.setFillType((SkPath::FillType) 0); 7334 path.setFillType((SkPath::FillType) 0);
7323 7335
7324 SkPath path1(path); 7336 SkPath path1(path);
7325 path.reset(); 7337 path.reset();
7326 path.setFillType((SkPath::FillType) 0); 7338 path.setFillType((SkPath::FillType) 0);
7327 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7339 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7328 path.quadTo(SkBits2Float(0x30309ab8), SkBits2Float(0x305b3030), SkBits2Float(0x0 0f53030), SkBits2Float(0x3a3a0000)); // 6.42483e-10f, 7.97402e-10f, 2.2517e-38f , 0.000709534f 7340 path.quadTo(SkBits2Float(0x30309ab8), SkBits2Float(0x305b3030), SkBits2Float(0x0 0f53030), SkBits2Float(0x3a3a0000)); // 6.42483e-10f, 7.97402e-10f, 2.2517e-38f , 0.000709534f
7329 path.quadTo(SkBits2Float(0xb8b8d5b8), SkBits2Float(0x0b0b0b03), SkBits2Float(0x0 b0b0b0b), SkBits2Float(0x3a3a0b0b)); // -8.81361e-05f, 2.67787e-32f, 2.67787e-3 2f, 0.000709698f 7341 path.quadTo(SkBits2Float(0xb8b8d5b8), SkBits2Float(0x0b0b0b03), SkBits2Float(0x0 b0b0b0b), SkBits2Float(0x3a3a0b0b)); // -8.81361e-05f, 2.67787e-32f, 2.67787e-3 2f, 0.000709698f
7330 path.quadTo(SkBits2Float(0xb8b8b8b8), SkBits2Float(0x0b1203b8), SkBits2Float(0x0 b0b0b0b), SkBits2Float(0x3a3a2110)); // -8.80821e-05f, 2.81214e-32f, 2.67787e-3 2f, 0.000710026f 7342 path.quadTo(SkBits2Float(0xb8b8b8b8), SkBits2Float(0x0b1203b8), SkBits2Float(0x0 b0b0b0b), SkBits2Float(0x3a3a2110)); // -8.80821e-05f, 2.81214e-32f, 2.67787e-3 2f, 0.000710026f
7331 7343
7332 SkPath path2(path); 7344 SkPath path2(path);
7333 testPathOpFailSkipAssert(reporter, path1, path2, (SkPathOp) 4, filename); 7345 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 4, filename);
7334 } 7346 }
7335 7347
7336 static void fuzz763_29(skiatest::Reporter* reporter, const char* filename) { 7348 static void fuzz763_29(skiatest::Reporter* reporter, const char* filename) {
7337 SkPath path; 7349 SkPath path;
7338 path.setFillType((SkPath::FillType) 1); 7350 path.setFillType((SkPath::FillType) 1);
7339 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7351 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7340 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x743e0000)); // 0, 6.02134e +31f 7352 path.lineTo(SkBits2Float(0x00000000), SkBits2Float(0x743e0000)); // 0, 6.02134e +31f
7341 path.cubicTo(SkBits2Float(0x74083cf1), SkBits2Float(0x74536e73), SkBits2Float(0x 742ac4e4), SkBits2Float(0x7415f5be), SkBits2Float(0x7433ee3c), SkBits2Float(0x74 05a69a)); // 4.31756e+31f, 6.70053e+31f, 5.41189e+31f, 4.75242e+31f, 5.70223e+3 1f, 4.23556e+31f 7353 path.cubicTo(SkBits2Float(0x74083cf1), SkBits2Float(0x74536e73), SkBits2Float(0x 742ac4e4), SkBits2Float(0x7415f5be), SkBits2Float(0x7433ee3c), SkBits2Float(0x74 05a69a)); // 4.31756e+31f, 6.70053e+31f, 5.41189e+31f, 4.75242e+31f, 5.70223e+3 1f, 4.23556e+31f
7342 path.quadTo(SkBits2Float(0x74360ca0), SkBits2Float(0x7401e10c), SkBits2Float(0x7 436a382), SkBits2Float(0x7401cc18)); // 5.76937e+31f, 4.11603e+31f, 5.78805e+31 f, 4.11344e+31f 7354 path.quadTo(SkBits2Float(0x74360ca0), SkBits2Float(0x7401e10c), SkBits2Float(0x7 436a382), SkBits2Float(0x7401cc18)); // 5.76937e+31f, 4.11603e+31f, 5.78805e+31 f, 4.11344e+31f
7343 path.cubicTo(SkBits2Float(0x74374a91), SkBits2Float(0x7401ef19), SkBits2Float(0x 74375c84), SkBits2Float(0x7404d9b9), SkBits2Float(0x7437868f), SkBits2Float(0x74 0bae8a)); // 5.80873e+31f, 4.11777e+31f, 5.81095e+31f, 4.2102e+31f, 5.81616e+31 f, 4.42669e+31f 7355 path.cubicTo(SkBits2Float(0x74374a91), SkBits2Float(0x7401ef19), SkBits2Float(0x 74375c84), SkBits2Float(0x7404d9b9), SkBits2Float(0x7437868f), SkBits2Float(0x74 0bae8a)); // 5.80873e+31f, 4.11777e+31f, 5.81095e+31f, 4.2102e+31f, 5.81616e+31 f, 4.42669e+31f
(...skipping 11 matching lines...) Expand all
7355 path.setFillType((SkPath::FillType) 0); 7367 path.setFillType((SkPath::FillType) 0);
7356 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0 7368 path.moveTo(SkBits2Float(0x00000000), SkBits2Float(0x00000000)); // 0, 0
7357 path.lineTo(SkBits2Float(0xf0682955), SkBits2Float(0x211f5b2d)); // -2.87402e+2 9f, 5.3992e-19f 7369 path.lineTo(SkBits2Float(0xf0682955), SkBits2Float(0x211f5b2d)); // -2.87402e+2 9f, 5.3992e-19f
7358 path.moveTo(SkBits2Float(0x2d2aff2d), SkBits2Float(0x74747474)); // 9.72004e-12 f, 7.74708e+31f 7370 path.moveTo(SkBits2Float(0x2d2aff2d), SkBits2Float(0x74747474)); // 9.72004e-12 f, 7.74708e+31f
7359 path.cubicTo(SkBits2Float(0x7474748e), SkBits2Float(0x74747490), SkBits2Float(0x 8c722174), SkBits2Float(0x181f0080), SkBits2Float(0x74c0e520), SkBits2Float(0x74 7d7463)); // 7.7471e+31f, 7.7471e+31f, -1.86531e-31f, 2.05505e-24f, 1.22262e+32 f, 8.0323e+31f 7371 path.cubicTo(SkBits2Float(0x7474748e), SkBits2Float(0x74747490), SkBits2Float(0x 8c722174), SkBits2Float(0x181f0080), SkBits2Float(0x74c0e520), SkBits2Float(0x74 7d7463)); // 7.7471e+31f, 7.7471e+31f, -1.86531e-31f, 2.05505e-24f, 1.22262e+32 f, 8.0323e+31f
7360 path.cubicTo(SkBits2Float(0x7b005e4b), SkBits2Float(0xdf3a6a3a), SkBits2Float(0x 2a3a2848), SkBits2Float(0x2d2d7821), SkBits2Float(0x8c55212d), SkBits2Float(0x2d 2d2d24)); // 6.66526e+35f, -1.34326e+19f, 1.65341e-13f, 9.86059e-12f, -1.64189e -31f, 9.84393e-12f 7372 path.cubicTo(SkBits2Float(0x7b005e4b), SkBits2Float(0xdf3a6a3a), SkBits2Float(0x 2a3a2848), SkBits2Float(0x2d2d7821), SkBits2Float(0x8c55212d), SkBits2Float(0x2d 2d2d24)); // 6.66526e+35f, -1.34326e+19f, 1.65341e-13f, 9.86059e-12f, -1.64189e -31f, 9.84393e-12f
7361 path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x 3329df28), SkBits2Float(0x2d291515), SkBits2Float(0x0568295b)); // -3.03545e+18 f, 2.48929e-14f, 3.95513e-08f, 9.61122e-12f, 1.09162e-35f 7373 path.conicTo(SkBits2Float(0xde28804c), SkBits2Float(0x28e03721), SkBits2Float(0x 3329df28), SkBits2Float(0x2d291515), SkBits2Float(0x0568295b)); // -3.03545e+18 f, 2.48929e-14f, 3.95513e-08f, 9.61122e-12f, 1.09162e-35f
7362 path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x 3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f , 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f 7374 path.conicTo(SkBits2Float(0x556a2d21), SkBits2Float(0x21088c2a), SkBits2Float(0x 3a333303), SkBits2Float(0x5b293a8a), SkBits2Float(0x6855683b)); // 1.60925e+13f , 4.62641e-19f, 0.000683591f, 4.76336e+16f, 4.03115e+24f
7363 7375
7364 SkPath path2(path); 7376 SkPath path2(path);
7365 testPathOpFail(reporter, path1, path2, (SkPathOp) 0, filename); 7377 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 0, filename);
7366 } 7378 }
7367 7379
7368 static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) { 7380 static void fuzz763_30(skiatest::Reporter* reporter, const char* filename) {
7369 SkPath path; 7381 SkPath path;
7370 path.setFillType((SkPath::FillType) 1); 7382 path.setFillType((SkPath::FillType) 1);
7371 7383
7372 SkPath path1(path); 7384 SkPath path1(path);
7373 path.reset(); 7385 path.reset();
7374 path.setFillType((SkPath::FillType) 0); 7386 path.setFillType((SkPath::FillType) 0);
7375 path.moveTo(SkBits2Float(0x1f2108c0), SkBits2Float(0x4b7b0321)); // 3.41003e-20 f, 1.64503e+07f 7387 path.moveTo(SkBits2Float(0x1f2108c0), SkBits2Float(0x4b7b0321)); // 3.41003e-20 f, 1.64503e+07f
7376 path.lineTo(SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // 3.20982e+24 f, 1.21279e-11f 7388 path.lineTo(SkBits2Float(0x6829ed27), SkBits2Float(0x2d555b2d)); // 3.20982e+24 f, 1.21279e-11f
7377 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f 7389 path.moveTo(SkBits2Float(0x68305b2d), SkBits2Float(0xf0685527)); // 3.33127e+24 f, -2.87614e+29f
7378 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x6e2a1f72), SkBits2Float(0x 0321082a), SkBits2Float(0x2a4b7bc0), SkBits2Float(0x68295b2d)); // 2.49282e-13f , 1.31626e+28f, 4.7323e-37f, 1.8073e-13f, 3.19905e+24f 7390 path.conicTo(SkBits2Float(0x2a8c555b), SkBits2Float(0x6e2a1f72), SkBits2Float(0x 0321082a), SkBits2Float(0x2a4b7bc0), SkBits2Float(0x68295b2d)); // 2.49282e-13f , 1.31626e+28f, 4.7323e-37f, 1.8073e-13f, 3.19905e+24f
7379 path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55)); // 4.87407e+16 f, 5.7784e-19f 7391 path.lineTo(SkBits2Float(0x5b2d2968), SkBits2Float(0x212a8c55)); // 4.87407e+16 f, 5.7784e-19f
7380 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x4b7b28c0)); // 4.7323e-37f , 1.646e+07f 7392 path.moveTo(SkBits2Float(0x0321081f), SkBits2Float(0x4b7b28c0)); // 4.7323e-37f , 1.646e+07f
7381 path.lineTo(SkBits2Float(0x2a8ced7a), SkBits2Float(0x2d081f21)); // 2.50338e-13 f, 7.73762e-12f 7393 path.lineTo(SkBits2Float(0x2a8ced7a), SkBits2Float(0x2d081f21)); // 2.50338e-13 f, 7.73762e-12f
7382 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f 7394 path.moveTo(SkBits2Float(0x68556829), SkBits2Float(0x555b2d29)); // 4.03114e+24 f, 1.50617e+13f
7383 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f 7395 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7384 path.cubicTo(SkBits2Float(0x69392d55), SkBits2Float(0x2d5b684b), SkBits2Float(0x 8c5527f0), SkBits2Float(0x212a1f2a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 1.39916e+25f, 1.24719e-11f, -1.64209e-31f, 5.76395e-19f, 4.7323e-3 7f, 6.14991e+25f 7396 path.cubicTo(SkBits2Float(0x69392d55), SkBits2Float(0x2d5b684b), SkBits2Float(0x 8c5527f0), SkBits2Float(0x212a1f2a), SkBits2Float(0x0321082a), SkBits2Float(0x6a 4b7bc0)); // 1.39916e+25f, 1.24719e-11f, -1.64209e-31f, 5.76395e-19f, 4.7323e-3 7f, 6.14991e+25f
7385 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0xed7a6a1f), SkBits2Float(0x 3a214793), SkBits2Float(0x3328282a), SkBits2Float(0x3a8a3adf)); // 5.77848e-19f , -4.84372e+27f, 0.000615233f, 3.91521e-08f, 0.00105461f 7397 path.conicTo(SkBits2Float(0x212a8ced), SkBits2Float(0xed7a6a1f), SkBits2Float(0x 3a214793), SkBits2Float(0x3328282a), SkBits2Float(0x3a8a3adf)); // 5.77848e-19f , -4.84372e+27f, 0.000615233f, 3.91521e-08f, 0.00105461f
7386 path.conicTo(SkBits2Float(0x4be80304), SkBits2Float(0xdcdcdc15), SkBits2Float(0x dcdcdcdc), SkBits2Float(0x71dcdcdc), SkBits2Float(0x6c107164)); // 3.04102e+07f , -4.97332e+17f, -4.97339e+17f, 2.18732e+30f, 6.98483e+26f 7398 path.conicTo(SkBits2Float(0x4be80304), SkBits2Float(0xdcdcdc15), SkBits2Float(0x dcdcdcdc), SkBits2Float(0x71dcdcdc), SkBits2Float(0x6c107164)); // 3.04102e+07f , -4.97332e+17f, -4.97339e+17f, 2.18732e+30f, 6.98483e+26f
7387 path.conicTo(SkBits2Float(0x6c0f1d6c), SkBits2Float(0x8e406c6e), SkBits2Float(0x 6c6c0200), SkBits2Float(0x6c6ce46c), SkBits2Float(0x6c6c6c6c)); // 6.92061e+26f , -2.3718e-30f, 1.14126e+27f, 1.14554e+27f, 1.14327e+27f 7399 path.conicTo(SkBits2Float(0x6c0f1d6c), SkBits2Float(0x8e406c6e), SkBits2Float(0x 6c6c0200), SkBits2Float(0x6c6ce46c), SkBits2Float(0x6c6c6c6c)); // 6.92061e+26f , -2.3718e-30f, 1.14126e+27f, 1.14554e+27f, 1.14327e+27f
7388 path.lineTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f 7400 path.lineTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7389 path.close(); 7401 path.close();
7390 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f 7402 path.moveTo(SkBits2Float(0x1f2a312a), SkBits2Float(0xc0032108)); // 3.60396e-20 f, -2.04889f
7391 path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x3ac22c21), SkBits2Float(0x6 c401057), SkBits2Float(0x6d6d6b64)); // 0.00136978f, 0.00148142f, 9.28764e+26f, 4.59236e+27f 7403 path.quadTo(SkBits2Float(0x3ab38a28), SkBits2Float(0x3ac22c21), SkBits2Float(0x6 c401057), SkBits2Float(0x6d6d6b64)); // 0.00136978f, 0.00148142f, 9.28764e+26f, 4.59236e+27f
7392 path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x 286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b 6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27 f, 2.84109e+26f 7404 path.cubicTo(SkBits2Float(0x6d6d6d6d), SkBits2Float(0x6d6d6d6d), SkBits2Float(0x 286d6d6d), SkBits2Float(0x081d2a29), SkBits2Float(0x6d690321), SkBits2Float(0x6b 6b026d)); // 4.59251e+27f, 4.59251e+27f, 1.31799e-14f, 4.7295e-34f, 4.50711e+27 f, 2.84109e+26f
7393 7405
7394 SkPath path2(path); 7406 SkPath path2(path);
7395 testPathOpSkipAssert(reporter, path1, path2, (SkPathOp) 2, filename); 7407 testPathOpFuzz(reporter, path1, path2, (SkPathOp) 2, filename);
7396 } 7408 }
7397 7409
7398 static struct TestDesc failTests[] = { 7410 static struct TestDesc failTests[] = {
7399 TEST(fuzz763_30), 7411 TEST(fuzz763_30),
7400 TEST(fuzz763_29), 7412 TEST(fuzz763_29),
7401 TEST(fuzz763_28), 7413 TEST(fuzz763_28),
7402 TEST(fuzz763_27), 7414 TEST(fuzz763_27),
7403 TEST(fuzz763_26), 7415 TEST(fuzz763_26),
7404 TEST(fuzz763_25), 7416 TEST(fuzz763_25),
7405 TEST(fuzz763_24), 7417 TEST(fuzz763_24),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
7459 static struct TestDesc repTests[] = { 7471 static struct TestDesc repTests[] = {
7460 TEST(loops44i), 7472 TEST(loops44i),
7461 TEST(loops45i), 7473 TEST(loops45i),
7462 TEST(loops46i), 7474 TEST(loops46i),
7463 }; 7475 };
7464 7476
7465 DEF_TEST(PathOpsRepOp, reporter) { 7477 DEF_TEST(PathOpsRepOp, reporter) {
7466 for (int index = 0; index < 2; ++index) 7478 for (int index = 0; index < 2; ++index)
7467 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false); 7479 RunTestSet(reporter, repTests, SK_ARRAY_COUNT(repTests), nullptr, nullptr, n ullptr, false);
7468 } 7480 }
OLDNEW
« no previous file with comments | « tests/PathOpsExtendedTest.cpp ('k') | tests/PathOpsSimplifyFailTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698